/* ═══════════════════════════════════════════════════════════════════
   MEGA BRILHO — STYLES.CSS
   Reestruturado · Abril 2026
   ═══════════════════════════════════════════════════════════════════ */

/* ── Reset & Base ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --blue-dark: #1E184E;
    --blue-mid: #2d2570;
    --blue-light: #3b329e;
    --red: #AB1715;
    --red-hover: #8f1210;
    --gray-bg: #f0f2f5;
    --white: #ffffff;
    --shadow-sm: 0 2px 8px rgba(0,0,0,.06);
    --shadow-md: 0 8px 24px rgba(0,0,0,.09);
    --shadow-lg: 0 16px 48px rgba(0,0,0,.12);
    --radius: 1rem;
    --radius-sm: .625rem;
    --transition: .3s cubic-bezier(.4,0,.2,1);
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--gray-bg);
    color: #333;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
button { cursor: pointer; font-family: inherit; }

/* ── Utility classes ──────────────────────────────────────────────── */
.brand-dark-blue { color: var(--blue-dark); }
.bg-brand-dark-blue { background-color: var(--blue-dark); }
.brand-red { color: var(--red); }
.bg-brand-red { background-color: var(--red); }
.text-shadow { text-shadow: 1px 1px 4px rgba(0,0,0,.5); }

/* ── Header ───────────────────────────────────────────────────────── */
.site-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: var(--white);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition);
}
.site-header.scrolled { box-shadow: var(--shadow-md); }

.header-banner-video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.nav-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5rem;
}
.nav-logo { height: 3.5rem; }
@media (min-width: 768px) { .nav-logo { height: 4.5rem; } }

.nav-links { display: none; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .nav-links { display: flex; } }

.nav-links a {
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #666;
    letter-spacing: .03em;
    transition: color var(--transition);
}
.nav-links a:hover { color: var(--blue-dark); }

.mobile-toggle {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    color: #555;
}
@media (min-width: 768px) { .mobile-toggle { display: none; } }

.mobile-menu {
    display: none;
    flex-direction: column;
    background: var(--white);
    border-top: 1px solid #e5e7eb;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
    padding: .875rem 1.5rem;
    font-size: .875rem;
    font-weight: 600;
    color: #444;
    border-bottom: 1px solid #f3f4f6;
    transition: background var(--transition);
}
.mobile-menu a:hover { background: #f9fafb; }

/* ── Hero Banner de Campanha ──────────────────────────────────────── */
.hero-campaign {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    display: block;
}
.hero-campaign img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .6s ease;
}
.hero-campaign:hover img { transform: scale(1.015); }

/* ── Quick Access (3 cards) ───────────────────────────────────────── */
.quick-access {
    max-width: 1280px;
    margin: -3rem auto 0;
    padding: 0 1.5rem;
    position: relative;
    z-index: 10;
}
@media (max-width: 767px) { .quick-access { margin-top: -1.5rem; } }

.quick-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 768px) { .quick-grid { grid-template-columns: repeat(3, 1fr); } }

.quick-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition);
    display: flex;
    flex-direction: column;
    position: relative;
}
.quick-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.quick-card--red { border-top: 4px solid var(--red); }
.quick-card--blue { border-top: 4px solid var(--blue-dark); }
.quick-card--gold { border-top: 4px solid #d4a017; }

.quick-card-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: .3rem .65rem;
    border-radius: 999px;
    color: var(--white);
    animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow {
    0%, 100% { opacity: 1; }
    50% { opacity: .7; }
}

.quick-card-body { padding: 1.75rem 1.5rem; flex: 1; }
.quick-card-icon {
    width: 3rem; height: 3rem;
    border-radius: .75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.quick-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: .5rem;
}
.quick-card-desc {
    font-size: .85rem;
    color: #666;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.quick-card-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 700;
    padding: .75rem 1.5rem;
    border-radius: var(--radius-sm);
    border: none;
    color: var(--white);
    transition: all var(--transition);
}
.quick-card-btn:hover { filter: brightness(1.1); transform: translateX(3px); }
.quick-card-btn svg { width: 1rem; height: 1rem; transition: transform var(--transition); }
.quick-card:hover .quick-card-btn svg { transform: translateX(4px); }

/* ── Seção genérica ───────────────────────────────────────────────── */
.section { padding: 4rem 0; }
.section-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
.section-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--blue-dark);
    text-align: center;
    margin-bottom: .5rem;
}
.section-subtitle {
    text-align: center;
    color: #777;
    font-size: .95rem;
    margin-bottom: 2.5rem;
}

/* ── Cards Varejo / Empresas ──────────────────────────────────────── */
.duo-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) { .duo-grid { grid-template-columns: 1fr 1fr; } }

.duo-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition);
    display: flex;
    flex-direction: column;
}
.duo-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}
.duo-card-header {
    padding: 1.5rem;
    border-bottom: 1px solid #eee;
    text-align: center;
}
.duo-card-header img { height: 3.5rem; margin: 0 auto .75rem; }
.duo-card-header p { font-size: .85rem; color: #666; }

.video-container {
    position: relative;
    width: 100%;
    height: 15rem;
    overflow: hidden;
    flex-grow: 1;
}
.video-bg {
    position: absolute;
    top: 50%; left: 50%;
    width: 100%; height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.65), transparent 60%);
    z-index: 1;
}
.video-content {
    position: relative;
    z-index: 2;
    padding: 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    color: var(--white);
}
.video-content h2 { font-size: 1.35rem; font-weight: 700; text-shadow: 1px 1px 3px rgba(0,0,0,.5); }
.video-cta {
    margin-top: 1rem;
    display: inline-block;
    font-weight: 700;
    padding: .75rem 2rem;
    border-radius: var(--radius-sm);
    color: var(--white);
    font-size: .9rem;
    transition: filter var(--transition);
}
.video-cta:hover { filter: brightness(1.15); }

/* ── CADASTRO CLIENTE MEGA ────────────────────────────────────────── */
.cadastro-section {
    background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue-mid) 50%, var(--blue-light) 100%);
    position: relative;
    overflow: hidden;
}
.cadastro-section::before {
    content: '';
    position: absolute;
    top: -50%; right: -20%;
    width: 60%; height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,.04) 0%, transparent 70%);
    pointer-events: none;
}

.cadastro-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 1024px) { .cadastro-grid { grid-template-columns: 1fr 1.1fr; } }

.cadastro-info { color: var(--white); }
.cadastro-info h2 {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 1rem;
}
.cadastro-info h2 span { color: #ff6b6b; }
.cadastro-info p { color: rgba(255,255,255,.75); font-size: .95rem; margin-bottom: 1.5rem; }

.cadastro-perks {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.cadastro-perks li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .8rem;
    font-weight: 600;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    padding: .5rem 1rem;
    border-radius: 999px;
    color: var(--white);
}
.cadastro-perks li svg { width: 1rem; height: 1rem; color: #ff6b6b; flex-shrink: 0; }

.cadastro-form-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding: 2rem;
    position: relative;
    z-index: 2;
}
.cadastro-form-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: .25rem;
}
.cadastro-form-sub {
    font-size: .8rem;
    color: #888;
    margin-bottom: 1.5rem;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .875rem;
}
@media (min-width: 640px) { .form-grid { grid-template-columns: 1fr 1fr; } }

.form-group { display: flex; flex-direction: column; }
.form-group.full { grid-column: 1 / -1; }
.form-group label {
    font-size: .75rem;
    font-weight: 600;
    color: #555;
    margin-bottom: .3rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.form-group input {
    padding: .7rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: .5rem;
    font-size: .9rem;
    font-family: inherit;
    transition: border-color var(--transition), box-shadow var(--transition);
    outline: none;
    width: 100%;
}
.form-group input:focus {
    border-color: var(--blue-dark);
    box-shadow: 0 0 0 3px rgba(30,24,78,.1);
}
.form-group input::placeholder { color: #bbb; }

.cadastro-submit {
    width: 100%;
    margin-top: 1rem;
    padding: 1rem;
    background: var(--red);
    color: var(--white);
    font-size: 1rem;
    font-weight: 700;
    border: none;
    border-radius: var(--radius-sm);
    transition: background var(--transition), transform var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}
.cadastro-submit:hover { background: var(--red-hover); transform: translateY(-2px); }
.cadastro-submit:active { transform: translateY(0); }

.cadastro-submit.loading {
    pointer-events: none;
    opacity: .7;
}

.form-success {
    display: none;
    text-align: center;
    padding: 2rem 1rem;
}
.form-success.show { display: block; }
.form-success svg { width: 4rem; height: 4rem; color: #22c55e; margin: 0 auto 1rem; }
.form-success h3 { font-size: 1.25rem; font-weight: 700; color: var(--blue-dark); margin-bottom: .5rem; }
.form-success p { color: #666; font-size: .9rem; }

/* ── APAIXONADOS POR LIMPEZA ──────────────────────────────────────── */
.apaixonados-hero {
    background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue-mid) 50%, var(--blue-light) 100%);
    padding: 3rem 1.5rem;
}
@media (min-width: 768px) { .apaixonados-hero { padding: 3.5rem 2.5rem; } }

.apaixonados-inner {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
}
@media (min-width: 768px) {
    .apaixonados-inner { flex-direction: row; text-align: left; gap: 2.5rem; }
}

.apaixonados-logo {
    height: 7rem;
    flex-shrink: 0;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
@media (min-width: 768px) { .apaixonados-logo { height: 9rem; } }

.apaixonados-tag {
    display: inline-block;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: var(--white);
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: .35rem .75rem;
    border-radius: 999px;
    margin-bottom: .75rem;
}
.apaixonados-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: .5rem;
}
.apaixonados-title span { color: #ff8a8a; }
.apaixonados-desc {
    color: rgba(255,255,255,.72);
    font-size: .875rem;
    line-height: 1.6;
    max-width: 550px;
}

.apaixonados-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1rem;
    justify-content: center;
}
@media (min-width: 768px) { .apaixonados-badges { justify-content: flex-start; } }

.apaixonados-badge {
    display: flex;
    align-items: center;
    gap: .4rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    color: var(--white);
    font-size: .75rem;
    font-weight: 500;
    padding: .4rem .9rem;
    border-radius: 999px;
}
.apaixonados-badge svg { width: .875rem; height: .875rem; color: #ff8a8a; }

/* Barra de próximos treinamentos */
.treinamentos-bar {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    align-items: center;
}
@media (min-width: 640px) {
    .treinamentos-bar { flex-direction: row; justify-content: space-between; }
}

.treinamentos-status {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.pulse-dot {
    width: .5rem; height: .5rem;
    background: #22c55e;
    border-radius: 50%;
    animation: pulse-ring 2s ease-in-out infinite;
}
@keyframes pulse-ring {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(1.3); }
}

.treinamentos-bar .status-label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #16a34a;
}
.treinamentos-bar .status-title {
    font-size: .875rem;
    font-weight: 700;
    color: var(--blue-dark);
}

.btn-ver-todos {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--red);
    color: var(--white);
    font-size: .8rem;
    font-weight: 700;
    padding: .65rem 1.25rem;
    border-radius: var(--radius-sm);
    border: none;
    transition: background var(--transition);
}
.btn-ver-todos:hover { background: var(--red-hover); }
.btn-ver-todos svg { width: 1rem; height: 1rem; }

/* Grid de treinamentos */
.treinamentos-grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .treinamentos-grid { grid-template-columns: 1fr 1fr; } }

.treinamento-card {
    display: block;
    overflow: hidden;
    border-bottom: 1px solid #f1f5f9;
    transition: background var(--transition);
}
.treinamento-card:hover { background: #fafbfc; }

.treinamento-card img {
    width: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.treinamento-card:hover img { transform: scale(1.05); }
.treinamento-card .img-wrap { overflow: hidden; }

.treinamento-card .card-body { padding: 1.5rem; }

.treinamento-badges {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: .75rem;
}
.treinamento-badges .marca {
    font-size: .65rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.treinamento-badges .dot { color: #cbd5e1; }
.treinamento-badges .badge {
    font-size: .7rem;
    font-weight: 700;
    padding: .2rem .55rem;
    border-radius: 999px;
}
.badge-date { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.badge-free { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.badge-cert { background: #fffbeb; color: #a16207; border: 1px solid #fde68a; }
.badge-done { background: #64748b; color: var(--white); }

.treinamento-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: .25rem;
}
.treinamento-card .meta { font-size: .8rem; color: #64748b; margin-bottom: 1rem; }

.treinamento-cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--red);
    transition: gap var(--transition);
}
.treinamento-card:hover .treinamento-cta { gap: .9rem; }
.treinamento-cta svg { width: 1rem; height: 1rem; }

.img-grayscale { filter: grayscale(1); opacity: .8; }

/* ── Quem Somos + Reviews ─────────────────────────────────────────── */
.about-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
}
@media (min-width: 1024px) { .about-grid { grid-template-columns: 1fr 1fr; } }

.about-text h2 {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--blue-dark);
    margin-bottom: .75rem;
}
.about-text p { color: #555; font-size: .9rem; line-height: 1.7; }

.review-card {
    display: flex;
    align-items: flex-start;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--radius-sm);
    transition: box-shadow var(--transition);
}
.review-card:hover { box-shadow: var(--shadow-sm); }
.review-card img { width: 5rem; height: 5rem; object-fit: cover; border-radius: .5rem; flex-shrink: 0; }
.review-card-body { margin-left: 1rem; font-size: .8rem; }
.review-card-body h3 { font-weight: 700; color: #1f2937; margin-bottom: .15rem; }
.review-stars { color: #eab308; display: flex; align-items: center; gap: .15rem; font-size: .75rem; margin-bottom: .25rem; }
.review-stars svg { width: 1rem; height: 1rem; fill: #eab308; }

/* ── Mapas ─────────────────────────────────────────────────────────── */
.maps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) { .maps-grid { grid-template-columns: repeat(3, 1fr); } }

.map-item { text-align: center; }
.map-item h3 { font-size: 1rem; font-weight: 700; color: #1f2937; margin-bottom: 1rem; }
.map-item iframe { border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }

/* ── Cidades CNPJ ─────────────────────────────────────────────────── */
.cidades-list {
    font-size: 1.05rem;
    color: #555;
    max-width: 800px;
    margin: 0 auto;
    line-height: 2;
}

/* ── Footer ───────────────────────────────────────────────────────── */
.site-footer {
    background: var(--blue-dark);
    color: var(--white);
    margin-top: 4rem;
}
.footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
}
@media (min-width: 768px) {
    .footer-grid { grid-template-columns: repeat(3, 1fr); text-align: left; }
}
.footer-grid h3 {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .8rem;
    margin-bottom: .75rem;
}
.footer-grid .phone { font-size: 1.5rem; font-weight: 700; }
.footer-grid .hours { font-size: .8rem; color: #94a3b8; margin-top: .25rem; }

.footer-btn {
    display: block;
    width: 100%;
    max-width: 280px;
    text-align: center;
    background: var(--red);
    color: var(--white);
    font-weight: 700;
    padding: .65rem 1.5rem;
    border-radius: var(--radius-sm);
    transition: opacity var(--transition);
    font-size: .85rem;
    margin: 0 auto;
}
@media (min-width: 768px) { .footer-btn { margin: 0; } }
.footer-btn:hover { opacity: .9; }

.footer-addresses { font-size: .8rem; color: #94a3b8; }
.footer-addresses strong { color: #cbd5e1; }
.footer-addresses > div + div { margin-top: 1rem; }

.footer-bottom {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,.15);
    text-align: center;
    font-size: .7rem;
    color: #64748b;
}

/* ── Card wrapper genérico ────────────────────────────────────────── */
.card-white {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}
.card-white-padded {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    padding: 2.5rem;
}

/* ── Scroll reveal ────────────────────────────────────────────────── */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .7s ease, transform .7s ease;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Confetti/particles no hero do cadastro ───────────────────────── */
.confetti-particle {
    position: absolute;
    width: 8px; height: 8px;
    border-radius: 50%;
    opacity: 0;
    animation: float-up 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes float-up {
    0% { opacity: 0; transform: translateY(0) rotate(0deg); }
    20% { opacity: .6; }
    80% { opacity: .3; }
    100% { opacity: 0; transform: translateY(-180px) rotate(360deg); }
}

/* ══════════════════════════════════════════════════════════════════
   MEGA BRILHO — ADIÇÕES REBRANDING 2026 v2
   ══════════════════════════════════════════════════════════════════ */

/* ─── FONTE GATE ──────────────────────────────────────────────── */
@font-face {
  font-family: 'Gate';
  src: url('/fonts/gate-regular.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}

/* ─── VARIÁVEIS NOVA IDENTIDADE ───────────────────────────────── */
:root {
  --azul-mega:      #150577;
  --azul-deep:      #0d0356;
  --azul-mid-new:   #1d0b9e;
  --azul-hover:     #1a0890;
  --vermelho-mega:  #AB1715;
  --vermelho-dark:  #8d1210;
  --preto:          #0A0A0A;
  --cinza-escuro:   #4A4A4A;
  --cinza-medio:    #7A7A7A;
  --cinza-claro:    #D9D9D9;
  --cinza-bg:       #f4f6f9;
  --branco:         #FFFFFF;
  --font-gate:      'Gate', 'Comfortaa', sans-serif;
  --font-comfortaa: 'Comfortaa', sans-serif;
  --font-poppins:   'Poppins', sans-serif;
  --nav-h:          80px;
  --container:      1280px;
  --px:             clamp(16px, 4vw, 48px);
  --section-py:     clamp(64px, 8vw, 104px);
  --shadow-blue:    0 20px 60px rgba(21,5,119,.15);
  --shadow-red:     0 20px 60px rgba(171,23,21,.2);
  --ease:           cubic-bezier(.4,0,.2,1);
  --ease-spring:    cubic-bezier(.34,1.56,.64,1);
}

/* ─── FONT GOOGLE ─────────────────────────────────────────────── */
body { font-family: 'Poppins', sans-serif; }

/* ─── UTILITÁRIOS ─────────────────────────────────────────────── */
.container { max-width: var(--container); margin: 0 auto; padding-left: var(--px); padding-right: var(--px); }
.text-center { text-align: center; }
.nav-logo-img { height: 52px; display: block; }
.mt-4 { margin-top: 4px; } .mt-8 { margin-top: 8px; } .mt-14 { margin-top: 14px; }
.mt-16 { margin-top: 16px; } .mt-20 { margin-top: 20px; } .mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; } .mt-40 { margin-top: 40px; } .mt-52 { margin-top: 52px; }

/* ─── BOTÕES ──────────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-poppins); font-size:14px; font-weight:700; letter-spacing:.04em; padding:14px 28px; border-radius:8px; border:2px solid transparent; cursor:pointer; transition:all .3s var(--ease); text-decoration:none; white-space:nowrap; }
.btn svg,.btn i[data-lucide] { width:18px; height:18px; transition:transform .3s var(--ease); }
.btn:hover svg,.btn:hover i[data-lucide] { transform:translateX(4px); }
.btn-red  { background:var(--vermelho-mega); color:#fff; border-color:var(--vermelho-mega); }
.btn-red:hover  { background:var(--vermelho-dark); border-color:var(--vermelho-dark); transform:translateY(-2px); box-shadow:var(--shadow-red); }
.btn-blue { background:var(--azul-mega); color:#fff; border-color:var(--azul-mega); }
.btn-blue:hover { background:var(--azul-hover); transform:translateY(-2px); box-shadow:var(--shadow-blue); }
.btn-outline-white { background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn-outline-white:hover { background:rgba(255,255,255,.1); border-color:#fff; transform:translateY(-2px); }
.btn-outline-blue  { background:transparent; color:var(--azul-mega); border-color:var(--azul-mega); }
.btn-outline-blue:hover { background:var(--azul-mega); color:#fff; transform:translateY(-2px); }
.btn-lg { font-size:15px !important; padding:16px 36px !important; }

/* ─── NAVEGAÇÃO ───────────────────────────────────────────────── */
.site-nav { position:fixed; top:0; left:0; right:0; z-index:100; height:var(--nav-h); background:transparent; transition:background .4s var(--ease),box-shadow .4s var(--ease); }
.site-nav.scrolled { background:rgba(255,255,255,.97); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 2px 24px rgba(21,5,119,.08); }
.nav-inner { max-width:var(--container); margin:0 auto; padding:0 var(--px); height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nav-logo { display:flex; align-items:center; }
.nav-logo img { height:52px; transition:all .3s; }
.nav-links { display:none; align-items:center; gap:28px; list-style:none; }
@media (min-width:1024px){ .nav-links { display:flex; } }
.nav-links a { font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.8); position:relative; transition:color .3s; padding-bottom:4px; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--vermelho-mega); transition:width .3s var(--ease); }
.nav-links a:hover::after { width:100%; }
.nav-links a:hover { color:#fff; }
.site-nav.scrolled .nav-links a { color:var(--cinza-escuro); }
.site-nav.scrolled .nav-links a:hover { color:var(--azul-mega); }
.nav-colaborador { display:none; align-items:center; gap:8px; background:var(--vermelho-mega); color:#fff; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:10px 20px; border-radius:8px; transition:all .3s var(--ease); }
@media (min-width:768px){ .nav-colaborador { display:inline-flex; } }
.nav-colaborador:hover { background:var(--vermelho-dark); transform:translateY(-1px); }
.nav-colaborador i[data-lucide] { width:15px; height:15px; }
.nav-hamburger { display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
@media (min-width:1024px){ .nav-hamburger { display:none; } }
.nav-hamburger span { display:block; width:24px; height:2px; background:rgba(255,255,255,.9); border-radius:2px; transition:all .3s; }
.site-nav.scrolled .nav-hamburger span { background:var(--azul-mega); }
.nav-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
.nav-mobile { display:none; position:fixed; top:var(--nav-h); left:0; right:0; background:#fff; padding:8px 0 16px; box-shadow:0 8px 32px rgba(0,0,0,.12); border-top:3px solid var(--vermelho-mega); z-index:99; }
.nav-mobile.open { display:block; }
.nav-mobile a { display:block; padding:13px 24px; font-size:13px; font-weight:600; color:var(--cinza-escuro); letter-spacing:.04em; text-transform:uppercase; border-bottom:1px solid #f3f4f6; transition:all .2s; }
.nav-mobile a:hover { background:var(--cinza-bg); color:var(--azul-mega); }
.nav-mobile .mobile-colaborador { margin:12px 24px 0; display:flex; align-items:center; justify-content:center; gap:8px; background:var(--vermelho-mega); color:#fff; padding:12px; border-radius:8px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.nav-mobile .mobile-colaborador:hover { background:var(--vermelho-dark); }

/* Subpage nav */
.site-nav.subpage-nav { background:rgba(255,255,255,.97); backdrop-filter:blur(14px); box-shadow:0 2px 24px rgba(21,5,119,.08); }
.site-nav.subpage-nav .nav-links a { color:var(--cinza-escuro); }
.site-nav.subpage-nav .nav-links a:hover { color:var(--azul-mega); }
.site-nav.subpage-nav .nav-hamburger span { background:var(--azul-mega); }

/* ─── HERO ────────────────────────────────────────────────────── */
.hero { min-height:100vh; position:relative; overflow:hidden; display:flex; align-items:stretch; padding-top:var(--nav-h); }
.hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 80% 80% at 85% -5%, rgba(171,23,21,.28) 0%, transparent 55%),radial-gradient(ellipse 60% 70% at 10% 105%, rgba(13,3,86,.95) 0%, transparent 65%),linear-gradient(155deg, #0a0245 0%, #150577 45%, #1a0b8a 100%); }
.hero-grid-overlay { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:80px 80px; pointer-events:none; }
.hero-orb  { position:absolute; width:700px; height:700px; border-radius:50%; right:-15%; top:-20%; background:radial-gradient(circle, rgba(21,5,119,.5) 0%, transparent 65%); pointer-events:none; animation:orbBreath 7s ease-in-out infinite; }
.hero-orb2 { position:absolute; width:400px; height:400px; border-radius:50%; left:30%; bottom:-15%; background:radial-gradient(circle, rgba(171,23,21,.12) 0%, transparent 70%); pointer-events:none; animation:orbBreath 5s ease-in-out 2s infinite; }
@keyframes orbBreath { 0%,100%{transform:scale(1);opacity:.6;} 50%{transform:scale(1.18);opacity:.4;} }
.hero-inner { position:relative; z-index:2; width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--px); display:grid; grid-template-columns:1fr; gap:32px; align-items:flex-end; padding-bottom:80px; }
@media (min-width:900px){ .hero-inner { grid-template-columns:1fr 460px; align-items:flex-end; min-height:calc(100vh - var(--nav-h)); padding-bottom:60px; } }
.hero-content { padding:clamp(36px,5vh,72px) 0; color:#fff; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(171,23,21,.22); border:1px solid rgba(171,23,21,.45); color:#fff; font-family:var(--font-comfortaa); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:8px 16px; border-radius:999px; margin-bottom:24px; animation:fadeSlideUp .6s var(--ease) .1s both; }
.hero-badge-dot { width:7px; height:7px; background:var(--vermelho-mega); border-radius:50%; animation:pulseDot 2s ease infinite; }
@keyframes pulseDot { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.6;transform:scale(1.5);} }
.hero-title { font-family:var(--font-gate); font-size:clamp(42px,6.5vw,84px); line-height:1.05; letter-spacing:-.01em; color:#fff; margin-bottom:24px; animation:fadeSlideRight .75s var(--ease) .3s both; }
.hero-title-line { display:block; }
.hero-title-accent { display:block; color:var(--vermelho-mega); position:relative; }
.hero-title-accent::after { content:''; position:absolute; bottom:-6px; left:0; width:60%; height:3px; background:var(--vermelho-mega); border-radius:2px; animation:lineExpand 1s var(--ease) 1.2s both; }
@keyframes lineExpand { from{width:0;} to{width:60%;} }
.hero-subtitle { font-size:clamp(15px,1.8vw,19px); color:rgba(255,255,255,.68); line-height:1.7; max-width:520px; margin-bottom:40px; animation:fadeSlideUp .65s var(--ease) .5s both; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px; animation:fadeSlideUp .65s var(--ease) .7s both; }
.hero-seal-row { display:flex; align-items:center; gap:16px; margin-top:4px; flex-wrap:wrap; animation:fadeSlideUp .65s var(--ease) .9s both; }
.hero-seal-img { height:64px; filter:drop-shadow(0 4px 12px rgba(0,0,0,.4)); }
.hero-secondary { display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.5); font-size:13px; font-weight:500; flex-wrap:wrap; }
.hero-secondary a { color:rgba(255,255,255,.75); display:inline-flex; align-items:center; gap:6px; transition:color .3s; }
.hero-secondary a:hover { color:#fff; }
.hero-secondary a i[data-lucide] { width:15px; height:15px; }
.hero-secondary .sep { opacity:.25; }
.hero-mascot-wrap { display:flex; justify-content:center; align-items:flex-end; position:relative; animation:fadeSlideLeft .85s var(--ease-spring) .2s both; }
@media (min-width:900px){ .hero-mascot-wrap { justify-content:flex-end; } }
.hero-mascot-img { height:min(68vh,560px); width:auto; object-fit:contain; filter:drop-shadow(0 40px 60px rgba(0,0,0,.45)); position:relative; z-index:2; }
@media (min-width:900px){ .hero-mascot-img { height:min(88vh,700px); animation:mascotFloat 4.5s ease-in-out 1.5s infinite; } }
@keyframes mascotFloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);} }
.hero-wave { position:absolute; bottom:-2px; left:0; right:0; z-index:4; line-height:0; pointer-events:none; }
.hero-wave svg { width:100%; height:auto; display:block; }

/* ─── KEYFRAMES GERAIS ────────────────────────────────────────── */
@keyframes fadeSlideUp   { from{opacity:0;transform:translateY(32px);} to{opacity:1;transform:translateY(0);} }
@keyframes fadeSlideRight{ from{opacity:0;transform:translateX(-44px);} to{opacity:1;transform:translateX(0);} }
@keyframes fadeSlideLeft { from{opacity:0;transform:translateX(44px);}  to{opacity:1;transform:translateX(0);} }
@keyframes spin          { to{transform:rotate(360deg);} }

/* ─── STATS STRIP ─────────────────────────────────────────────── */
.stats-strip { background:var(--azul-deep); padding:52px 0; position:relative; overflow:hidden; }
.stats-strip::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; }
.stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:40px; text-align:center; }
@media (min-width:640px){ .stats-grid { grid-template-columns:repeat(4,1fr); gap:0; } }
.stat-item { position:relative; color:#fff; padding:0 20px; }
.stat-item+.stat-item::before { content:''; position:absolute; left:0; top:10%; bottom:10%; width:1px; background:rgba(255,255,255,.1); display:none; }
@media (min-width:640px){ .stat-item+.stat-item::before { display:block; } }
.stat-value-wrap { display:flex; align-items:baseline; justify-content:center; gap:2px; }
.stat-number { font-family:var(--font-gate); font-size:clamp(40px,5vw,68px); line-height:1; color:#fff; letter-spacing:-.02em; }
.stat-suffix { font-family:var(--font-gate); font-size:clamp(22px,2.8vw,38px); color:var(--vermelho-mega); line-height:1; }
.stat-label  { display:block; font-family:var(--font-comfortaa); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:8px; }

/* ─── SECTIONS GENÉRICAS ──────────────────────────────────────── */
.mb-section  { padding:var(--section-py) 0; }
.mb-section-dark  { background:var(--azul-mega); }
.mb-section-deep  { background:var(--preto); }
.mb-section-light { background:var(--cinza-bg); }
.mb-section-white { background:var(--branco); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-comfortaa); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--vermelho-mega); margin-bottom:12px; }
.eyebrow::before { content:''; display:block; width:22px; height:2px; background:currentColor; border-radius:2px; flex-shrink:0; }
.eyebrow-white    { color:rgba(255,255,255,.65); }
.eyebrow-pink     { color:rgba(255,180,180,.8); }
.eyebrow-centered { text-align:center; justify-content:center; margin-bottom:24px; }
.section-h  { font-family:var(--font-gate); font-size:clamp(30px,4vw,54px); line-height:1.1; letter-spacing:-.01em; }
.section-h-dark  { color:var(--azul-mega); }
.section-h-white { color:#fff; }
.section-h-black { color:var(--preto); }
.section-h-xl    { font-size:clamp(26px,3.5vw,44px); margin-top:8px; }
.section-h-cta   { font-size:clamp(26px,3vw,40px); margin-top:8px; }
.section-p  { font-size:clamp(14px,1.5vw,17px); line-height:1.75; color:var(--cinza-escuro); max-width:560px; margin-top:14px; }
.section-p-white  { color:rgba(255,255,255,.68); }
.section-p-center { margin:14px auto 0; text-align:center; }
.section-p-full   { max-width:100%; margin-bottom:0; }
.section-p-full-mt{ max-width:100%; margin-top:16px; }
.text-white-strong strong { color:#fff; }

/* Section intro */
.section-intro    { max-width:640px; margin:0 auto 48px; text-align:center; }
.section-intro-lg { max-width:700px; margin:0 auto; text-align:center; }
.section-cta-center { text-align:center; margin-top:40px; }

/* Btn groups */
.btn-group      { display:flex; gap:12px; flex-wrap:wrap; }
.btn-group-mt   { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.btn-group-mt10 { display:flex; gap:10px; flex-wrap:wrap; margin-top:32px; }

/* ─── QUEM SOMOS ──────────────────────────────────────────────── */
.qs-grid { display:grid; grid-template-columns:1fr; gap:64px; align-items:center; }
@media (min-width:1024px){ .qs-grid { grid-template-columns:1fr 1fr; } }
.qs-visual { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/3; background:linear-gradient(135deg, var(--azul-mega) 0%, var(--azul-mid-new) 100%); display:flex; align-items:flex-end; justify-content:flex-end; }
.qs-mascot { height:92%; object-fit:contain; margin-right:-4%; filter:drop-shadow(0 16px 40px rgba(0,0,0,.3)); }
.qs-card { position:absolute; bottom:24px; left:24px; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-radius:14px; padding:16px 20px; box-shadow:0 8px 32px rgba(0,0,0,.12); }
.qs-card-num { font-family:var(--font-gate); font-size:36px; color:var(--azul-mega); line-height:1; }
.qs-card-label { font-family:var(--font-comfortaa); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--vermelho-mega); margin-top:2px; }
.qs-blockquote { background:var(--cinza-bg); border-left:3px solid var(--vermelho-mega); padding:20px 24px; border-radius:0 14px 14px 0; margin:24px 0 32px; }
.qs-blockquote p { font-size:15px; font-style:italic; color:var(--cinza-escuro); line-height:1.65; }

/* ─── EMPRESAS ────────────────────────────────────────────────── */
.empresas-wrap { display:grid; grid-template-columns:1fr; gap:60px; align-items:center; }
.empresas-cta  { text-align:center; }
.servicos-grid { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:640px){ .servicos-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:1200px){ .servicos-grid { grid-template-columns:repeat(3,1fr); } }
.servico-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:28px 24px; transition:all .35s var(--ease); }
.servico-card:hover { background:rgba(255,255,255,.11); transform:translateY(-5px); }
.servico-icon { width:50px; height:50px; background:rgba(171,23,21,.2); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:#ff8a8a; }
.servico-icon i[data-lucide] { width:24px; height:24px; }
.servico-card h3 { font-family:var(--font-comfortaa); font-size:17px; font-weight:700; color:#fff; margin-bottom:8px; }
.servico-card p  { font-size:13px; color:rgba(255,255,255,.58); line-height:1.65; }

/* ─── VAREJO ──────────────────────────────────────────────────── */
.varejo-split { display:grid; grid-template-columns:1fr; gap:64px; align-items:center; }
@media (min-width:1024px){ .varejo-split { grid-template-columns:1fr 1fr; } }
.varejo-features { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.vf-card { background:#fff; border-radius:16px; padding:22px 18px; box-shadow:0 3px 16px rgba(21,5,119,.05); border-bottom:3px solid transparent; transition:all .3s var(--ease); }
.vf-card:hover { border-bottom-color:var(--vermelho-mega); transform:translateY(-4px); box-shadow:0 10px 32px rgba(21,5,119,.09); }
.vf-card-icon { width:44px; height:44px; background:var(--cinza-bg); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; color:var(--azul-mega); transition:all .3s; }
.vf-card:hover .vf-card-icon { background:var(--vermelho-mega); color:#fff; }
.vf-card-icon i[data-lucide] { width:22px; height:22px; }
.vf-card h4 { font-family:var(--font-comfortaa); font-size:14px; font-weight:700; color:var(--azul-mega); margin-bottom:5px; }
.vf-card p  { font-size:12px; color:var(--cinza-medio); line-height:1.55; }
.varejo-cta-box { background:linear-gradient(135deg, var(--azul-mega) 0%, var(--azul-mid-new) 100%); border-radius:24px; padding:clamp(28px,4vw,44px); color:#fff; position:relative; overflow:hidden; }
.varejo-cta-box::before { content:''; position:absolute; bottom:-30%; right:-15%; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.05); }
.varejo-cta-mascot { height:220px; margin:0 auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.25)); }
.varejo-cta-box h3 { font-family:var(--font-gate); font-size:clamp(22px,3vw,34px); color:#fff; margin-bottom:10px; }
.varejo-cta-box p  { font-size:14px; color:rgba(255,255,255,.68); margin-bottom:24px; line-height:1.65; }

/* ─── CLIENTE MEGA ────────────────────────────────────────────── */
.cm-wrap { background:linear-gradient(135deg, var(--azul-deep) 0%, var(--azul-mega) 55%, #1e0ca0 100%); border-radius:28px; overflow:hidden; position:relative; }
.cm-wrap::before { content:''; position:absolute; top:-40%; right:-10%; width:500px; height:500px; background:radial-gradient(circle, rgba(171,23,21,.18) 0%, transparent 70%); pointer-events:none; }
.cm-grid { display:grid; grid-template-columns:1fr; }
@media (min-width:1024px){ .cm-grid { grid-template-columns:1fr 1.15fr; } }
.cm-info { padding:clamp(32px,5vw,56px); color:#fff; }
.cm-perks { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:500px){ .cm-perks { grid-template-columns:1fr; } }
.perk-item { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); padding:12px 14px; border-radius:12px; font-size:13px; font-weight:600; color:#fff; }
.perk-item i[data-lucide] { width:17px; height:17px; color:#ff8a8a; flex-shrink:0; }
.cm-programs-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
@media (max-width:380px){ .cm-programs-grid { grid-template-columns:1fr; } }
.cm-program-mini  { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:14px 16px; }
.cm-program-title { font-family:var(--font-comfortaa); font-size:14px; font-weight:700; color:#fff; margin-bottom:4px; }
.cm-program-text  { font-size:12px; color:rgba(255,255,255,.55); line-height:1.5; margin:0; }
.cm-form-wrap { background:#fff; padding:clamp(28px,4vw,48px); display:flex; flex-direction:column; justify-content:center; }
.form-heading { font-family:var(--font-comfortaa); font-size:20px; font-weight:700; color:var(--azul-mega); margin-bottom:4px; }
.form-sub      { font-size:13px; color:var(--cinza-medio); margin-bottom:24px; }
.f-stack { display:flex; flex-direction:column; gap:12px; }
.f-field { display:flex; flex-direction:column; gap:5px; }
.f-field label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--cinza-escuro); }
.f-field input { padding:12px 14px; border:2px solid var(--cinza-claro); border-radius:8px; font-family:var(--font-poppins); font-size:14px; outline:none; transition:border-color .3s,box-shadow .3s; width:100%; }
.f-field input:focus { border-color:var(--azul-mega); box-shadow:0 0 0 3px rgba(21,5,119,.1); }
.f-field input::placeholder { color:#bbb; }
.btn-cadastrar { width:100%; padding:15px; background:var(--azul-mega); color:#fff; border:none; border-radius:8px; font-family:var(--font-poppins); font-size:15px; font-weight:700; cursor:pointer; transition:all .3s var(--ease); display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-cadastrar:hover { background:var(--azul-hover); transform:translateY(-2px); box-shadow:var(--shadow-blue); }
.btn-cadastrar i[data-lucide] { width:18px; height:18px; }
.cm-legal { font-size:11px; color:#aaa; text-align:center; line-height:1.5; margin:0; }
.form-ok { display:none; text-align:center; padding:32px 16px; }
.form-ok.show { display:block; }
.form-ok-icon { width:64px; height:64px; background:#dcfce7; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:#16a34a; }
.form-ok-icon i[data-lucide] { width:30px; height:30px; }
.form-ok h3 { font-family:var(--font-comfortaa); font-size:20px; color:var(--azul-mega); margin-bottom:8px; }
.form-ok p  { font-size:14px; color:var(--cinza-medio); }

/* ─── TIMELINE ────────────────────────────────────────────────── */
.timeline-intro { text-align:center; max-width:680px; margin:0 auto 56px; }
.timeline-track { display:grid; grid-template-columns:1fr; gap:32px; position:relative; }
@media (min-width:768px){ .timeline-track { grid-template-columns:repeat(5,1fr); gap:0; } .timeline-track::before { content:''; position:absolute; top:48px; left:10%; right:10%; height:2px; background:rgba(255,255,255,.1); } }
.tl-item { text-align:center; position:relative; }
@media (min-width:768px){ .tl-item:nth-child(even){ padding-top:128px; } }
.tl-dot { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; z-index:1; position:relative; transition:all .3s var(--ease); border:3px solid; }
.tl-dot.tl-dot-blue { background:var(--azul-mega); border-color:#fff; color:#fff; }
.tl-dot.tl-dot-red  { background:var(--vermelho-mega); border-color:#fff; color:#fff; }
.tl-dot i[data-lucide] { width:20px; height:20px; }
.tl-item:hover .tl-dot { transform:scale(1.12); }
.tl-year  { font-family:var(--font-gate); font-size:22px; color:var(--vermelho-mega); margin-bottom:6px; }
.tl-title { font-family:var(--font-comfortaa); font-size:13px; font-weight:700; color:#fff; margin-bottom:5px; }
.tl-desc  { font-size:11px; color:rgba(255,255,255,.45); line-height:1.5; padding:0 8px; }
.tl-desc strong { color:#fff; }

/* Programas box */
.programs-box { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:clamp(24px,4vw,40px); }
.programs-4-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.program-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:18px 16px; }
.program-card-title { font-family:var(--font-comfortaa); font-size:14px; font-weight:700; color:#fff; margin-bottom:5px; }
.program-card-text  { font-size:12px; color:rgba(255,255,255,.48); line-height:1.6; margin:0; }

/* ─── APL ─────────────────────────────────────────────────────── */
.apl-grid { display:grid; grid-template-columns:1fr; gap:64px; align-items:center; }
@media (min-width:1024px){ .apl-grid { grid-template-columns:1fr 1fr; } }
.apl-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.apl-pill  { display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); padding:7px 14px; border-radius:999px; font-size:12px; font-weight:600; color:#fff; }
.apl-pill i[data-lucide] { width:13px; height:13px; color:#ff8a8a; }
.apl-card-box { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:32px; }
.apl-pulse-label { display:flex; align-items:center; gap:8px; font-family:var(--font-comfortaa); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.45); margin-bottom:16px; }
.apl-pulse-dot { width:8px; height:8px; background:#4ade80; border-radius:50%; animation:pulseDot 2s ease infinite; }
.trein-mini { display:flex; align-items:center; gap:14px; padding:14px 16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:12px; text-decoration:none; color:#fff; transition:all .3s; margin-bottom:10px; }
.trein-mini:hover { background:rgba(255,255,255,.13); transform:translateX(5px); }
.trein-mini-info { flex:1; }
.trein-mini-marca { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.4); }
.trein-mini-nome  { font-size:13px; font-weight:600; }
.trein-mini-data  { font-size:11px; color:rgba(255,255,255,.45); }
.trein-mini-badge { background:rgba(74,222,128,.15); border:1px solid rgba(74,222,128,.3); color:#4ade80; font-size:10px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap; flex-shrink:0; }
.apl-card-footer  { margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); }
.apl-card-link    { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:rgba(255,255,255,.55); transition:color .3s; text-decoration:none; }
.apl-card-link:hover { color:#fff; }
.apl-card-link i[data-lucide] { width:14px; height:14px; }

/* ─── TRABALHE CONOSCO ────────────────────────────────────────── */
.tc-grid { display:grid; grid-template-columns:1fr; gap:64px; align-items:center; }
@media (min-width:1024px){ .tc-grid { grid-template-columns:1fr 1fr; } }
.valores-list { display:flex; flex-direction:column; gap:12px; margin:24px 0 32px; }
.valor-item { display:flex; align-items:flex-start; gap:14px; padding:16px 18px; border-radius:12px; background:var(--cinza-bg); border-left:3px solid transparent; transition:all .3s; }
.valor-item:hover { border-left-color:var(--vermelho-mega); background:#fff; box-shadow:0 4px 20px rgba(21,5,119,.06); }
.valor-icon { width:38px; height:38px; background:var(--azul-mega); border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.valor-icon i[data-lucide] { width:18px; height:18px; }
.valor-item h4 { font-family:var(--font-comfortaa); font-size:14px; font-weight:700; color:var(--azul-mega); margin-bottom:3px; }
.valor-item p  { font-size:13px; color:var(--cinza-medio); line-height:1.5; }
.tc-cta-box { background:linear-gradient(135deg, var(--azul-mega) 0%, var(--azul-mid-new) 100%); border-radius:24px; padding:clamp(32px,5vw,48px); color:#fff; position:relative; overflow:hidden; }
.tc-cta-box::after { content:''; position:absolute; top:-30%; right:-15%; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,.05); }
.tag-pill { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); color:#fff; font-size:12px; font-weight:600; padding:6px 14px; border-radius:999px; display:inline-block; }
.tc-tags { margin-top:24px; display:flex; flex-wrap:wrap; gap:8px; }

/* ─── EQUIPE FOTO ─────────────────────────────────────────────── */
.equipe-foto-wrap { border-radius:24px; overflow:hidden; position:relative; background:linear-gradient(135deg, var(--azul-mega) 0%, var(--azul-mid-new) 100%); }
.equipe-foto-wrap img { width:100%; height:auto; max-height:none; display:block; object-fit:contain; object-position:center; transition:transform .6s var(--ease); }
.equipe-foto-wrap:hover img { transform:scale(1.02); }
.equipe-foto-overlay { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(21,5,119,.72) 0%, transparent 60%); padding:32px 28px 24px; color:#fff; }
.equipe-foto-overlay h3 { font-family:var(--font-gate); font-size:28px; margin-bottom:4px; }
.equipe-foto-overlay p  { font-size:13px; color:rgba(255,255,255,.7); margin:0; }

/* ─── VISÃO ───────────────────────────────────────────────────── */
.visao-inner  { text-align:center; max-width:900px; margin:0 auto; position:relative; z-index:1; }
.visao-quote  { font-family:var(--font-gate); font-size:clamp(26px,4vw,52px); color:#fff; line-height:1.2; margin:24px 0 16px; letter-spacing:-.01em; }
.visao-quote em { font-style:normal; color:var(--vermelho-mega); }
.visao-sub    { font-size:clamp(14px,1.5vw,17px); color:rgba(255,255,255,.55); line-height:1.7; max-width:640px; margin:0 auto 48px; }
.visao-pillars { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:16px; }
@media (min-width:640px){ .visao-pillars { grid-template-columns:repeat(4,1fr); } }
.visao-pillar { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:22px 14px; transition:all .3s; }
.visao-pillar:hover { background:rgba(255,255,255,.09); transform:translateY(-4px); }
.visao-pillar-icon { width:42px; height:42px; border-radius:10px; background:rgba(171,23,21,.2); display:flex; align-items:center; justify-content:center; margin:0 auto 10px; color:#ff8a8a; }
.visao-pillar-icon i[data-lucide] { width:20px; height:20px; }
.visao-pillar h4 { font-family:var(--font-comfortaa); font-size:13px; font-weight:700; color:#fff; margin-bottom:4px; }
.visao-pillar p  { font-size:11px; color:rgba(255,255,255,.4); line-height:1.5; }

/* ─── LOCALIZAÇÃO ─────────────────────────────────────────────── */
.loc-grid { display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:768px){ .loc-grid { grid-template-columns:1fr 1fr; } }
.loja-card { background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 4px 24px rgba(21,5,119,.06); border:1px solid rgba(21,5,119,.05); transition:all .3s var(--ease); }
.loja-card:hover { transform:translateY(-5px); box-shadow:0 14px 48px rgba(21,5,119,.11); }
.loja-header { background:linear-gradient(135deg, var(--azul-mega) 0%, var(--azul-mid-new) 100%); padding:22px 24px; display:flex; align-items:center; gap:14px; }
.loja-num { width:46px; height:46px; border-radius:11px; background:var(--vermelho-mega); display:flex; align-items:center; justify-content:center; font-family:var(--font-gate); font-size:20px; color:#fff; flex-shrink:0; }
.loja-header h3 { font-family:var(--font-comfortaa); font-size:15px; font-weight:700; color:#fff; }
.loja-header p  { font-size:12px; color:rgba(255,255,255,.55); margin-top:1px; }
.loja-body  { padding:20px 24px; }
.loja-row   { display:flex; align-items:flex-start; gap:12px; padding:11px 0; border-bottom:1px solid #f3f4f6; }
.loja-row:last-child { border-bottom:none; }
.loja-row i[data-lucide] { width:17px; height:17px; color:var(--vermelho-mega); flex-shrink:0; margin-top:2px; }
.loja-row-text { font-size:13px; color:var(--cinza-escuro); line-height:1.5; }
.loja-row-text strong { display:block; font-size:12px; font-weight:600; color:var(--preto); margin-bottom:1px; }
.loja-map-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px; background:var(--cinza-bg); border:none; border-radius:10px; font-family:var(--font-poppins); font-size:13px; font-weight:700; color:var(--azul-mega); cursor:pointer; transition:all .3s; text-decoration:none; margin-top:14px; }
.loja-map-btn:hover { background:var(--azul-mega); color:#fff; }
.loja-map-btn i[data-lucide] { width:15px; height:15px; }
.map-embed { width:100%; height:200px; border:none; border-radius:12px; margin-top:14px; }

/* ─── COLABORADOR STRIP ───────────────────────────────────────── */
.colab-strip { background:linear-gradient(90deg, var(--azul-deep) 0%, var(--azul-mega) 50%, #1f0ba0 100%); padding:52px 0; position:relative; overflow:hidden; }
.colab-strip::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px); background-size:50px 50px; }
.colab-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; }
@media (min-width:768px){ .colab-inner { flex-direction:row; justify-content:space-between; text-align:left; } }
.colab-inner h2 { font-family:var(--font-gate); font-size:clamp(22px,3vw,36px); color:#fff; letter-spacing:-.01em; }
.colab-inner p  { font-size:14px; color:rgba(255,255,255,.65); margin-top:5px; }
.colab-btn { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.3); color:#fff; font-family:var(--font-poppins); font-size:14px; font-weight:700; padding:14px 28px; border-radius:8px; transition:all .3s; white-space:nowrap; flex-shrink:0; }
.colab-btn:hover { background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.6); transform:translateY(-2px); }
.colab-btn i[data-lucide] { width:18px; height:18px; }

/* ─── FOOTER AZUL MEGA ────────────────────────────────────────── */
.mb-footer { background:var(--azul-mega); color:#fff; position:relative; overflow:hidden; }
.mb-footer::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--vermelho-mega) 0%, var(--azul-mid-new) 50%, var(--azul-deep) 100%); }
.mb-footer-inner { max-width:var(--container); margin:0 auto; padding:56px var(--px) 40px; }
.mb-footer-grid { display:grid; grid-template-columns:1fr; gap:40px; text-align:center; }
@media (min-width:768px){ .mb-footer-grid { grid-template-columns:1.4fr 1fr 1fr; text-align:left; gap:48px; } }
.mb-footer-logo { height:44px; margin:0 auto 14px; display:block; }
@media (min-width:768px){ .mb-footer-logo { margin:0 0 14px; } }
.mb-footer-tagline { font-size:13px; color:rgba(255,255,255,.5); line-height:1.7; max-width:280px; margin:0 auto; }
@media (min-width:768px){ .mb-footer-tagline { margin:0; } }
.mb-footer-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; justify-content:center; }
@media (min-width:768px){ .mb-footer-links { justify-content:flex-start; } }
.mb-footer-links a { font-size:11px; font-weight:600; color:rgba(255,255,255,.4); letter-spacing:.04em; text-transform:uppercase; transition:color .3s; }
.mb-footer-links a:hover { color:rgba(255,255,255,.8); }
.mb-footer-links span { color:rgba(255,255,255,.15); }
.mb-footer-h { font-family:var(--font-comfortaa); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.38); margin-bottom:14px; }
.mb-footer-phone { font-family:var(--font-gate); font-size:30px; color:#fff; letter-spacing:-.02em; line-height:1; margin-bottom:4px; }
.mb-footer-hours { font-size:12px; color:rgba(255,255,255,.45); margin-bottom:18px; }
.mb-footer-btn { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--vermelho-mega); color:#fff; font-family:var(--font-poppins); font-weight:700; font-size:13px; padding:11px 20px; border-radius:8px; max-width:240px; margin:0 auto 8px; transition:all .3s; text-decoration:none; }
@media (min-width:768px){ .mb-footer-btn { margin:0 0 8px; justify-content:flex-start; } }
.mb-footer-btn:hover { background:var(--vermelho-dark); transform:translateY(-1px); }
.mb-footer-btn i[data-lucide] { width:15px; height:15px; }
.mb-footer-addr { font-size:12px; color:rgba(255,255,255,.48); line-height:1.7; }
.mb-footer-addr:not(:last-child) { margin-bottom:14px; }
.mb-footer-addr strong { color:rgba(255,255,255,.72); display:block; }
.mb-footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); text-align:center; display:flex; flex-direction:column; gap:4px; align-items:center; }
.mb-footer-bottom p { font-size:11px; color:rgba(255,255,255,.28); }

/* ─── SCROLL REVEAL ───────────────────────────────────────────── */
.reveal  { opacity:0; transform:translateY(40px); transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-l { opacity:0; transform:translateX(-44px); transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal-l.visible { opacity:1; transform:translateX(0); }
.reveal-r { opacity:0; transform:translateX(44px);  transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal-r.visible { opacity:1; transform:translateX(0); }
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;}
.reveal.d4{transition-delay:.32s;} .reveal.d5{transition-delay:.40s;}

/* ─── PAGE HERO (internas) ────────────────────────────────────── */
.page-hero { background:radial-gradient(ellipse 70% 80% at 90% -10%, rgba(171,23,21,.22) 0%, transparent 50%),linear-gradient(155deg, #0a0245 0%, var(--azul-mega) 55%, var(--azul-mid-new) 100%); padding:calc(var(--nav-h) + 56px) var(--px) 72px; position:relative; overflow:hidden; text-align:center; }
.page-hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:80px 80px; pointer-events:none; }
.page-hero-inner { position:relative; z-index:1; max-width:720px; margin:0 auto; }
.page-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(171,23,21,.22); border:1px solid rgba(171,23,21,.4); color:rgba(255,255,255,.85); font-family:var(--font-comfortaa); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:7px 16px; border-radius:999px; margin-bottom:20px; }
.page-hero-title { font-family:var(--font-gate); font-size:clamp(36px,5.5vw,72px); color:#fff; line-height:1.05; letter-spacing:-.01em; margin-bottom:18px; }
.page-hero-desc { font-size:clamp(15px,1.6vw,18px); color:rgba(255,255,255,.65); line-height:1.7; max-width:580px; margin:0 auto; }
.page-hero-wave { position:absolute; bottom:-2px; left:0; right:0; line-height:0; pointer-events:none; }
.page-hero-wave svg { width:100%; height:auto; display:block; }

/* ─── HEXAGON GRID (marcas) ───────────────────────────────────── */
.hex-section { padding:var(--section-py) 0; }
.hex-category { margin-bottom:64px; }
.hex-category:last-child { margin-bottom:0; }
.hex-category-label { font-family:var(--font-comfortaa); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cinza-medio); text-align:center; margin-bottom:28px; display:flex; align-items:center; justify-content:center; gap:12px; }
.hex-category-label::before,.hex-category-label::after { content:''; flex:1; max-width:80px; height:1px; background:var(--cinza-claro); }
.hex-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; }
.hexagon { position:relative; width:140px; height:160px; background:#fff; clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 6px 10px rgba(21,5,119,.08)); opacity:0; transform:translateY(40px); transition:opacity .6s ease-out,transform .6s ease-out,filter .35s ease; }
.hexagon.is-visible { opacity:1; transform:translateY(0); }
.hexagon:hover { filter:drop-shadow(0 12px 20px rgba(21,5,119,.15)); transform:scale(1.07) translateY(-5px); }
.hexagon img { max-width:75%; max-height:75%; object-fit:contain; }

/* ─── PÁGINA 404 ──────────────────────────────────────────────── */
.error-section { flex:1; display:flex; align-items:center; justify-content:center; padding:var(--section-py) var(--px); background:var(--cinza-bg); position:relative; overflow:hidden; }
.error-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 60% at 10% 90%, rgba(21,5,119,.04) 0%, transparent 60%),radial-gradient(ellipse 50% 50% at 90% 10%, rgba(171,23,21,.04) 0%, transparent 60%); }
.error-inner { position:relative; z-index:1; text-align:center; max-width:560px; }
.error-code { font-family:var(--font-gate); font-size:clamp(80px,14vw,160px); line-height:1; color:var(--azul-mega); opacity:.1; margin-bottom:-24px; letter-spacing:-.04em; user-select:none; }
.error-icon-wrap { width:80px; height:80px; background:linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new)); border-radius:20px; display:flex; align-items:center; justify-content:center; margin:0 auto 24px; color:#fff; }
.error-icon-wrap i[data-lucide] { width:36px; height:36px; }
.error-title { font-family:var(--font-gate); font-size:clamp(26px,4vw,44px); color:var(--azul-mega); margin-bottom:14px; line-height:1.15; }
.error-text  { font-size:16px; color:var(--cinza-medio); line-height:1.7; margin-bottom:36px; }
.error-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }

.equipe-fallback { object-fit:contain !important; padding:40px; background:linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new)); }

/* ─── 404 EXTRA ──────────────────────────────────────────────── */
.page-404-body { min-height:100vh; display:flex; flex-direction:column; }
.page-404-body .error-section { flex:1; }
.error-contact { margin-top:36px; }
.error-contact p { font-size:13px; color:var(--cinza-medio); margin-bottom:8px; }
.error-contact a { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--azul-mega); transition:color .3s; }
.error-contact a:hover { color:var(--vermelho-mega); }
.error-contact a i[data-lucide] { width:17px; height:17px; }

/* ─── HEX-SECTION CTA padding-bottom ─────────────────────────── */
.hex-section { padding-bottom:calc(var(--section-py) + 16px); }
.hex-section .section-cta-center { padding-top:24px; border-top:1px solid var(--cinza-claro); }

/* ─── NAV active link (current page) ─────────────────────────── */
.site-nav.subpage-nav .nav-links [aria-current="page"],
.site-nav.subpage-nav .nav-links a.nav-active { color:var(--vermelho-mega) !important; }
.cta-hint { font-size:14px; color:var(--cinza-medio); margin-bottom:16px; }

/* ══════════════════════════════════════════════════════════════════
   MEGA BRILHO — MÓDULO TREINAMENTOS / ÁREA DO COLABORADOR
   ══════════════════════════════════════════════════════════════════ */

/* ─── SHARED COLLAB ──────────────────────────────────────────────── */
.collab-body { background: var(--cinza-bg); min-height: 100vh; }
.collab-page { min-height: 100vh; display: flex; flex-direction: column; }

/* Skeleton shimmer */
.skeleton {
  background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
  border-radius: 10px;
}
@keyframes skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.sk-h24 { height: 24px; }
.sk-h40 { height: 40px; }
.sk-h100 { height: 100px; }
.sk-h160 { height: 160px; }
.sk-h200 { height: 200px; }
.sk-h280 { height: 280px; }
.sk-full { width: 100%; }

/* Fade-up entry */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up   { animation: fade-up .5s cubic-bezier(.22,1,.36,1) both; }
.fade-u1   { animation-delay: .05s; }
.fade-u2   { animation-delay: .10s; }
.fade-u3   { animation-delay: .15s; }
.fade-u4   { animation-delay: .20s; }
.fade-u5   { animation-delay: .25s; }

/* ─── COLLAB NAV (white fixed, same structure as subpage-nav) ─────── */
.collab-nav-header { display: flex; align-items: center; gap: 16px; }
.collab-admin-badge {
  display: inline-flex;
  align-items: center;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid #fecaca;
}
.collab-nav-right { display: flex; align-items: center; gap: 12px; }
.collab-user-name { font-size: 13px; color: var(--cinza-medio); font-weight: 500; }
.btn-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 2px solid var(--azul-mega);
  color: var(--azul-mega);
  background: transparent;
  font-family: var(--font-poppins);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all .3s;
  text-decoration: none;
}
.btn-logout:hover { background: var(--azul-mega); color: #fff; }
.btn-logout i[data-lucide] { width: 15px; height: 15px; }

/* Bell notification */
.bell-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: var(--cinza-medio);
  cursor: pointer;
  transition: all .2s;
}
.bell-btn:hover { background: var(--cinza-bg); color: var(--azul-mega); }
.bell-btn i[data-lucide] { width: 20px; height: 20px; }
.bell-badge {
  position: absolute;
  top: -2px; right: -2px;
  min-width: 18px; height: 18px;
  background: var(--vermelho-mega);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  border-radius: 999px;
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  animation: pulseDot 2s ease infinite;
}

/* ─── LOGIN PAGE ──────────────────────────────────────────────────── */
.collab-login-bg {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--nav-h) + 32px) var(--px) 48px;
  background:
    radial-gradient(ellipse 70% 80% at 85% -5%, rgba(171,23,21,.28) 0%, transparent 55%),
    radial-gradient(ellipse 55% 65% at 10% 105%, rgba(13,3,86,.95) 0%, transparent 65%),
    linear-gradient(155deg, #0a0245 0%, #150577 45%, #1a0b8a 100%);
  position: relative;
  overflow: hidden;
}
.collab-login-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}
.login-card-wrap {
  width: 100%;
  max-width: 440px;
  position: relative;
  z-index: 1;
  animation: login-float-in .65s cubic-bezier(.22,1,.36,1) both;
}
@keyframes login-float-in {
  from { opacity: 0; transform: translateY(28px) scale(.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.login-badge-wrap { text-align: center; margin-bottom: 28px; }
.login-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px; height: 72px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  margin-bottom: 14px;
  backdrop-filter: blur(10px);
}
.login-icon-box img { height: 44px; width: 44px; object-fit: contain; }
.login-title { font-family: var(--font-gate); font-size: 26px; color: #fff; margin-bottom: 4px; }
.login-subtitle { font-size: 13px; color: rgba(255,255,255,.5); }
.glass-card {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 20px;
  padding: clamp(28px,5vw,44px);
  box-shadow: 0 25px 60px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.1);
}
.glass-card.shake { animation: shake-card .4s ease; }
@keyframes shake-card {
  0%, 100% { transform: translateX(0); }
  20%, 60%  { transform: translateX(-6px); }
  40%, 80%  { transform: translateX(6px); }
}
.f-group { margin-bottom: 16px; }
.f-label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--cinza-escuro); margin-bottom: 6px; }
.f-input-wrap { position: relative; }
.f-input-icon { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; }
.f-input-icon i[data-lucide] { width: 16px; height: 16px; }
.f-input {
  width: 100%;
  padding: 13px 14px 13px 42px;
  border: 2px solid var(--cinza-claro);
  border-radius: 10px;
  font-family: var(--font-poppins);
  font-size: 14px;
  font-weight: 500;
  outline: none;
  transition: border-color .3s, box-shadow .3s;
  background: #fff;
}
.f-input:focus { border-color: var(--azul-mega); box-shadow: 0 0 0 3px rgba(21,5,119,.08); }
.f-input.has-toggle { padding-right: 44px; }
.f-input-toggle {
  position: absolute;
  right: 13px; top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  transition: color .2s;
  padding: 0;
  display: flex;
}
.f-input-toggle:hover { color: var(--vermelho-mega); }
.f-input-toggle i[data-lucide] { width: 17px; height: 17px; }
.error-box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff5f5;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 16px;
}
.error-box i[data-lucide] { width: 16px; height: 16px; flex-shrink: 0; }
.btn-login {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px;
  background: var(--azul-mega);
  color: #fff;
  font-family: var(--font-poppins);
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all .3s var(--ease);
  box-shadow: 0 4px 16px rgba(21,5,119,.2);
}
.btn-login:hover:not(:disabled) { background: var(--azul-hover); transform: translateY(-2px); box-shadow: var(--shadow-blue); }
.btn-login:disabled { opacity: .65; cursor: not-allowed; }
.btn-login i[data-lucide], .btn-login svg { width: 18px; height: 18px; }
.login-spinner { display: none; animation: spin .7s linear infinite; }
.login-footer-note { text-align: center; color: rgba(255,255,255,.3); font-size: 11px; margin-top: 20px; line-height: 1.6; }

/* ─── COLLAB HERO (admin/painel) ──────────────────────────────────── */
.collab-hero {
  background:
    radial-gradient(ellipse 70% 80% at 85% -5%, rgba(171,23,21,.22) 0%, transparent 55%),
    linear-gradient(155deg, #0a0245 0%, var(--azul-mega) 55%, var(--azul-mid-new) 100%);
  padding: calc(var(--nav-h) + 28px) var(--px) 36px;
  position: relative;
  overflow: hidden;
}
.collab-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 80px 80px;
}
.collab-hero-inner { position: relative; z-index: 1; max-width: var(--container); margin: 0 auto; }
.collab-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-comfortaa);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 10px;
}
.collab-hero-eyebrow i[data-lucide] { width: 13px; height: 13px; color: #ff8a8a; }
.collab-hero-title { font-family: var(--font-gate); font-size: clamp(22px,3vw,38px); color: #fff; margin-bottom: 4px; }
.collab-hero-sub { font-size: 13px; color: rgba(255,255,255,.5); }

/* Profile hero (painel) */
.collab-profile-row {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.collab-avatar {
  width: 72px; height: 72px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.06));
  border: 2px solid rgba(255,255,255,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-gate);
  font-size: 24px;
  color: #fff;
  letter-spacing: -.01em;
  flex-shrink: 0;
}
.collab-profile-name { font-family: var(--font-gate); font-size: clamp(22px,3vw,36px); color: #fff; margin-bottom: 6px; }
.collab-profile-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.collab-profile-meta-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.55); }
.collab-profile-meta-item i[data-lucide] { width: 14px; height: 14px; }
.collab-badge-pill {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-family: var(--font-comfortaa);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 8px;
}

/* ─── STATS BAR ──────────────────────────────────────────────────── */
.collab-stats-bar {
  background: #fff;
  border-bottom: 1px solid var(--cinza-claro);
  box-shadow: 0 2px 12px rgba(21,5,119,.04);
}
.collab-stats-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 20px var(--px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  text-align: center;
}
@media (min-width: 640px) { .collab-stats-inner { grid-template-columns: repeat(4, 1fr); } }
.collab-stat-num {
  font-family: var(--font-gate);
  font-size: 32px;
  line-height: 1;
  color: var(--azul-mega);
  display: block;
  margin-bottom: 4px;
}
.collab-stat-num.green  { color: #16a34a; }
.collab-stat-num.amber  { color: #d97706; }
.collab-stat-num.red    { color: var(--vermelho-mega); }
.collab-stat-label { font-family: var(--font-comfortaa); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cinza-medio); }

/* ─── TAB NAV ────────────────────────────────────────────────────── */
.collab-tab-bar {
  background: #fff;
  border-bottom: 1px solid var(--cinza-claro);
  position: sticky;
  top: var(--nav-h);
  z-index: 50;
}
.collab-tab-inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--px); display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.collab-tab-inner::-webkit-scrollbar { display: none; }
.tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 600;
  color: var(--cinza-medio);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: all .2s;
}
.tab-btn:hover { color: var(--azul-mega); }
.tab-btn.active { color: var(--azul-mega); border-bottom-color: var(--azul-mega); font-weight: 700; }
.tab-btn i[data-lucide] { width: 16px; height: 16px; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }

/* ─── COLLAB MAIN WRAP ───────────────────────────────────────────── */
.collab-main { flex: 1; padding: 36px 0 64px; }
.collab-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--px); }

/* Section heading */
.collab-section-h { font-family: var(--font-gate); font-size: clamp(18px,2.2vw,26px); color: var(--azul-mega); margin-bottom: 20px; }

/* ─── ADMIN TABLE ────────────────────────────────────────────────── */
.admin-table-wrap {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(21,5,119,.06);
  overflow: hidden;
  border: 1px solid rgba(21,5,119,.05);
}
.admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.admin-table thead tr { background: var(--cinza-bg); border-bottom: 1px solid var(--cinza-claro); }
.admin-table th { padding: 14px 16px; text-align: left; font-family: var(--font-comfortaa); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cinza-medio); white-space: nowrap; }
.admin-table th.center { text-align: center; }
.admin-table td { padding: 14px 16px; border-bottom: 1px solid #f8fafc; color: var(--cinza-escuro); vertical-align: middle; }
.admin-table td.center { text-align: center; }
.admin-table tbody tr { cursor: pointer; transition: background .15s; }
.admin-table tbody tr:hover { background: #f8fafc; }
.admin-table tbody tr:last-child td { border-bottom: none; }

/* Colaborador avatar in table */
.colab-avatar-sm {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new));
  color: #fff;
  font-family: var(--font-gate);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.colab-info-name { font-weight: 700; color: var(--azul-mega); font-size: 13px; }
.colab-info-email { font-size: 11px; color: var(--cinza-medio); }
.colab-info-row { display: flex; align-items: center; gap: 10px; }

/* Status badges */
.status-badge {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid;
  white-space: nowrap;
}
.status-green  { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.status-amber  { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.status-red    { background: #fff5f5; color: #b91c1c; border-color: #fecaca; }
.status-slate  { background: #f8fafc; color: #475569; border-color: #e2e8f0; }
.btn-ver-sm {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  background: var(--azul-mega);
  color: #fff;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all .2s;
}
.btn-ver-sm:hover { background: var(--azul-hover); transform: translateY(-1px); }

/* By-training cards */
.by-train-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(21,5,119,.06);
  margin-bottom: 24px;
}
.by-train-header { padding: 18px 24px; color: #fff; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.by-train-header-badge { background: rgba(255,255,255,.2); border-radius: 999px; padding: 3px 12px; font-size: 11px; font-weight: 700; }
.by-train-header-title { font-family: var(--font-comfortaa); font-weight: 700; font-size: 15px; }
.by-train-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: var(--cinza-bg); border-bottom: 1px solid var(--cinza-claro); }
.by-train-stat { text-align: center; padding: 14px 8px; border-right: 1px solid var(--cinza-claro); }
.by-train-stat:last-child { border-right: none; }
.by-train-stat-num { font-family: var(--font-gate); font-size: 22px; color: var(--azul-mega); }
.by-train-stat-num.green  { color: #16a34a; }
.by-train-stat-num.red    { color: var(--vermelho-mega); }
.by-train-stat-num.amber  { color: #d97706; }
.by-train-stat-label { font-size: 9px; font-family: var(--font-comfortaa); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--cinza-medio); }

/* ─── TOGGLE SWITCH ──────────────────────────────────────────────── */
.toggle-wrap { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
.toggle-wrap input { opacity: 0; width: 0; height: 0; position: absolute; }
.toggle-slider {
  position: absolute;
  inset: 0;
  background: var(--cinza-claro);
  border-radius: 24px;
  cursor: pointer;
  transition: background .25s;
}
.toggle-slider::before {
  content: '';
  position: absolute;
  width: 18px; height: 18px;
  left: 3px; top: 3px;
  background: #fff;
  border-radius: 50%;
  transition: transform .25s;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.toggle-wrap input:checked + .toggle-slider { background: #16a34a; }
.toggle-wrap input:checked + .toggle-slider::before { transform: translateX(20px); }

/* ─── MODALS ──────────────────────────────────────────────────────── */
.modal-overlay {
  position: fixed; inset: 0; z-index: 200;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: calc(var(--nav-h) + 20px) 16px 32px;
  overflow-y: auto;
}
.modal-box {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0,0,0,.2);
  width: 100%;
  max-width: 720px;
  max-height: calc(100vh - var(--nav-h) - 60px);
  overflow-y: auto;
  animation: modal-in .3s var(--ease-spring);
}
.modal-box-sm { max-width: 480px; }
@keyframes modal-in {
  from { opacity: 0; transform: scale(.93) translateY(20px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--cinza-claro);
  gap: 16px;
}
.modal-title { font-family: var(--font-gate); font-size: 20px; color: var(--azul-mega); }
.modal-close {
  background: none; border: none; color: var(--cinza-medio);
  cursor: pointer; padding: 4px; border-radius: 8px;
  transition: all .2s; flex-shrink: 0;
}
.modal-close:hover { background: var(--cinza-bg); color: var(--preto); }
.modal-close i[data-lucide] { width: 22px; height: 22px; }
.modal-body { padding: 24px 28px 28px; }
.modal-ficha-avatar {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new));
  color: #fff;
  font-family: var(--font-gate);
  font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.modal-ficha-row { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.modal-ficha-name { font-family: var(--font-gate); font-size: 20px; color: var(--azul-mega); }
.modal-ficha-email { font-size: 13px; color: var(--cinza-medio); }
.train-detail-card {
  border: 1px solid var(--cinza-claro);
  border-radius: 14px;
  padding: 16px 18px;
  margin-bottom: 12px;
}
.train-detail-card:last-child { margin-bottom: 0; }
.train-detail-header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.train-detail-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.btn-sm-outline {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 700;
  padding: 7px 14px;
  border-radius: 8px;
  border: 2px solid var(--azul-mega);
  color: var(--azul-mega);
  background: transparent;
  cursor: pointer;
  transition: all .25s;
  text-decoration: none;
}
.btn-sm-outline:hover { background: var(--azul-mega); color: #fff; }
.btn-sm-outline.amber { border-color: #d97706; color: #d97706; }
.btn-sm-outline.amber:hover { background: #d97706; color: #fff; }
.btn-sm-outline i[data-lucide] { width: 13px; height: 13px; }
.prova-detail-box {
  background: var(--cinza-bg);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 10px;
  font-size: 12px;
}
.prova-q-item {
  padding: 8px 10px;
  border-radius: 8px;
  margin-bottom: 6px;
  border: 1px solid;
}
.prova-q-item.correct   { background: #f0fdf4; border-color: #bbf7d0; }
.prova-q-item.incorrect { background: #fff5f5; border-color: #fecaca; }
.prova-q-item:last-child { margin-bottom: 0; }

/* ─── UPLOAD ZONE ────────────────────────────────────────────────── */
.upload-zone {
  border: 2px dashed var(--cinza-claro);
  border-radius: 14px;
  padding: 36px 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color .3s, background .3s;
}
.upload-zone:hover { border-color: var(--vermelho-mega); background: #fff5f5; }
.upload-zone i[data-lucide] { width: 40px; height: 40px; color: var(--cinza-medio); margin-bottom: 10px; }
.upload-zone-title { font-weight: 700; font-size: 14px; color: var(--cinza-escuro); margin-bottom: 3px; }
.upload-zone-sub { font-size: 12px; color: var(--cinza-medio); }
.upload-progress-wrap { margin-top: 12px; }
.upload-progress-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.upload-progress-label { font-size: 12px; font-weight: 600; color: var(--cinza-escuro); }
.upload-progress-pct { font-size: 12px; font-weight: 700; color: var(--azul-mega); }
.upload-progress-track { width: 100%; height: 6px; background: var(--cinza-claro); border-radius: 999px; overflow: hidden; }
.upload-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--azul-mega), var(--vermelho-mega));
  border-radius: 999px;
  transition: width .3s ease;
  width: 0%;
}
.upload-file-name { font-size: 12px; color: var(--cinza-medio); margin-top: 6px; }
.upload-error { background: #fff5f5; border: 1px solid #fecaca; color: #b91c1c; font-size: 12px; padding: 10px 14px; border-radius: 10px; margin-top: 8px; }
.modal-actions { display: flex; gap: 10px; margin-top: 20px; }
.modal-actions .btn-cancel { flex: 1; padding: 13px; border: 2px solid var(--cinza-claro); color: var(--cinza-escuro); background: transparent; font-family: var(--font-poppins); font-size: 13px; font-weight: 700; border-radius: 10px; cursor: pointer; transition: all .2s; }
.modal-actions .btn-cancel:hover { background: var(--cinza-bg); }
.modal-actions .btn-primary { flex: 1; padding: 13px; background: var(--azul-mega); color: #fff; font-family: var(--font-poppins); font-size: 13px; font-weight: 700; border: none; border-radius: 10px; cursor: pointer; transition: all .2s; }
.modal-actions .btn-primary:hover:not(:disabled) { background: var(--azul-hover); }
.modal-actions .btn-primary:disabled { opacity: .5; cursor: not-allowed; }

/* ─── PAINEL TRAINING CARDS ──────────────────────────────────────── */
.training-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) { .training-cards-grid { grid-template-columns: 1fr 1fr; } }
.training-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(21,5,119,.06);
  overflow: hidden;
  border: 1px solid rgba(21,5,119,.05);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.training-card:hover { transform: translateY(-4px); box-shadow: 0 14px 48px rgba(21,5,119,.1); }
.training-card-banner { width: 100%; height: 160px; object-fit: cover; display: block; }
.training-card-body { padding: 20px 22px 22px; }
.training-card-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.training-card-h { font-family: var(--font-comfortaa); font-size: 16px; font-weight: 700; color: var(--azul-mega); margin-bottom: 4px; }
.training-card-meta { font-size: 12px; color: var(--cinza-medio); margin-bottom: 14px; }
.training-card-footer { border-top: 1px solid var(--cinza-bg); padding-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.btn-prova {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--vermelho-mega); color: #fff;
  font-size: 13px; font-weight: 700;
  padding: 10px 18px; border-radius: 8px;
  transition: all .2s; text-decoration: none;
}
.btn-prova:hover { background: var(--vermelho-dark); transform: translateY(-1px); }
.btn-cert {
  display: inline-flex; align-items: center; gap: 6px;
  background: #d97706; color: #fff;
  font-size: 13px; font-weight: 700;
  padding: 10px 18px; border-radius: 8px;
  transition: all .2s; text-decoration: none;
}
.btn-cert:hover { background: #b45309; transform: translateY(-1px); }
.btn-material {
  display: inline-flex; align-items: center; gap: 6px;
  border: 2px solid var(--azul-mega); color: var(--azul-mega);
  font-size: 13px; font-weight: 700;
  padding: 9px 18px; border-radius: 8px;
  transition: all .2s; text-decoration: none;
  background: transparent;
}
.btn-material:hover { background: var(--azul-mega); color: #fff; }
.btn-prova i[data-lucide], .btn-cert i[data-lucide], .btn-material i[data-lucide] { width: 15px; height: 15px; }

/* ─── NOTIFICATION DROPDOWN ──────────────────────────────────────── */
.notif-dropdown-wrap { position: relative; }
.notif-dropdown {
  position: absolute;
  right: 0; top: calc(100% + 8px);
  width: 380px;
  max-width: calc(100vw - 24px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
  border: 1px solid var(--cinza-claro);
  overflow: hidden;
  z-index: 200;
  animation: notif-in .2s var(--ease);
  transform-origin: top right;
}
@keyframes notif-in {
  from { opacity: 0; transform: translateY(-8px) scale(.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.notif-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  background: var(--cinza-bg);
  border-bottom: 1px solid var(--cinza-claro);
}
.notif-header-title { display: flex; align-items: center; gap: 7px; font-family: var(--font-comfortaa); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--azul-mega); }
.notif-header-title i[data-lucide] { width: 14px; height: 14px; color: var(--vermelho-mega); }
.mark-all-btn { font-size: 11px; font-weight: 700; color: var(--azul-mega); background: none; border: none; cursor: pointer; text-transform: uppercase; letter-spacing: .05em; transition: color .2s; }
.mark-all-btn:hover { color: var(--vermelho-mega); }
.notif-list { max-height: 70vh; overflow-y: auto; }
.notif-item {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #f8fafc;
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: background .15s;
}
.notif-item:last-child { border-bottom: none; }
.notif-item.unread { background: #fff; border-left-color: var(--vermelho-mega); }
.notif-item.read { background: #fafbfc; }
.notif-item:hover { background: var(--cinza-bg); }
.notif-emoji { font-size: 22px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.notif-content { flex: 1; min-width: 0; }
.notif-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 3px; }
.notif-tag {
  font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 2px 8px; border-radius: 999px; border: 1px solid; display: inline-block;
}
.notif-tag.amber  { color: #b45309; background: #fffbeb; border-color: #fde68a; }
.notif-tag.green  { color: #15803d; background: #f0fdf4; border-color: #bbf7d0; }
.notif-tag.blue   { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.notif-tag.purple { color: #6b21a8; background: #faf5ff; border-color: #e9d5ff; }
.notif-tag.indigo { color: #3730a3; background: #eef2ff; border-color: #c7d2fe; }
.notif-tag.slate  { color: #475569; background: #f8fafc; border-color: #e2e8f0; }
.notif-time { font-size: 10px; color: var(--cinza-medio); flex-shrink: 0; }
.notif-title { font-size: 13px; font-weight: 700; color: var(--azul-mega); line-height: 1.3; margin-bottom: 2px; }
.notif-title.read { color: var(--cinza-escuro); }
.notif-msg { font-size: 11px; color: var(--cinza-medio); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.notif-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--vermelho-mega); flex-shrink: 0; margin-top: 6px; }
.notif-empty { text-align: center; padding: 36px 20px; }
.notif-empty-icon { width: 52px; height: 52px; background: var(--cinza-bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.notif-empty-icon i[data-lucide] { width: 24px; height: 24px; color: var(--cinza-medio); }
.notif-empty-title { font-weight: 700; color: var(--cinza-escuro); margin-bottom: 4px; font-size: 13px; }
.notif-empty-sub { font-size: 12px; color: var(--cinza-medio); }

/* Mobile notif dropdown */
@media (max-width: 640px) {
  .notif-dropdown { position: fixed; top: calc(var(--nav-h) + 8px) !important; right: 12px !important; left: 12px !important; width: auto !important; }
}

/* ─── PROVA PAGE ─────────────────────────────────────────────────── */
.prova-wrap { max-width: 760px; margin: 0 auto; padding: 0 var(--px); padding-top: calc(var(--nav-h) + 32px); padding-bottom: 64px; }
.prova-progress-wrap { background: var(--cinza-bg); border-radius: 12px; padding: 14px 18px; margin-bottom: 28px; }
.prova-progress-track { width: 100%; height: 8px; background: var(--cinza-claro); border-radius: 999px; overflow: hidden; margin-top: 8px; }
.prova-progress-fill { height: 100%; background: linear-gradient(90deg, var(--azul-mega), var(--vermelho-mega)); border-radius: 999px; transition: width .4s ease; }
.prova-progress-label { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; color: var(--cinza-medio); }
.prova-progress-label span:last-child { color: var(--azul-mega); font-weight: 700; }
.question-card {
  background: #fff;
  border-radius: 16px;
  padding: 22px 24px;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(21,5,119,.05);
  border: 1px solid rgba(21,5,119,.04);
  transition: box-shadow .2s;
}
.question-card:hover { box-shadow: 0 6px 24px rgba(21,5,119,.08); }
.question-num { font-family: var(--font-comfortaa); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--vermelho-mega); margin-bottom: 8px; }
.question-text { font-size: 15px; font-weight: 600; color: var(--azul-mega); line-height: 1.5; margin-bottom: 16px; }
.options-list { display: flex; flex-direction: column; gap: 8px; }
.option-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border: 2px solid var(--cinza-claro);
  border-radius: 12px;
  cursor: pointer;
  transition: all .15s;
}
.option-label:hover { border-color: #cbd5e1; background: #f8fafc; }
.option-label input[type="radio"] { display: none; }
.option-dot {
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid var(--cinza-claro);
  flex-shrink: 0;
  margin-top: 1px;
  transition: all .15s;
  display: flex; align-items: center; justify-content: center;
}
.option-label:has(input:checked) .option-dot {
  background: var(--azul-mega);
  border-color: var(--azul-mega);
}
.option-label:has(input:checked) .option-dot::after {
  content: '';
  width: 6px; height: 6px;
  background: #fff;
  border-radius: 50%;
}
.option-label:has(input:checked) { border-color: var(--azul-mega); background: #f0efff; }
.option-text { font-size: 13px; color: var(--cinza-escuro); line-height: 1.5; }

/* Evaluation section */
.eval-card { background: #fff; border-radius: 16px; padding: 22px 24px; margin-bottom: 16px; box-shadow: 0 2px 12px rgba(21,5,119,.05); border: 1px solid rgba(21,5,119,.04); }
.eval-label { font-size: 14px; font-weight: 600; color: var(--azul-mega); margin-bottom: 8px; }
.eval-textarea { width: 100%; padding: 12px 14px; border: 2px solid var(--cinza-claro); border-radius: 10px; font-family: var(--font-poppins); font-size: 13px; resize: vertical; min-height: 80px; outline: none; transition: border-color .3s; }
.eval-textarea:focus { border-color: var(--azul-mega); }
.star-rating { display: flex; gap: 4px; margin-top: 8px; }
.star-btn { background: none; border: none; cursor: pointer; padding: 4px; color: var(--cinza-claro); font-size: 26px; transition: transform .15s, color .15s; }
.star-btn:hover, .star-btn.active { color: #d97706; transform: scale(1.15); }

/* Submit section */
.prova-submit-wrap { text-align: center; margin-top: 8px; }
.prova-error-box { background: #fff5f5; border: 1px solid #fecaca; color: #b91c1c; font-size: 13px; padding: 12px 16px; border-radius: 10px; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.prova-error-box i[data-lucide] { width: 16px; height: 16px; flex-shrink: 0; }
.btn-submit-prova {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--azul-mega); color: #fff;
  font-family: var(--font-poppins); font-size: 16px; font-weight: 700;
  padding: 16px 40px; border-radius: 12px; border: none; cursor: pointer;
  transition: all .3s var(--ease); box-shadow: var(--shadow-blue);
}
.btn-submit-prova:hover:not(:disabled) { background: var(--azul-hover); transform: translateY(-2px); }
.btn-submit-prova:disabled { opacity: .6; cursor: not-allowed; }
.btn-submit-prova i[data-lucide], .btn-submit-prova svg { width: 20px; height: 20px; }
.submit-spinner { display: none; animation: spin .7s linear infinite; }

/* Success screen */
.success-screen {
  display: none;
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(21,5,119,.06);
}
.success-icon {
  width: 80px; height: 80px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
}
.success-icon.pass { background: #dcfce7; color: #16a34a; }
.success-icon.fail { background: #fee2e2; color: #dc2626; }
.success-icon i[data-lucide] { width: 38px; height: 38px; }
.success-score { font-family: var(--font-gate); font-size: 72px; line-height: 1; margin-bottom: 8px; }
.success-score.pass { color: #16a34a; }
.success-score.fail { color: #dc2626; }
.success-score.mid  { color: #d97706; }
.success-subtitle { font-size: 14px; color: var(--cinza-medio); margin-bottom: 28px; }
.success-title { font-family: var(--font-comfortaa); font-size: 20px; font-weight: 700; color: var(--azul-mega); margin-bottom: 8px; }

/* Confetti */
.confetti-piece {
  position: fixed;
  pointer-events: none;
  z-index: 999;
  border-radius: 2px;
  animation: confetti-fall 3s ease-in forwards;
}
@keyframes confetti-fall {
  0%   { transform: translateY(-10vh) rotate(0deg); opacity: 1; }
  100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}

/* ─── TRAINING CONTENT PAGES ─────────────────────────────────────── */
/* Shared nav for training content */
.tc-page { padding-top: var(--nav-h); min-height: 100vh; background: var(--cinza-bg); }

/* Banner hero card */
.tc-banner-card { max-width: 900px; margin: 0 auto; padding: 24px 24px 0; }
.tc-banner-inner { background: #fff; border-radius: 16px; box-shadow: 0 10px 32px rgba(0,0,0,.08); overflow: hidden; }
.tc-banner-img   { width: 100%; display: block; }
.tc-banner-body  { padding: clamp(20px,3vw,36px); }
.tc-banner-eyebrow { font-family: var(--font-comfortaa); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--vermelho-mega); margin-bottom: 6px; }
.tc-banner-title { font-family: var(--font-gate); font-size: clamp(22px,3.5vw,38px); color: var(--azul-mega); line-height: 1.15; margin-bottom: 6px; }
.tc-banner-sub   { color: var(--cinza-medio); font-size: 14px; }
.tc-realizado-strip {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: var(--azul-mega); color: #fff;
  padding: 14px 18px; border-radius: 12px;
  margin-top: 16px;
}
.tc-realizado-strip strong { font-weight: 700; font-size: 14px; display: block; }
.tc-realizado-strip span   { font-size: 12px; opacity: .8; }
.tc-realizado-badge {
  margin-left: auto; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px; padding: 4px 12px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap;
}

/* Sticky search bar (training content) */
.tc-search-bar {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(10px);
  border-bottom: 2px solid var(--cinza-claro);
  padding: 10px 0;
  position: sticky;
  top: var(--nav-h);
  z-index: 100;
}
.tc-search-inner { max-width: 900px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tc-search-input-wrap { position: relative; flex: 1; max-width: 480px; min-width: 200px; }
.tc-search-input-wrap svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); opacity: .4; pointer-events: none; }
.tc-search-input {
  width: 100%;
  padding: 9px 12px 9px 40px;
  border: 2px solid var(--cinza-claro);
  border-radius: 10px;
  font-family: var(--font-poppins);
  font-size: 13px;
  outline: none;
  transition: border-color .3s;
}
.tc-search-input:focus { border-color: var(--azul-mega); }
.tc-search-count { font-size: 12px; color: var(--cinza-medio); white-space: nowrap; }
.tc-search-nav { display: flex; gap: 4px; }
.tc-search-nav button {
  padding: 5px 11px; border: 2px solid var(--cinza-claro);
  background: #fff; border-radius: 8px; cursor: pointer;
  font-size: 12px; font-weight: 600; transition: all .2s;
}
.tc-search-nav button:hover { background: var(--cinza-bg); }
.tc-clear-btn {
  display: none; padding: 5px 12px;
  border: 2px solid #fecaca; background: #fff5f5;
  border-radius: 8px; cursor: pointer;
  font-size: 12px; font-weight: 700; color: var(--vermelho-mega);
}
mark.highlight { background: #fef08a; color: var(--preto); border-radius: 3px; padding: 0 2px; }
mark.highlight.active { background: #fb923c; color: #fff; }

/* TOC bar */
.tc-toc-bar {
  background: rgba(255,255,255,.95);
  border-bottom: 2px solid var(--cinza-claro);
  position: sticky;
  top: calc(var(--nav-h) + 52px);
  z-index: 90;
  overflow: hidden;
}
.tc-toc-scroll { max-width: 900px; margin: 0 auto; padding: 0 24px; overflow-x: auto; scrollbar-width: none; }
.tc-toc-scroll::-webkit-scrollbar { display: none; }
.tc-toc-list { display: flex; list-style: none; white-space: nowrap; }
.tc-toc-list a {
  display: block; padding: 11px 14px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--cinza-medio); text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: all .2s;
}
.tc-toc-list a:hover, .tc-toc-list a.active { color: var(--azul-mega); border-bottom-color: var(--azul-mega); }

/* Content sections */
.tc-content { max-width: 900px; margin: 0 auto; padding: 0 24px; }
.tc-section { padding: 52px 0; border-bottom: 1px solid var(--cinza-claro); }
.tc-section:last-child { border-bottom: none; }
.tc-section-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--vermelho-mega); margin-bottom: 6px; }
.tc-section-title { font-family: var(--font-gate); font-size: clamp(26px,3.5vw,38px); color: var(--azul-mega); line-height: 1.1; margin-bottom: 10px; }
.tc-section-sub { font-size: 15px; color: var(--cinza-escuro); max-width: 720px; line-height: 1.75; }
.tc-section-header { margin-bottom: 32px; }

/* Content blocks */
.tc-problem-box { background: #fff5f5; border: 1px solid #fecaca; border-left: 4px solid var(--vermelho-mega); border-radius: 14px; padding: 20px 24px; margin-bottom: 28px; }
.tc-problem-box h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--vermelho-mega); margin-bottom: 8px; }
.tc-problem-box p { font-size: 14px; color: var(--cinza-escuro); line-height: 1.8; }
.tc-tip-box { background: #eff6ff; border: 1px solid #bfdbfe; border-left: 4px solid var(--azul-mega); border-radius: 14px; padding: 20px 24px; margin-top: 24px; }
.tc-tip-box h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--azul-mega); margin-bottom: 8px; }
.tc-tip-box p, .tc-tip-box ul { font-size: 14px; color: var(--cinza-escuro); line-height: 1.8; }
.tc-tip-box ul { padding-left: 20px; margin-top: 6px; }
.tc-warn-box { background: #fffbeb; border: 1px solid #fde68a; border-left: 4px solid #d97706; border-radius: 14px; padding: 20px 24px; margin-top: 24px; }
.tc-warn-box h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #92400e; margin-bottom: 8px; }
.tc-warn-box p  { font-size: 14px; color: #78350f; line-height: 1.8; }
.tc-success-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-left: 4px solid #16a34a; border-radius: 14px; padding: 20px 24px; margin-top: 24px; }
.tc-success-box h3 { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #15803d; margin-bottom: 8px; }
.tc-success-box p { font-size: 14px; color: #14532d; line-height: 1.8; }

/* Product grid */
.tc-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 16px; }
.tc-product-card { background: #fff; border: 1px solid var(--cinza-claro); border-radius: 16px; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.tc-product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.tc-product-img { width: 100%; aspect-ratio: 4/3; background: var(--cinza-bg); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--cinza-claro); overflow: hidden; }
.tc-product-img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; transition: transform .3s; }
.tc-product-card:hover .tc-product-img img { transform: scale(1.05); }
.tc-product-body { padding: 16px 18px; }
.tc-product-tag { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 3px 10px; border-radius: 6px; margin-bottom: 8px; width: fit-content; }
.tc-tag-clean { background: #dcfce7; color: #15803d; }
.tc-tag-protect { background: #dbeafe; color: #1d4ed8; }
.tc-tag-polish { background: #fef9c3; color: #a16207; }
.tc-tag-coat { background: #f3e8ff; color: #7c3aed; }
.tc-tag-tire { background: #ffedd5; color: #c2410c; }
.tc-tag-motor { background: #fee2e2; color: #b91c1c; }
.tc-tag-water { background: #e0f2fe; color: #0369a1; }
.tc-product-name { font-weight: 700; color: var(--azul-mega); font-size: 14px; margin-bottom: 4px; }
.tc-product-desc { font-size: 12px; color: var(--cinza-medio); line-height: 1.6; }

/* Dosage table */
.tc-dosage-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.tc-dosage-table th { background: var(--azul-mega); color: #fff; padding: 12px 16px; text-align: left; font-family: var(--font-comfortaa); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.tc-dosage-table td { padding: 12px 16px; border-bottom: 1px solid var(--cinza-claro); color: var(--cinza-escuro); }
.tc-dosage-table tr:last-child td { border-bottom: none; }
.tc-dosage-table tr:nth-child(even) td { background: var(--cinza-bg); }
.tc-dosage-table td code { background: var(--cinza-bg); padding: 2px 6px; border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--azul-mega); }

/* Checklist */
.tc-checklist { list-style: none; padding: 0; }
.tc-checklist li { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--cinza-bg); font-size: 14px; color: var(--cinza-escuro); line-height: 1.5; }
.tc-checklist li:last-child { border-bottom: none; }
.tc-checklist li::before { content: ''; width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, var(--azul-mega), var(--vermelho-mega)); flex-shrink: 0; margin-top: 2px; display: block; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); background-size: 12px; background-repeat: no-repeat; background-position: center; }

/* Steps */
.tc-steps { display: flex; flex-direction: column; gap: 0; }
.tc-step { display: flex; gap: 16px; position: relative; padding-bottom: 28px; }
.tc-step:last-child { padding-bottom: 0; }
.tc-step:not(:last-child)::before { content: ''; position: absolute; left: 19px; top: 40px; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--azul-mega), rgba(21,5,119,.1)); }
.tc-step-num { width: 40px; height: 40px; border-radius: 50%; background: var(--azul-mega); color: #fff; font-family: var(--font-gate); font-size: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tc-step-body { flex: 1; }
.tc-step-title { font-weight: 700; color: var(--azul-mega); font-size: 15px; margin-bottom: 4px; }
.tc-step-desc { font-size: 13px; color: var(--cinza-escuro); line-height: 1.65; }

/* CTA strip in training page */
.tc-cta-strip {
  background: linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new));
  border-radius: 20px;
  padding: clamp(24px,4vw,40px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin: 40px 0;
}
.tc-cta-strip h3 { font-family: var(--font-gate); font-size: clamp(18px,2.5vw,28px); color: #fff; margin-bottom: 5px; }
.tc-cta-strip p  { font-size: 14px; color: rgba(255,255,255,.6); }

/* ─── COLLAB STATE CLASSES (replaces JS display:none stubs) ─────── */
.hidden-until-loaded { display: none; }
.collab-hero-stub { height: 140px; }
.collab-hero-stub-lg { height: 180px; }
.collab-container-pt { padding-top: 28px; }
.collab-container-pt-lg { padding-top: 32px; }
.sk-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 24px; }
.sk-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.sk-mb16  { margin-bottom: 16px; }
.sk-mb24  { margin-bottom: 24px; }
.overflow-x-auto { overflow-x: auto; }

/* Eval heading in prova */
.eval-section-h { font-family: var(--font-comfortaa); font-size: 14px; font-weight: 700; color: var(--azul-mega); margin-bottom: 12px; }
.eval-stars-wrap { margin-top: 16px; }
.eval-mt { margin-top: 14px; }

/* Back-link in training content */
.tc-back-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--azul-mega);
  margin-bottom: 12px; text-decoration: none; transition: color .2s;
}
.tc-back-link:hover { color: var(--vermelho-mega); }
.tc-back-link i[data-lucide] { width: 14px; height: 14px; }

/* ─── EXTRA COLLAB UTILITIES ─────────────────────────────────────── */
.sk-w300 { max-width: 300px; }
.star-hint { font-size: 11px; color: var(--cinza-medio); margin-top: 4px; }
.upload-modal-colab { font-size: 13px; color: var(--cinza-medio); margin-top: 2px; }
.upload-modal-trein { font-size: 11px; color: var(--cinza-medio); }

/* JS-controlled: show/hide via JS overriding hidden-until-loaded */
.hidden-until-loaded { display: none !important; }
.btn-group-center-mt { justify-content: center; margin-top: 16px; }

/* ══════════════════════════════════════════════════════════════════
   MEGA BRILHO — MÓDULO EMPRESAS / SISTEMA CLEANER
   ══════════════════════════════════════════════════════════════════ */

/* ─── CLEANER APP LAYOUT ─────────────────────────────────────────── */
.cleaner-app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--cinza-bg);
  padding-top: var(--nav-h);
}

/* App top bar */
.cleaner-topbar {
  background: #fff;
  border-bottom: 1px solid var(--cinza-claro);
  padding: 0 var(--px);
  position: sticky;
  top: var(--nav-h);
  z-index: 60;
}
.cleaner-topbar-inner {
  max-width: var(--container);
  margin: 0 auto;
  height: 60px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.cleaner-step-indicator {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.cleaner-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--cinza-medio);
  padding: 4px 10px;
  border-radius: 999px;
  transition: all .2s;
}
.cleaner-step.active { background: var(--azul-mega); color: #fff; }
.cleaner-step.done   { background: #dcfce7; color: #15803d; }
.cleaner-step-num {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: currentColor;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 700; color: #fff;
}
.cleaner-step.active .cleaner-step-num { background: rgba(255,255,255,.3); }
.cleaner-step.done   .cleaner-step-num { background: #15803d; }
.cleaner-step-arrow { color: var(--cinza-claro); font-size: 14px; padding: 0 4px; }

/* Client chip in topbar */
.cleaner-client-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--cinza-bg);
  border: 1px solid var(--cinza-claro);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--azul-mega);
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
  white-space: nowrap;
}
.cleaner-client-chip:hover { background: #eff6ff; border-color: var(--azul-mega); }
.cleaner-client-chip i[data-lucide] { width: 14px; height: 14px; }
.cleaner-topbar-actions { margin-left: auto; display: flex; gap: 8px; flex-shrink: 0; }

/* ─── ACCESS DENIED ──────────────────────────────────────────────── */
.access-denied {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px var(--px);
  text-align: center;
}
.access-denied-inner { max-width: 440px; }
.access-icon {
  width: 72px; height: 72px;
  border-radius: 20px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  background: #fff5f5;
  color: var(--vermelho-mega);
}
.access-icon i[data-lucide] { width: 34px; height: 34px; }
.access-title { font-family: var(--font-gate); font-size: 28px; color: var(--azul-mega); margin-bottom: 10px; }
.access-sub { font-size: 14px; color: var(--cinza-medio); line-height: 1.7; margin-bottom: 24px; }

/* ─── CLIENT SELECT SCREEN ───────────────────────────────────────── */
.client-select-screen {
  flex: 1;
  padding: 40px var(--px) 60px;
  max-width: var(--container);
  margin: 0 auto;
  width: 100%;
}
.client-select-header { margin-bottom: 32px; }
.client-select-title { font-family: var(--font-gate); font-size: clamp(24px,3vw,40px); color: var(--azul-mega); margin-bottom: 6px; }
.client-select-sub { font-size: 14px; color: var(--cinza-medio); }
.client-search-bar { position: relative; max-width: 420px; margin-bottom: 24px; }
.client-search-bar i[data-lucide] { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--cinza-medio); pointer-events: none; }
.client-search-input { width: 100%; padding: 11px 12px 11px 42px; border: 2px solid var(--cinza-claro); border-radius: 10px; font-family: var(--font-poppins); font-size: 14px; outline: none; transition: border-color .3s; background: #fff; }
.client-search-input:focus { border-color: var(--azul-mega); }
.client-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 14px; margin-bottom: 32px; }
.client-card {
  background: #fff;
  border: 2px solid var(--cinza-claro);
  border-radius: 16px;
  padding: 18px 20px;
  cursor: pointer;
  transition: all .25s var(--ease);
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.client-card:hover { border-color: var(--azul-mega); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(21,5,119,.08); }
.client-card.selected { border-color: var(--azul-mega); background: #eff6ff; }
.client-avatar {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--azul-mega), var(--azul-mid-new));
  color: #fff;
  font-family: var(--font-gate);
  font-size: 16px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.client-info { flex: 1; min-width: 0; }
.client-name { font-weight: 700; font-size: 14px; color: var(--azul-mega); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.client-cnpj { font-size: 11px; color: var(--cinza-medio); margin-top: 2px; }
.client-city { font-size: 12px; color: var(--cinza-escuro); }
.client-add-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 2px dashed var(--cinza-claro);
  border-radius: 16px;
  padding: 18px 20px;
  cursor: pointer;
  color: var(--azul-mega);
  font-family: var(--font-poppins);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
  width: 100%;
}
.client-add-btn:hover { border-color: var(--azul-mega); background: #f0f4ff; }
.client-add-btn i[data-lucide] { width: 20px; height: 20px; }

/* ─── CATALOG LAYOUT ─────────────────────────────────────────────── */
.catalog-layout {
  flex: 1;
  display: grid;
  grid-template-columns: 220px 1fr 340px;
  gap: 0;
  max-height: calc(100vh - var(--nav-h) - 60px);
  overflow: hidden;
}
@media (max-width: 1200px) { .catalog-layout { grid-template-columns: 200px 1fr 300px; } }
@media (max-width: 900px)  { .catalog-layout { grid-template-columns: 1fr; max-height: none; overflow: visible; } }

/* Category sidebar */
.catalog-sidebar {
  background: #fff;
  border-right: 1px solid var(--cinza-claro);
  overflow-y: auto;
  padding: 16px 0;
}
.catalog-sidebar-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--cinza-medio); padding: 0 16px 10px; }
.cat-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 16px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 500;
  color: var(--cinza-escuro);
  text-align: left;
  transition: all .15s;
  border-right: 3px solid transparent;
}
.cat-btn:hover { background: var(--cinza-bg); color: var(--azul-mega); }
.cat-btn.active { background: #eff6ff; color: var(--azul-mega); font-weight: 700; border-right-color: var(--azul-mega); }
.cat-btn .cat-count { margin-left: auto; font-size: 10px; background: var(--cinza-bg); color: var(--cinza-medio); padding: 2px 7px; border-radius: 999px; font-weight: 700; }
.cat-btn.active .cat-count { background: rgba(21,5,119,.1); color: var(--azul-mega); }

/* Product grid area */
.catalog-main {
  overflow-y: auto;
  background: var(--cinza-bg);
}
.catalog-search-bar {
  background: #fff;
  border-bottom: 1px solid var(--cinza-claro);
  padding: 12px 16px;
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  gap: 10px;
  align-items: center;
}
.catalog-search-wrap { position: relative; flex: 1; }
.catalog-search-wrap i[data-lucide] { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: var(--cinza-medio); pointer-events: none; }
.catalog-search-input { width: 100%; padding: 9px 12px 9px 36px; border: 2px solid var(--cinza-claro); border-radius: 8px; font-family: var(--font-poppins); font-size: 13px; outline: none; transition: border-color .3s; }
.catalog-search-input:focus { border-color: var(--azul-mega); }
.catalog-filter-purpose {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.purpose-btn {
  padding: 7px 12px;
  border-radius: 8px;
  border: 2px solid var(--cinza-claro);
  background: #fff;
  font-family: var(--font-poppins);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
  color: var(--cinza-escuro);
}
.purpose-btn.active.consumo { background: var(--azul-mega); border-color: var(--azul-mega); color: #fff; }
.purpose-btn.active.revenda { background: var(--vermelho-mega); border-color: var(--vermelho-mega); color: #fff; }
.purpose-btn:not(.active):hover { border-color: var(--cinza-medio); }
.catalog-count-bar { padding: 10px 16px; font-size: 12px; color: var(--cinza-medio); font-weight: 500; }
.product-grid-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 12px; padding: 0 16px 16px; }

/* Product card */
.product-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(21,5,119,.05);
  box-shadow: 0 2px 8px rgba(21,5,119,.04);
  transition: all .25s var(--ease);
  display: flex;
  flex-direction: column;
}
.product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(21,5,119,.09); }
.product-card.in-cart { border-color: var(--azul-mega); box-shadow: 0 0 0 2px rgba(21,5,119,.15); }
.product-img-wrap { aspect-ratio: 1; background: var(--cinza-bg); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.product-img-wrap img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform .3s; }
.product-card:hover .product-img-wrap img { transform: scale(1.07); }
.product-body { padding: 12px 13px 13px; flex: 1; display: flex; flex-direction: column; }
.product-code { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cinza-medio); margin-bottom: 2px; }
.product-name { font-size: 13px; font-weight: 700; color: var(--azul-mega); margin-bottom: 3px; line-height: 1.3; }
.product-desc { font-size: 11px; color: var(--cinza-medio); line-height: 1.4; flex: 1; margin-bottom: 8px; }
.product-price-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.product-price { font-family: var(--font-gate); font-size: 18px; color: var(--azul-mega); letter-spacing: -.01em; }
.product-price-with-tax { font-size: 10px; color: var(--cinza-medio); }
.product-size-select {
  width: 100%;
  padding: 6px 8px;
  border: 2px solid var(--cinza-claro);
  border-radius: 7px;
  font-family: var(--font-poppins);
  font-size: 12px;
  font-weight: 600;
  color: var(--azul-mega);
  outline: none;
  cursor: pointer;
  margin-bottom: 8px;
  transition: border-color .2s;
}
.product-size-select:focus { border-color: var(--azul-mega); }
.product-option-select {
  width: 100%;
  padding: 6px 8px;
  border: 2px solid var(--cinza-claro);
  border-radius: 7px;
  font-family: var(--font-poppins);
  font-size: 12px;
  color: var(--cinza-escuro);
  outline: none;
  margin-bottom: 8px;
}
.product-qty-row { display: flex; align-items: center; gap: 6px; }
.qty-btn {
  width: 30px; height: 30px;
  border-radius: 8px;
  border: 2px solid var(--cinza-claro);
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  color: var(--azul-mega);
  transition: all .15s;
  flex-shrink: 0;
}
.qty-btn:hover { background: var(--azul-mega); border-color: var(--azul-mega); color: #fff; }
.qty-input {
  flex: 1;
  height: 30px;
  border: 2px solid var(--cinza-claro);
  border-radius: 8px;
  text-align: center;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 700;
  color: var(--azul-mega);
  outline: none;
  transition: border-color .2s;
}
.qty-input:focus { border-color: var(--azul-mega); }
.btn-add-cart {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: var(--azul-mega);
  border: none;
  cursor: pointer;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
  flex-shrink: 0;
}
.btn-add-cart:hover { background: var(--azul-hover); transform: scale(1.08); }
.btn-add-cart i[data-lucide] { width: 15px; height: 15px; }
.btn-add-cart.added { background: #16a34a; }

/* ─── CART PANEL ─────────────────────────────────────────────────── */
.cart-panel {
  background: #fff;
  border-left: 1px solid var(--cinza-claro);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.cart-header {
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--cinza-claro);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.cart-title { font-family: var(--font-comfortaa); font-size: 14px; font-weight: 700; color: var(--azul-mega); }
.cart-badge { background: var(--vermelho-mega); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 999px; }
.cart-items { flex: 1; overflow-y: auto; padding: 10px 12px; }
.cart-empty { text-align: center; padding: 40px 20px; }
.cart-empty-icon { width: 52px; height: 52px; background: var(--cinza-bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.cart-empty-icon i[data-lucide] { width: 24px; height: 24px; color: var(--cinza-medio); }
.cart-empty-title { font-size: 13px; font-weight: 700; color: var(--cinza-escuro); margin-bottom: 4px; }
.cart-empty-sub { font-size: 11px; color: var(--cinza-medio); }
.cart-item {
  display: flex;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 10px;
  border: 1px solid var(--cinza-bg);
  background: var(--cinza-bg);
  margin-bottom: 8px;
  transition: border-color .2s;
}
.cart-item:hover { border-color: var(--cinza-claro); }
.cart-item-img { width: 40px; height: 40px; border-radius: 8px; background: #fff; border: 1px solid var(--cinza-claro); object-fit: contain; padding: 3px; flex-shrink: 0; }
.cart-item-body { flex: 1; min-width: 0; }
.cart-item-name { font-size: 12px; font-weight: 700; color: var(--azul-mega); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cart-item-meta { font-size: 10px; color: var(--cinza-medio); margin-top: 1px; }
.cart-item-desc-edit {
  width: 100%;
  font-family: var(--font-poppins);
  font-size: 10px;
  color: var(--cinza-escuro);
  border: 1px solid transparent;
  background: transparent;
  border-radius: 5px;
  padding: 2px 4px;
  margin-top: 3px;
  transition: border-color .2s, background .2s;
  resize: none;
  outline: none;
}
.cart-item-desc-edit:hover { border-color: var(--cinza-claro); background: #fff; }
.cart-item-desc-edit:focus { border-color: var(--azul-mega); background: #fff; }
.cart-item-bottom { display: flex; align-items: center; gap: 5px; margin-top: 5px; }
.cart-qty-btn { width: 22px; height: 22px; border-radius: 5px; border: 1px solid var(--cinza-claro); background: #fff; font-size: 13px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--azul-mega); transition: all .15s; }
.cart-qty-btn:hover { background: var(--azul-mega); border-color: var(--azul-mega); color: #fff; }
.cart-qty-input { width: 36px; height: 22px; text-align: center; border: 1px solid var(--cinza-claro); border-radius: 5px; font-family: var(--font-poppins); font-size: 12px; font-weight: 700; color: var(--azul-mega); outline: none; background: #fff; }
.cart-item-total { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--azul-mega); white-space: nowrap; }
.cart-item-remove { background: none; border: none; cursor: pointer; color: var(--cinza-medio); padding: 2px; border-radius: 4px; display: flex; transition: color .15s; flex-shrink: 0; }
.cart-item-remove:hover { color: var(--vermelho-mega); }
.cart-item-remove i[data-lucide] { width: 13px; height: 13px; }

/* Cart footer (config + totals) */
.cart-footer { border-top: 1px solid var(--cinza-claro); padding: 12px 14px 14px; flex-shrink: 0; }
.cart-config-row { display: flex; gap: 8px; margin-bottom: 10px; }
.cart-config-select {
  flex: 1;
  padding: 8px 10px;
  border: 2px solid var(--cinza-claro);
  border-radius: 8px;
  font-family: var(--font-poppins);
  font-size: 12px;
  font-weight: 600;
  color: var(--azul-mega);
  outline: none;
  transition: border-color .2s;
  cursor: pointer;
}
.cart-config-select:focus { border-color: var(--azul-mega); }
.cart-totals { margin-bottom: 10px; }
.cart-total-row { display: flex; justify-content: space-between; font-size: 12px; color: var(--cinza-escuro); padding: 3px 0; }
.cart-total-row.main { font-size: 14px; font-weight: 700; color: var(--azul-mega); border-top: 1px solid var(--cinza-claro); padding-top: 7px; margin-top: 4px; }
.cart-total-row.discount { color: #16a34a; font-weight: 600; }
.cart-save-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px;
  background: var(--azul-mega);
  color: #fff;
  font-family: var(--font-poppins);
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all .3s;
}
.cart-save-btn:hover:not(:disabled) { background: var(--azul-hover); transform: translateY(-1px); box-shadow: var(--shadow-blue); }
.cart-save-btn:disabled { opacity: .5; cursor: not-allowed; }
.cart-save-btn i[data-lucide] { width: 17px; height: 17px; }

/* ─── QUOTE HISTORY (drawer / screen) ───────────────────────────── */
.history-screen { flex: 1; padding: 28px var(--px) 60px; max-width: var(--container); margin: 0 auto; width: 100%; }
.history-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 14px; }
.quote-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(21,5,119,.05);
  border: 1px solid rgba(21,5,119,.05);
  transition: all .2s;
}
.quote-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(21,5,119,.09); }
.quote-card-header { padding: 14px 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--cinza-bg); }
.quote-num { font-family: var(--font-gate); font-size: 18px; color: var(--azul-mega); }
.quote-date { font-size: 11px; color: var(--cinza-medio); margin-top: 2px; }
.quote-status {
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 4px 10px; border-radius: 999px; border: 1px solid; white-space: nowrap; flex-shrink: 0;
}
.quote-status.pendente { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.quote-status.aprovada { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.quote-status.cancelada { background: #fff5f5; color: #b91c1c; border-color: #fecaca; }
.quote-card-body { padding: 12px 16px; }
.quote-summary { font-size: 12px; color: var(--cinza-medio); margin-bottom: 8px; }
.quote-total { font-family: var(--font-gate); font-size: 22px; color: var(--azul-mega); margin-bottom: 8px; }
.quote-term-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: var(--azul-mega); background: #eff6ff; padding: 3px 10px; border-radius: 999px; }
.quote-card-actions { padding: 10px 14px; background: var(--cinza-bg); display: flex; gap: 8px; }
.quote-action-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700;
  padding: 6px 12px; border-radius: 7px;
  border: none; cursor: pointer; transition: all .2s;
}
.quote-action-btn.edit   { background: var(--azul-mega); color: #fff; }
.quote-action-btn.edit:hover { background: var(--azul-hover); }
.quote-action-btn.approve { background: #16a34a; color: #fff; }
.quote-action-btn.approve:hover { background: #15803d; }
.quote-action-btn.pdf    { background: #d97706; color: #fff; }
.quote-action-btn.pdf:hover { background: #b45309; }
.quote-action-btn.cancel { background: var(--cinza-bg); color: var(--vermelho-mega); border: 1px solid #fecaca; }
.quote-action-btn.cancel:hover { background: #fff5f5; }
.quote-action-btn i[data-lucide] { width: 12px; height: 12px; }

/* ─── NEW CLIENT MODAL ───────────────────────────────────────────── */
.modal-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
@media (max-width: 500px) { .modal-form-grid { grid-template-columns: 1fr; } }
.modal-form-full { grid-column: 1 / -1; }
.modal-form-select {
  width: 100%;
  padding: 11px 12px;
  border: 2px solid var(--cinza-claro);
  border-radius: 8px;
  font-family: var(--font-poppins);
  font-size: 13px;
  outline: none;
  transition: border-color .3s;
  background: #fff;
}
.modal-form-select:focus { border-color: var(--azul-mega); }

/* ─── QUOTE DETAIL MODAL ─────────────────────────────────────────── */
.quote-detail-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.quote-detail-table th { background: var(--azul-mega); color: #fff; padding: 10px 12px; text-align: left; font-size: 10px; font-family: var(--font-comfortaa); text-transform: uppercase; letter-spacing: .06em; }
.quote-detail-table td { padding: 10px 12px; border-bottom: 1px solid var(--cinza-claro); color: var(--cinza-escuro); vertical-align: middle; }
.quote-detail-table tr:last-child td { border-bottom: none; }
.quote-detail-table tr:nth-child(even) td { background: var(--cinza-bg); }
.quote-detail-total-row { background: #eff6ff !important; font-weight: 700; color: var(--azul-mega) !important; font-size: 13px !important; }
.quote-detail-img { width: 36px; height: 36px; object-fit: contain; border-radius: 6px; background: var(--cinza-bg); padding: 3px; }

/* ─── EMPRESAS SECTION in Index (new 2-path) ─────────────────────── */
.empresas-paths-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
@media (max-width: 640px) { .empresas-paths-grid { grid-template-columns: 1fr; } }
.empresa-path-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all .3s var(--ease);
  text-decoration: none;
}
.empresa-path-card:hover { background: rgba(255,255,255,.12); transform: translateY(-4px); border-color: rgba(255,255,255,.25); }
.empresa-path-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.empresa-path-icon.blue { background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); }
.empresa-path-icon.red  { background: rgba(171,23,21,.25); color: #ff8a8a; }
.empresa-path-icon i[data-lucide] { width: 24px; height: 24px; }
.empresa-path-title { font-family: var(--font-comfortaa); font-size: 18px; font-weight: 700; color: #fff; }
.empresa-path-sub { font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.6; }
.empresa-path-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: rgba(255,255,255,.7); margin-top: 4px; transition: color .2s; }
.empresa-path-card:hover .empresa-path-cta { color: #fff; }
.empresa-path-cta i[data-lucide] { width: 14px; height: 14px; }

/* ─── CADASTRO CNPJ PAGE ──────────────────────────────────────────── */
.cnpj-page-hero {
  background:
    radial-gradient(ellipse 70% 80% at 90% -5%, rgba(171,23,21,.22) 0%, transparent 50%),
    linear-gradient(155deg, #0a0245 0%, var(--azul-mega) 55%, var(--azul-mid-new) 100%);
  padding: calc(var(--nav-h) + 40px) var(--px) 60px;
  position: relative;
  overflow: hidden;
}
.cnpj-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size: 80px 80px;
}
.cnpj-hero-inner { position: relative; z-index: 1; max-width: 640px; }
.cnpj-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(171,23,21,.2); border: 1px solid rgba(171,23,21,.4); color: rgba(255,255,255,.8); font-family: var(--font-comfortaa); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 7px 16px; border-radius: 999px; margin-bottom: 20px; }
.cnpj-hero-title { font-family: var(--font-gate); font-size: clamp(30px,5vw,60px); color: #fff; line-height: 1.1; margin-bottom: 14px; }
.cnpj-hero-sub { font-size: 16px; color: rgba(255,255,255,.65); line-height: 1.7; }
.cnpj-wave { position: absolute; bottom: -2px; left: 0; right: 0; pointer-events: none; }
.cnpj-wave svg { width: 100%; display: block; }

/* CNPJ Form tabs */
.cnpj-tabs { display: flex; gap: 0; max-width: 800px; margin: 0 auto 32px; background: var(--cinza-bg); padding: 4px; border-radius: 12px; }
.cnpj-tab-btn {
  flex: 1;
  padding: 11px 16px;
  border: none;
  background: transparent;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 600;
  color: var(--cinza-medio);
  border-radius: 9px;
  cursor: pointer;
  transition: all .2s;
}
.cnpj-tab-btn.active { background: var(--azul-mega); color: #fff; box-shadow: 0 2px 8px rgba(21,5,119,.2); }

/* CNPJ Form card */
.cnpj-form-card { max-width: 800px; margin: 0 auto; background: #fff; border-radius: 20px; padding: clamp(24px,4vw,44px); box-shadow: 0 4px 24px rgba(21,5,119,.07); }
.cnpj-form-section { margin-bottom: 28px; }
.cnpj-form-section-title { font-family: var(--font-comfortaa); font-size: 13px; font-weight: 700; color: var(--azul-mega); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid var(--cinza-bg); display: flex; align-items: center; gap: 8px; }
.cnpj-form-section-title i[data-lucide] { width: 15px; height: 15px; color: var(--vermelho-mega); }
.cnpj-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .cnpj-grid-2 { grid-template-columns: 1fr; } }
.cnpj-grid-3 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .cnpj-grid-3 { grid-template-columns: 1fr; } }
.cnpj-full { grid-column: 1 / -1; }
.cnpj-check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 8px; }
.cnpj-check-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--cinza-escuro); cursor: pointer; }
.cnpj-check-item input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--azul-mega); cursor: pointer; }
.cnpj-file-input { padding: 10px 12px; border: 2px dashed var(--cinza-claro); border-radius: 8px; font-size: 13px; cursor: pointer; width: 100%; transition: border-color .2s; background: var(--cinza-bg); }
.cnpj-file-input:focus { border-color: var(--azul-mega); }
.cnpj-submit-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  background: var(--vermelho-mega);
  color: #fff;
  font-family: var(--font-poppins);
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: all .3s;
  margin-top: 24px;
}
.cnpj-submit-btn:hover:not(:disabled) { background: var(--vermelho-dark); transform: translateY(-2px); box-shadow: var(--shadow-red); }
.cnpj-submit-btn:disabled { opacity: .6; cursor: not-allowed; }
.cnpj-success-wrap { text-align: center; padding: 60px 20px; }
.cnpj-success-icon { width: 80px; height: 80px; background: #dcfce7; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: #16a34a; }
.cnpj-success-icon i[data-lucide] { width: 38px; height: 38px; }
.cnpj-success-title { font-family: var(--font-gate); font-size: 32px; color: var(--azul-mega); margin-bottom: 10px; }
.cnpj-success-sub { font-size: 15px; color: var(--cinza-medio); line-height: 1.7; max-width: 480px; margin: 0 auto 28px; }

/* Notification toast */
.toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  background: var(--azul-mega);
  color: #fff;
  font-family: var(--font-poppins);
  font-size: 13px;
  font-weight: 600;
  padding: 14px 20px;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(21,5,119,.25);
  display: flex;
  align-items: center;
  gap: 10px;
  animation: toast-in .3s var(--ease-spring);
  max-width: 360px;
}
.toast.success { background: #16a34a; }
.toast.error   { background: var(--vermelho-mega); }
.toast i[data-lucide] { width: 17px; height: 17px; flex-shrink: 0; }
@keyframes toast-in { from { opacity:0; transform: translateY(20px) scale(.9); } to { opacity:1; transform:translateY(0) scale(1); } }

/* ─── FINAL UTILITIES (inline style replacements) ────────────────── */

/* Cleaner app screens initial state */
.cleaner-app-screen { display: none; }

/* Btn group variants */
.btn-group-center    { justify-content: center; gap: 12px; }
.btn-group-mt28      { margin-top: 28px; }
.btn-group-center-mt { justify-content: center; }

/* Small topbar action button */
.btn-sm-topbar { font-size: 12px; padding: 8px 14px; }

/* Client screen skeleton items */
.sk-client { height: 90px; border-radius: 16px; }
.sk-history { height: 160px; border-radius: 16px; }

/* History section header */
.history-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}
.history-section-h { margin: 4px 0 0; }
.history-client-name { font-size: 13px; color: var(--cinza-medio); margin-top: 2px; }
.history-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }

/* Modal XL */
.modal-box-xl { max-width: 860px; }

/* Quote detail meta */
.qd-meta { font-size: 12px; color: var(--cinza-medio); margin-top: 2px; }

/* Hero badge pills (cadastro-cnpj) */
.cnpj-hero-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cnpj-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 12px;
  font-family: var(--font-comfortaa);
  font-weight: 700;
}
.cnpj-hero-pill i[data-lucide] { width: 13px; height: 13px; }

/* Cadastro main wrapper */
.cnpj-main { background: var(--cinza-bg); padding: 48px 0 80px; }
.cnpj-main-inner { max-width: 860px; margin: 0 auto; padding: 0 var(--px); }

/* Tabs in-page icons */
.cnpj-tab-icon { width: 15px; height: 15px; margin-right: 6px; }

/* Form inline helpers */
.f-group-mb16 { margin-bottom: 16px; }
.f-label-block { margin-bottom: 10px; display: block; }

/* ─── TAB-TOGGLED ELEMENTS (JS controls show/hide, no !important) ── */
.tab-hidden { display: none; }

/* ─── CADASTRO CNPJ — ELEMENTOS ADICIONAIS ───────────────────────── */

/* Campo obrigatório asterisco */
.req { color: var(--vermelho-mega); }
.cnpj-section-note { font-size: 11px; font-weight: 400; color: var(--cinza-medio); margin-left: 4px; }

/* Benefícios grid */
.cnpj-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 40px;
}
@media (min-width: 640px) { .cnpj-benefits-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cnpj-benefits-grid { grid-template-columns: repeat(6, 1fr); } }
.cnpj-benefit-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 12px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(21,5,119,.05);
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--azul-mega);
  transition: all .2s;
}
.cnpj-benefit-item:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(21,5,119,.09); }
.cnpj-benefit-item i[data-lucide] { width: 22px; height: 22px; color: var(--vermelho-mega); }

/* Endereço grid */
.cnpj-addr-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) { .cnpj-addr-grid { grid-template-columns: 3fr 1fr; } }
.cnpj-addr-logradouro { grid-column: 1; }
.cnpj-addr-numero { grid-column: 2; }
.cnpj-addr-cidade { grid-column: 1; }
.cnpj-addr-cep { grid-column: 2; }
@media (max-width: 639px) {
  .cnpj-addr-logradouro, .cnpj-addr-numero, .cnpj-addr-cidade, .cnpj-addr-cep { grid-column: 1; }
}

/* Attention note */
.cnpj-attention-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  padding: 14px 18px;
  margin-top: 16px;
  font-size: 13px;
  color: var(--cinza-escuro);
  line-height: 1.6;
}
.cnpj-attention-note i[data-lucide] { width: 17px; height: 17px; color: var(--azul-mega); flex-shrink: 0; margin-top: 1px; }
.cnpj-attention-note strong { color: var(--azul-mega); }

/* Comodato section */
.cnpj-comodato-section { margin-top: 64px; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 24px rgba(21,5,119,.07); }
.cnpj-comodato-banner { display: block; }
.cnpj-comodato-banner img { width: 100%; display: block; object-fit: cover; }
.cnpj-comodato-body { background: #fff; padding: clamp(28px,4vw,48px); }
.cnpj-comodato-title { font-family: var(--font-gate); font-size: clamp(22px,3vw,34px); color: var(--azul-mega); text-align: center; margin-bottom: 14px; }
.cnpj-comodato-sub { font-size: 15px; color: var(--cinza-escuro); text-align: center; max-width: 720px; margin: 0 auto 36px; line-height: 1.7; }
.cnpj-abc-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; padding-top: 28px; border-top: 1px solid var(--cinza-claro); }
@media (min-width: 640px) { .cnpj-abc-grid { grid-template-columns: repeat(3, 1fr); } }
.cnpj-abc-item { display: flex; align-items: flex-start; gap: 14px; }
.cnpj-abc-letter { width: 48px; height: 48px; border-radius: 50%; background: #fff5f5; color: var(--vermelho-mega); font-family: var(--font-gate); font-size: 22px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cnpj-abc-item p { font-size: 14px; color: var(--cinza-escuro); line-height: 1.6; }
.cnpj-equip-title { font-family: var(--font-comfortaa); font-size: 18px; font-weight: 700; color: var(--azul-mega); text-align: center; margin-bottom: 20px; padding-top: 28px; border-top: 1px solid var(--cinza-claro); }
.cnpj-equip-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 640px) { .cnpj-equip-grid { grid-template-columns: repeat(4, 1fr); } }
.cnpj-equip-card { background: var(--cinza-bg); border: 1px solid var(--cinza-claro); border-radius: 12px; padding: 12px; text-align: center; }
.cnpj-equip-img { width: 100%; height: 120px; object-fit: contain; cursor: zoom-in; transition: transform .3s; border-radius: 8px; }
.cnpj-equip-img:hover { transform: scale(1.05); }
.cnpj-equip-name { font-size: 12px; color: var(--azul-mega); margin-top: 8px; line-height: 1.4; }
.cnpj-comodato-cta { margin-top: 32px; text-align: center; padding-top: 28px; border-top: 1px solid var(--cinza-claro); }
.btn-whatsapp-green {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;
  color: #fff;
  font-family: var(--font-poppins);
  font-size: 16px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: 12px;
  text-decoration: none;
  transition: all .3s;
  box-shadow: 0 4px 14px rgba(37,211,102,.35);
}
.btn-whatsapp-green:hover { background: #20ba58; transform: scale(1.04); box-shadow: 0 6px 20px rgba(37,211,102,.45); }
.btn-whatsapp-green svg { width: 22px; height: 22px; flex-shrink: 0; }

/* Image modal */
.cnpj-img-modal-box { position: relative; max-width: 720px; max-height: 90vh; }
.cnpj-img-modal-box img { max-width: 100%; max-height: 85vh; border-radius: 12px; display: block; }
.cnpj-img-modal-close { position: absolute; top: -14px; right: -14px; background: #fff; border-radius: 50%; width: 34px; height: 34px; }
