:root {
    --site-bg: #f5f7fb;
    --site-card: #ffffff;
    --site-text: #101828;
    --site-muted: #667085;
    --site-border: rgba(16, 24, 40, 0.08);
    --site-dark: #0f172a;
    --site-accent: #c1121f;
    --site-gold: #f4b400;
    --site-sidebar-start: #0f172a;
    --site-sidebar-end: #111827;
    --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);
    --radius-xl: 1.5rem;
}

html, body {
    background: var(--site-bg);
    color: var(--site-text);
}

body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

.brand-kicker {
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--site-accent);
}

.brand-title {
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
}

.site-header {
    backdrop-filter: blur(12px);
}

.site-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    border-radius: 1rem;
    background: rgba(15, 23, 42, 0.04);
    padding: .35rem;
}

.site-logo-sm {
    width: 38px;
    height: 38px;
    padding: .25rem;
}

.site-logo-dashboard {
    background: rgba(255,255,255,.1);
}

.searchbar {
    min-width: min(100%, 520px);
    background: #eef2f6;
    border-radius: 999px;
    padding: .35rem;
}

.searchbar .form-control {
    background: transparent;
    box-shadow: none;
}

.nav-link-custom {
    color: var(--site-text);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
    padding: .25rem 0;
}

.nav-link-custom:hover {
    color: var(--site-accent);
}

.hero-section {
    background:
        radial-gradient(circle at top right, rgba(193, 18, 31, 0.08), transparent 35%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.breaking-strip {
    display: flex;
    gap: 1rem;
    align-items: center;
    background: var(--site-dark);
    color: white;
    border-radius: var(--radius-xl);
    padding: 1rem 1.25rem;
    overflow: hidden;
}

.breaking-label {
    background: var(--site-accent);
    color: white;
    font-weight: 700;
    border-radius: 999px;
    padding: .45rem .9rem;
    white-space: nowrap;
}

.breaking-items {
    display: flex;
    gap: .9rem;
    align-items: center;
    flex-wrap: wrap;
    color: rgba(255,255,255,.86);
}

.article-card,
.video-card,
.auth-card,
.metric-card,
.panel-card,
.partner-card,
.reward-card,
.pricing-card,
.premium-cta-card,
.rank-card,
.side-widget,
.search-result-card,
.empty-state {
    background: var(--site-card);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-soft);
}

.article-card,
.video-card {
    overflow: hidden;
}

.article-card .card-body,
.video-card .card-body {
    padding: 1.25rem;
}

.article-card-lg .card-body {
    padding: 1.5rem;
}

.article-image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: linear-gradient(135deg, #e9eef5, #dde6f0);
}

.eyebrow {
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--site-accent);
}

.meta-row,
.article-meta {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    color: var(--site-muted);
    font-size: .9rem;
}

.sidebar-stack {
    display: grid;
    gap: 1rem;
}

.premium-cta-card,
.rank-card,
.side-widget,
.partner-card,
.reward-card,
.pricing-card,
.panel-card,
.auth-card,
.metric-card,
.search-result-card,
.empty-state {
    padding: 1.5rem;
}

.rank-card ol {
    padding-left: 1.2rem;
}

.ranking-list li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .45rem 0;
    border-bottom: 1px solid var(--site-border);
}

.ranking-list li:last-child {
    border-bottom: 0;
}

.section-dark {
    background: linear-gradient(180deg, #0f172a, #111827);
}

.video-thumb-wrap {
    position: relative;
    display: block;
}

.video-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: var(--site-dark);
    font-size: 1.3rem;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.community-strip,
.premium-hero {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: center;
    background: white;
    border-radius: calc(var(--radius-xl) + .25rem);
    box-shadow: var(--shadow-soft);
    padding: 1.5rem 1.75rem;
    flex-wrap: wrap;
}

.article-page .article-content {
    background: white;
    border-radius: calc(var(--radius-xl) + .25rem);
    box-shadow: var(--shadow-soft);
    padding: 1.5rem;
}

.article-toolbar {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.article-body {
    line-height: 1.9;
    color: #1f2937;
}

.article-body p,
.article-body ul,
.article-body ol {
    margin-bottom: 1.25rem;
}

.article-body h2,
.article-body h3 {
    margin-top: 2rem;
    margin-bottom: .85rem;
}

.reading-progress {
    width: 100%;
    height: 6px;
    background: #eaecf0;
    border-radius: 999px;
    overflow: hidden;
}

.reading-progress-bar {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--site-accent), #ef4444);
    transition: width .18s ease-out;
}

.premium-wall {
    background: linear-gradient(135deg, #111827, #1f2937);
    color: white;
}

.auth-page {
    min-height: calc(100vh - 220px);
}

.auth-card {
    padding: 2rem;
}

.footer-title {
    font-size: .95rem;
    font-weight: 700;
    margin-bottom: .85rem;
}

.footer-links a {
    color: var(--site-muted);
    text-decoration: none;
    display: inline-block;
    padding: .25rem 0;
}

.footer-links a:hover {
    color: var(--site-accent);
}

.footer-note,
.newsletter-card {
    background: rgba(15, 23, 42, 0.04);
    border-radius: 1rem;
    padding: 1rem;
}

.pricing-card {
    padding: 1.75rem;
}

.pricing-features li {
    padding: .45rem 0;
    border-bottom: 1px solid var(--site-border);
}

.pricing-features li:last-child {
    border-bottom: 0;
}

.reward-card {
    position: relative;
}

.reward-coins {
    display: inline-flex;
    background: rgba(244, 180, 0, .15);
    color: #8a5b00;
    border-radius: 999px;
    padding: .4rem .85rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.dashboard-shell {
    display: grid;
    grid-template-columns: 290px 1fr;
    min-height: 100vh;
}

.dashboard-sidebar {
    background: linear-gradient(180deg, var(--site-sidebar-start), var(--site-sidebar-end));
    color: white;
    padding: 1rem;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow: hidden;
}

.dashboard-sidebar-top {
    flex: 0 0 auto;
}

.dashboard-sidebar-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding-right: .35rem;
}

.dashboard-sidebar-scroll::-webkit-scrollbar {
    width: 8px;
}

.dashboard-sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
}

.dashboard-sidebar-footer {
    flex: 0 0 auto;
    padding-top: .25rem;
    border-top: 1px solid rgba(255,255,255,.08);
}

.sidebar-group {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 1rem;
    padding: .3rem;
    margin-bottom: .75rem;
}

.sidebar-group:last-child {
    margin-bottom: 0;
}

.sidebar-group[open] {
    background: rgba(255,255,255,.05);
}

.sidebar-nav {
    display: grid;
    gap: .35rem;
    padding: .25rem;
}

.sidebar-nav a,
.sidebar-logout-link {
    color: rgba(255,255,255,.9);
    text-decoration: none;
    padding: .75rem .9rem;
    border-radius: .95rem;
    display: block;
}

.sidebar-nav a:hover,
.sidebar-logout-link:hover {
    background: rgba(255,255,255,.08);
    color: white;
}

.dashboard-main {
    padding: 1.5rem;
}

.dashboard-topbar {
    background: white;
    border-radius: 1.25rem;
    padding: 1rem 1.25rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 1.25rem;
}

.metric-card {
    padding: 1.25rem;
}

.metric-label {
    color: var(--site-muted);
    font-size: .9rem;
    margin-bottom: .4rem;
}

.metric-value {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: .35rem;
}

.metric-note {
    color: var(--site-muted);
    font-size: .88rem;
}

.table > :not(caption) > * > * {
    padding: .85rem .75rem;
}

[data-bs-theme="dark"] body {
    background: #0b1220;
    color: #f3f6fb;
}

[data-bs-theme="dark"] .site-header,
[data-bs-theme="dark"] .auth-card,
[data-bs-theme="dark"] .article-content,
[data-bs-theme="dark"] .metric-card,
[data-bs-theme="dark"] .panel-card,
[data-bs-theme="dark"] .partner-card,
[data-bs-theme="dark"] .reward-card,
[data-bs-theme="dark"] .pricing-card,
[data-bs-theme="dark"] .premium-cta-card,
[data-bs-theme="dark"] .rank-card,
[data-bs-theme="dark"] .side-widget,
[data-bs-theme="dark"] .search-result-card,
[data-bs-theme="dark"] .empty-state,
[data-bs-theme="dark"] .community-strip,
[data-bs-theme="dark"] .premium-hero,
[data-bs-theme="dark"] .article-card,
[data-bs-theme="dark"] .video-card,
[data-bs-theme="dark"] .dashboard-topbar {
    background: #101828;
    color: #f3f6fb;
}

[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .meta-row,
[data-bs-theme="dark"] .article-meta,
[data-bs-theme="dark"] .metric-note,
[data-bs-theme="dark"] .metric-label {
    color: #98a2b3 !important;
}

[data-bs-theme="dark"] .footer-links a,
[data-bs-theme="dark"] .nav-link-custom,
[data-bs-theme="dark"] .text-dark {
    color: #f3f6fb !important;
}

@media (max-width: 991.98px) {
    .dashboard-desktop-toggle,
    .dashboard-sidebar-compact-toggle {
        display: none !important;
    }

    .dashboard-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-sidebar {
        position: relative;
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .dashboard-sidebar-scroll {
        overflow: visible;
        padding-right: 0;
    }

    .brand-title {
        font-size: 1.35rem;
    }

    .premium-hero,
    .community-strip,
    .breaking-strip {
        padding: 1.25rem;
    }
}


.dashboard-table th {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--site-muted);
    border-bottom-color: rgba(16,24,40,.08);
}

.dashboard-table td,
.dashboard-table th {
    vertical-align: middle;
    white-space: nowrap;
}

.dashboard-table td:first-child {
    white-space: normal;
}

.sidebar-group-title {
    font-size: .73rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.72);
    font-weight: 800;
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .65rem .8rem;
    border-radius: .8rem;
    margin: 0;
}

.sidebar-group-title::-webkit-details-marker {
    display: none;
}

.sidebar-group-title::after {
    content: '▾';
    font-size: .9rem;
    letter-spacing: 0;
    transform: rotate(-90deg);
    transition: transform .2s ease;
    opacity: .85;
}

.sidebar-group[open] .sidebar-group-title::after {
    transform: rotate(0deg);
}

.sidebar-group-title:hover {
    background: rgba(255,255,255,.06);
}

.sidebar-nav a.is-active,
.sidebar-logout-link.is-active {
    background: rgba(255,255,255,.16);
    color: #fff;
    font-weight: 700;
}

.text-editor {
    font-family: Georgia, serif;
    line-height: 1.75;
    min-height: 320px;
}

.editorial-switch-list {
    display: grid;
    gap: .65rem;
}

.editorial-switch-list .form-check {
    display: flex;
    gap: .75rem;
    align-items: center;
    margin: 0;
}

.editorial-switch-list .form-check-input {
    margin-top: 0;
}

.empty-state {
    background: var(--site-card);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-soft);
}

@media (max-width: 991.98px) {
    .dashboard-desktop-toggle,
    .dashboard-sidebar-compact-toggle {
        display: none !important;
    }

    .dashboard-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-sidebar {
        position: static;
    }
}


.header-notification-bar {
    display: grid;
    gap: .6rem;
}

.header-notification-item {
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid var(--site-border);
    border-radius: 999px;
    padding: .65rem 1rem;
    color: var(--site-muted);
    font-size: .92rem;
}

.dashboard-progress {
    height: 1.05rem;
    border-radius: 999px;
    overflow: hidden;
}

.mini-stat {
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid var(--site-border);
    border-radius: 1rem;
    padding: 1rem 1.1rem;
}

.mini-stat-label {
    color: var(--site-muted);
    font-size: .9rem;
    margin-bottom: .35rem;
}

.mini-stat-value {
    font-size: 1.35rem;
    font-weight: 800;
}

.challenge-card,
.badge-card,
.wallet-entry,
.history-card {
    background: rgba(15, 23, 42, 0.02);
    border: 1px solid var(--site-border);
    border-radius: 1.25rem;
    padding: 1rem 1.1rem;
}

.wallet-entry,
.history-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.badge-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 100%;
}

.badge-card.is-locked {
    opacity: .72;
}

.badge-card.is-unlocked {
    border-color: rgba(244, 180, 0, 0.35);
    background: linear-gradient(180deg, rgba(244, 180, 0, 0.10), rgba(15, 23, 42, 0.02));
}

.badge-icon,
.avatar-badge {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    background: var(--site-dark);
    color: #fff;
}

.rank-card {
    padding: 1rem 1.25rem;
}

.rank-position {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    background: rgba(193, 18, 31, 0.08);
    color: var(--site-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.engagement-feedback {
    min-height: 1.5rem;
    color: var(--site-muted);
}

.engagement-feedback.is-success {
    color: #198754;
    font-weight: 600;
}

.engagement-feedback.is-muted {
    color: var(--site-muted);
}

@media (max-width: 767.98px) {
    .wallet-entry,
    .history-card {
        flex-direction: column;
    }

    .rank-card {
        align-items: flex-start !important;
    }
}


.reward-balance-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #111827;
    color: white;
    border-radius: 999px;
    padding: .8rem 1.1rem;
    font-weight: 700;
}

.voucher-code-box,
.qr-token-box {
    background: #f8fafc;
    border: 1px dashed rgba(15, 23, 42, 0.18);
    border-radius: 1rem;
    padding: 1rem;
}

.voucher-code {
    font-size: 1.8rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.qr-token-box {
    word-break: break-all;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .85rem;
}

.voucher-qr-image {
    width: min(100%, 280px);
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
    border: 1px solid var(--site-border);
    background: white;
    padding: .75rem;
}

.wallet-entry {
    background: #f8fafc;
    border: 1px solid var(--site-border);
    border-radius: 1rem;
    padding: 1rem 1.15rem;
}

.rank-position {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #111827;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

[data-bs-theme="dark"] .voucher-code-box,
[data-bs-theme="dark"] .qr-token-box,
[data-bs-theme="dark"] .wallet-entry {
    background: rgba(255,255,255,.03);
    border-color: rgba(255,255,255,.12);
}


.premium-summary-pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 999px;
    padding: .45rem .9rem;
    background: rgba(244, 180, 0, 0.14);
    color: #7a5200;
    font-weight: 700;
}

.pricing-card.border-warning {
    box-shadow: 0 18px 40px rgba(244, 180, 0, 0.18);
}

.dashboard-table .btn-sm {
    white-space: nowrap;
}

.wallet-entry {
    border: 1px solid var(--site-border);
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    background: white;
}

[data-theme="dark"] .wallet-entry,
[data-theme="dark"] .panel-card,
[data-theme="dark"] .pricing-card {
    background: #111827;
    border-color: rgba(255,255,255,.08);
}

[data-theme="dark"] .badge.text-bg-warning {
    color: #111827 !important;
}


.banner-slot {
    display: grid;
    gap: 1rem;
}

.banner-slot-item {
    background: var(--site-card);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-soft);
    padding: 1rem;
    overflow: hidden;
}

.banner-label {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--site-muted);
    margin-bottom: .75rem;
}

.banner-slot-item iframe,
.banner-slot-item img {
    width: 100%;
    border: 0;
}

.banner-image-link {
    display: block;
}

.dashboard-table th {
    white-space: nowrap;
}

.font-monospace {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
}

.settings-preview-badge {
    width: 100%;
    min-height: 120px;
    border-radius: 1.25rem;
    color: #fff;
    padding: 1.25rem;
    background: linear-gradient(135deg, var(--site-sidebar-start), var(--site-accent));
}


.site-logo-fallback {
    color: #fff;
    background: linear-gradient(135deg, var(--site-accent), var(--site-sidebar-start));
    border: 0;
    font-size: 1.15rem;
    letter-spacing: .02em;
}

.auth-brand-title {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
}

.auth-logo {
    width: 58px;
    height: 58px;
}

/* ===== Dashboard sidebar refresh ===== */
.dashboard-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 100vh;
    background: #eef2f7;
}

.dashboard-sidebar {
    width: 280px;
    background: linear-gradient(180deg, var(--site-sidebar-start), var(--site-sidebar-end));
    color: #fff;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 0 32px rgba(2, 6, 23, .22);
    z-index: 1040;
}

.dashboard-sidebar-top {
    padding: 1rem 1rem .85rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.dashboard-sidebar-top-row {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.dashboard-sidebar-compact-toggle,
.dashboard-desktop-toggle {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: .9rem;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    color: #fff;
    align-items: center;
    justify-content: center;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.dashboard-sidebar-compact-toggle:hover,
.dashboard-desktop-toggle:hover {
    background: rgba(255,255,255,.16);
    border-color: rgba(255,255,255,.22);
    color: #fff;
    transform: translateY(-1px);
}

.dashboard-sidebar-compact-toggle i,
.dashboard-desktop-toggle i {
    font-size: 1.1rem;
}

.dashboard-brand {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    flex: 1 1 auto;
}

.dashboard-brand-logo .site-logo,
.site-logo-dashboard {
    width: 64px;
    height: 64px;
    max-width: 64px;
    object-fit: contain;
    background: rgba(255,255,255,.08);
    border-radius: 1rem;
    padding: .4rem;
}

.dashboard-brand-text {
    min-width: 0;
}

.dashboard-brand-kicker {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(255,255,255,.58);
    margin-bottom: .2rem;
}

.dashboard-brand-text strong {
    display: block;
    font-size: 1.06rem;
    line-height: 1.2;
    color: #fff;
}

.sidebar-user-card {
    margin-top: .95rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 1rem;
    padding: .85rem .95rem;
}

.sidebar-user-kicker {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: .35rem;
}

.sidebar-user-card strong {
    display: block;
    font-size: .95rem;
    line-height: 1.25;
}

.sidebar-user-card small {
    display: block;
    color: rgba(255,255,255,.72);
    margin-top: .15rem;
}

.dashboard-sidebar-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: .9rem .85rem 1rem;
}

.dashboard-sidebar-scroll::-webkit-scrollbar {
    width: 7px;
}

.dashboard-sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 999px;
}

.sidebar-section + .sidebar-section {
    margin-top: 1rem;
}

.sidebar-section-title {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(255,255,255,.58);
    font-weight: 800;
    margin: 0 0 .55rem;
    padding: 0 .4rem;
}

.sidebar-nav {
    display: grid;
    gap: .35rem;
}

.sidebar-link,
.sidebar-logout-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: rgba(255,255,255,.92);
    text-decoration: none;
    padding: .8rem .9rem;
    border-radius: .95rem;
    transition: background .18s ease, transform .18s ease, color .18s ease;
}

.sidebar-link:hover,
.sidebar-logout-link:hover {
    background: rgba(255,255,255,.09);
    color: #fff;
    transform: translateX(2px);
}

.sidebar-link-left {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.sidebar-link i,
.sidebar-logout-link i {
    font-size: 1rem;
    width: 1.15rem;
    text-align: center;
    flex: 0 0 1.15rem;
}

.sidebar-link span:last-child,
.sidebar-link-left span:last-child {
    white-space: normal;
    line-height: 1.25;
}

.sidebar-link.is-active {
    background: rgba(255,255,255,.14);
    color: #fff;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.dashboard-sidebar-footer {
    flex: 0 0 auto;
    padding: .85rem;
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(2, 6, 23, .18);
}

.sidebar-logout-link {
    background: rgba(220, 38, 38, .18);
    border: 1px solid rgba(248, 113, 113, .22);
    font-weight: 600;
}

.sidebar-logout-link:hover {
    background: rgba(220, 38, 38, .28);
}

body.sidebar-compact .dashboard-shell {
    grid-template-columns: 92px minmax(0, 1fr);
}

body.sidebar-compact .dashboard-sidebar {
    width: 92px;
}

body.sidebar-compact .dashboard-sidebar-top {
    padding: .85rem .65rem .8rem;
}

body.sidebar-compact .dashboard-sidebar-top-row {
    flex-direction: column;
    align-items: center;
}

body.sidebar-compact .dashboard-sidebar-compact-toggle {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
}

body.sidebar-compact .dashboard-brand {
    justify-content: center;
}

body.sidebar-compact .dashboard-brand-logo .site-logo,
body.sidebar-compact .site-logo-dashboard {
    width: 48px;
    height: 48px;
    max-width: 48px;
}

body.sidebar-compact .dashboard-brand-text,
body.sidebar-compact .sidebar-user-card,
body.sidebar-compact .sidebar-section-title,
body.sidebar-compact .sidebar-link-left span:last-child,
body.sidebar-compact .sidebar-logout-link span {
    display: none !important;
}

body.sidebar-compact .dashboard-sidebar-scroll {
    padding: .75rem .55rem .9rem;
}

body.sidebar-compact .sidebar-section + .sidebar-section {
    margin-top: .8rem;
}

body.sidebar-compact .sidebar-nav {
    gap: .45rem;
}

body.sidebar-compact .sidebar-link,
body.sidebar-compact .sidebar-logout-link {
    justify-content: center;
    padding: .78rem;
    border-radius: .95rem;
}

body.sidebar-compact .sidebar-link-left {
    gap: 0;
}

body.sidebar-compact .sidebar-link i,
body.sidebar-compact .sidebar-logout-link i {
    width: auto;
    flex: 0 0 auto;
    font-size: 1.08rem;
}

body.sidebar-compact .dashboard-sidebar-footer {
    padding: .7rem .55rem .85rem;
}

body.sidebar-compact .dashboard-main {
    min-width: 0;
}

.dashboard-main {
    min-width: 0;
    padding: 1.35rem;
}

.dashboard-topbar {
    background: #fff;
    border-radius: 1.2rem;
    padding: 1rem 1.15rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dashboard-mobile-toggle {
    width: 44px;
    height: 44px;
    border-radius: .9rem;
    border: 1px solid var(--site-border);
    background: #fff;
    color: var(--site-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-soft);
}

.dashboard-mobile-toggle i {
    font-size: 1.35rem;
}

.dashboard-overlay {
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, .45);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
    z-index: 1035;
}

.dashboard-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 991.98px) {
    .dashboard-desktop-toggle,
    .dashboard-sidebar-compact-toggle {
        display: none !important;
    }

    .dashboard-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        transform: translateX(-100%);
        transition: transform .25s ease;
    }

    .dashboard-sidebar.is-open {
        transform: translateX(0);
    }

    .dashboard-main {
        padding: 1rem;
    }
}

/* Sidebar and dashboard refinement v9 */
.dashboard-shell {
    grid-template-columns: 300px minmax(0, 1fr);
}

.dashboard-sidebar {
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 28%),
        linear-gradient(180deg, var(--site-sidebar-start), var(--site-sidebar-end));
}

.dashboard-sidebar-top {
    padding: 1rem 1rem .95rem;
}

.dashboard-sidebar-top-row {
    align-items: center;
}

.dashboard-brand-logo .site-logo,
.site-logo-dashboard {
    width: 54px;
    height: 54px;
    max-width: 54px;
    border-radius: 1rem;
}

.dashboard-brand-text strong {
    font-size: 1rem;
}

.dashboard-brand-text small {
    display: block;
    margin-top: .15rem;
    font-size: .78rem;
    color: rgba(255,255,255,.7);
}

.sidebar-user-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: .85rem;
    padding: .8rem .9rem;
    border-radius: 1.1rem;
    background: rgba(255,255,255,.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.sidebar-user-avatar {
    width: 2.6rem;
    height: 2.6rem;
    min-width: 2.6rem;
    border-radius: .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
    border: 1px solid rgba(255,255,255,.12);
}

.sidebar-user-meta {
    min-width: 0;
}

.sidebar-search-wrap {
    margin-top: .85rem;
}

.sidebar-search-box {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .72rem .85rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

.sidebar-search-box i {
    color: rgba(255,255,255,.72);
}

.sidebar-search-input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font-size: .94rem;
}

.sidebar-search-input::placeholder {
    color: rgba(255,255,255,.55);
}

.dashboard-sidebar-scroll {
    padding: .95rem .85rem 1rem;
}

.sidebar-group {
    border-radius: 1.1rem;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
    margin-bottom: .8rem;
    overflow: hidden;
}

.sidebar-group[open] {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.08);
}

.sidebar-group-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .85rem .95rem;
    font-size: .8rem;
    font-weight: 700;
    color: rgba(255,255,255,.86);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.sidebar-group-title::-webkit-details-marker {
    display: none;
}

.sidebar-group-heading {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.sidebar-group-heading i {
    font-size: 1rem;
    opacity: .95;
}

.sidebar-group-heading span {
    white-space: normal;
    line-height: 1.2;
}

.sidebar-group-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: rgba(255,255,255,.72);
}

.sidebar-group-meta::after {
    content: '';
    width: .55rem;
    height: .55rem;
    border-right: 2px solid rgba(255,255,255,.64);
    border-bottom: 2px solid rgba(255,255,255,.64);
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.sidebar-group[open] .sidebar-group-meta::after {
    transform: rotate(225deg) translateY(-1px);
}

.sidebar-group-count {
    min-width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .4rem;
    background: rgba(255,255,255,.1);
    font-size: .72rem;
    font-weight: 700;
}

.sidebar-nav {
    display: grid;
    gap: .3rem;
    padding: 0 .45rem .45rem;
}

.sidebar-link,
.sidebar-logout-link {
    padding: .75rem .85rem;
    border-radius: .95rem;
}

.sidebar-link.is-active {
    background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.1));
}

.sidebar-link.is-hidden,
.sidebar-group.is-hidden {
    display: none !important;
}

.dashboard-sidebar-footer {
    padding: .85rem;
    background: rgba(2, 6, 23, .28);
}

.dashboard-main {
    padding: 1.5rem;
    background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,0));
}

.dashboard-topbar {
    padding: 1.05rem 1.2rem;
    border: 1px solid rgba(15,23,42,.05);
}

.dashboard-page-kicker {
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--site-muted);
    margin-bottom: .15rem;
}

body.sidebar-compact .dashboard-shell {
    grid-template-columns: 94px minmax(0, 1fr);
}

body.sidebar-compact .dashboard-sidebar {
    width: 94px;
}

body.sidebar-compact .dashboard-sidebar-top {
    padding: .8rem .55rem;
}

body.sidebar-compact .dashboard-brand-logo .site-logo,
body.sidebar-compact .site-logo-dashboard {
    width: 46px;
    height: 46px;
    max-width: 46px;
}

body.sidebar-compact .dashboard-brand-text,
body.sidebar-compact .sidebar-user-meta,
body.sidebar-compact .sidebar-search-wrap,
body.sidebar-compact .sidebar-group-title,
body.sidebar-compact .sidebar-logout-link span,
body.sidebar-compact .dashboard-page-kicker {
    display: none !important;
}

body.sidebar-compact .sidebar-user-card {
    justify-content: center;
    padding: .65rem;
}

body.sidebar-compact .sidebar-user-avatar {
    margin: 0;
}

body.sidebar-compact .dashboard-sidebar-scroll {
    padding: .8rem .5rem;
}

body.sidebar-compact .sidebar-group {
    background: transparent;
    border: 0;
    margin-bottom: .55rem;
}

body.sidebar-compact .sidebar-nav {
    padding: 0;
}

body.sidebar-compact .sidebar-link,
body.sidebar-compact .sidebar-logout-link {
    justify-content: center;
    padding: .8rem;
}

body.sidebar-compact .sidebar-link-left span:last-child {
    display: none !important;
}

body.sidebar-compact .sidebar-link-left {
    gap: 0;
}

body.sidebar-compact .sidebar-link i,
body.sidebar-compact .sidebar-logout-link i {
    font-size: 1.12rem;
    width: auto;
    flex: 0 0 auto;
}

@media (max-width: 991.98px) {
    .sidebar-search-wrap {
        display: none;
    }

    .dashboard-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(88vw, 320px);
        transform: translateX(-102%);
        transition: transform .24s ease;
    }

    .dashboard-sidebar.is-open {
        transform: translateX(0);
    }

    .dashboard-main {
        padding: 1rem;
    }
}


/* Sidebar refinement v11 */
.dashboard-shell {
    grid-template-columns: 312px minmax(0, 1fr);
}

.dashboard-sidebar {
    width: 312px;
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 20px 40px rgba(2, 6, 23, .24);
}

.dashboard-sidebar-top {
    padding: .9rem .95rem .8rem;
}

.dashboard-sidebar-top-row {
    gap: .65rem;
}

.dashboard-brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.dashboard-brand-logo {
    flex: 0 0 auto;
}

.dashboard-brand-logo .site-logo,
.site-logo-dashboard {
    width: 46px;
    height: 46px;
    max-width: 46px;
    border-radius: .85rem;
    object-fit: contain;
    background: rgba(255,255,255,.04);
    padding: .2rem;
}

.dashboard-brand-text {
    min-width: 0;
}

.dashboard-brand-kicker {
    display: block;
    font-size: .66rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.56);
    margin-bottom: .08rem;
}

.dashboard-brand-text strong {
    display: block;
    font-size: .98rem;
    line-height: 1.15;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-sidebar-compact-toggle,
.dashboard-desktop-toggle {
    width: 40px;
    height: 40px;
    border-radius: .85rem;
    border: 1px solid rgba(15,23,42,.08);
}

.sidebar-user-card {
    margin-top: .75rem;
    padding: .75rem .85rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.07);
    align-items: center;
}

.sidebar-user-avatar {
    width: 2.35rem;
    height: 2.35rem;
    min-width: 2.35rem;
    border-radius: .8rem;
    font-size: .95rem;
}

.sidebar-user-kicker {
    font-size: .64rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    margin-bottom: .15rem;
}

.sidebar-user-card strong {
    display: block;
    font-size: .95rem;
    line-height: 1.2;
    color: #fff;
}

.sidebar-user-card small {
    display: block;
    font-size: .78rem;
    color: rgba(255,255,255,.72);
    line-height: 1.2;
}

.sidebar-search-wrap {
    margin-top: .75rem;
}

.sidebar-search-box {
    padding: .68rem .78rem;
    border-radius: .9rem;
    background: rgba(255,255,255,.08);
}

.sidebar-search-input {
    font-size: .9rem;
}

.dashboard-sidebar-scroll {
    padding: .7rem .75rem .9rem;
}

.sidebar-group {
    margin-bottom: .6rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.05);
}

.sidebar-group[open] {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.08);
}

.sidebar-group-title {
    padding: .82rem .9rem;
    min-height: 48px;
    font-size: .77rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sidebar-group-heading {
    gap: .6rem;
}

.sidebar-group-heading i {
    width: 1rem;
    text-align: center;
}

.sidebar-group-heading span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-group-count {
    min-width: 1.45rem;
    height: 1.45rem;
    font-size: .68rem;
    background: rgba(255,255,255,.13);
}

.sidebar-nav {
    gap: .18rem;
    padding: 0 .42rem .42rem;
}

.sidebar-link,
.sidebar-logout-link {
    min-height: 42px;
    padding: .65rem .78rem;
    border-radius: .9rem;
}

.sidebar-link {
    color: rgba(255,255,255,.84);
}

.sidebar-link:hover {
    background: rgba(255,255,255,.09);
    color: #fff;
}

.sidebar-link-left {
    gap: .68rem;
    min-width: 0;
}

.sidebar-link i {
    font-size: .94rem;
    width: 1rem;
    text-align: center;
}

.sidebar-link-left span:last-child {
    font-size: .93rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-link.is-active {
    background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.sidebar-logout-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    background: rgba(239,68,68,.12);
    color: #ffd5d5;
    text-decoration: none;
}

.sidebar-logout-link:hover {
    background: rgba(239,68,68,.18);
    color: #fff;
}

.dashboard-sidebar-footer {
    padding: .75rem;
}

.dashboard-main {
    padding: 1.25rem;
}

.dashboard-topbar {
    padding: .95rem 1.1rem;
    border-radius: 1.25rem;
    box-shadow: 0 10px 25px rgba(15,23,42,.04);
}

body.sidebar-compact .dashboard-shell {
    grid-template-columns: 92px minmax(0, 1fr);
}

body.sidebar-compact .dashboard-sidebar {
    width: 92px;
}

body.sidebar-compact .dashboard-brand {
    justify-content: center;
}

body.sidebar-compact .dashboard-brand-logo .site-logo,
body.sidebar-compact .site-logo-dashboard {
    width: 42px;
    height: 42px;
    max-width: 42px;
}

body.sidebar-compact .dashboard-sidebar-top {
    padding: .75rem .48rem;
}

body.sidebar-compact .sidebar-user-card {
    padding: .55rem;
}

body.sidebar-compact .dashboard-sidebar-scroll {
    padding: .6rem .45rem .75rem;
}

body.sidebar-compact .sidebar-group {
    margin-bottom: .45rem;
    background: transparent;
    border: 0;
}

body.sidebar-compact .sidebar-group-title,
body.sidebar-compact .sidebar-group-count,
body.sidebar-compact .sidebar-user-meta,
body.sidebar-compact .sidebar-search-wrap,
body.sidebar-compact .dashboard-brand-text,
body.sidebar-compact .sidebar-logout-link span {
    display: none !important;
}

body.sidebar-compact .sidebar-nav {
    padding: 0;
}

body.sidebar-compact .sidebar-link,
body.sidebar-compact .sidebar-logout-link {
    justify-content: center;
    padding: .75rem;
}

body.sidebar-compact .sidebar-link-left {
    gap: 0;
}

body.sidebar-compact .sidebar-link-left span:last-child {
    display: none !important;
}

@media (max-width: 991.98px) {
    .dashboard-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-sidebar {
        width: min(88vw, 320px);
    }

    .dashboard-main {
        padding: .95rem;
    }
}


/* Professional dashboard refinement v12 */
.dashboard-shell {
    grid-template-columns: 324px minmax(0, 1fr);
    gap: 0;
}

.dashboard-sidebar {
    width: 324px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 26%),
        linear-gradient(180deg, var(--site-sidebar-start) 0%, color-mix(in srgb, var(--site-sidebar-end) 88%, #020617 12%) 100%);
    box-shadow: 0 24px 60px rgba(2, 6, 23, .32);
}

.dashboard-sidebar-top {
    padding: 1rem 1rem .9rem;
}

.dashboard-sidebar-top-row {
    align-items: center;
    padding-bottom: .95rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.dashboard-brand {
    gap: .85rem;
    min-width: 0;
    flex: 1 1 auto;
}

.dashboard-brand-logo {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 1rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.dashboard-brand-logo .site-logo,
.site-logo-dashboard {
    width: 100%;
    height: 100%;
    max-width: 100%;
    border-radius: 0;
    object-fit: contain;
    background: transparent;
    padding: .4rem;
}

.dashboard-brand-kicker {
    font-size: .63rem;
    letter-spacing: .18em;
    color: rgba(255,255,255,.5);
}

.dashboard-brand-text strong {
    font-size: 1.02rem;
    white-space: normal;
    line-height: 1.15;
}

.sidebar-user-card {
    margin-top: .95rem;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .9rem;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.sidebar-user-avatar {
    background: linear-gradient(135deg, var(--site-accent), color-mix(in srgb, var(--site-accent) 72%, #fff 28%));
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.sidebar-user-meta {
    min-width: 0;
}

.sidebar-user-meta strong,
.sidebar-user-meta small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-search-wrap {
    margin-top: .9rem;
}

.sidebar-search-box {
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.sidebar-search-input::placeholder {
    color: rgba(255,255,255,.54);
}

.dashboard-sidebar-scroll {
    padding: .9rem .9rem 1rem;
}

.sidebar-navigation-label {
    font-size: .68rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    font-weight: 700;
    margin: 0 .35rem .75rem;
}

.sidebar-group {
    margin-bottom: .85rem;
    background: transparent;
    border: 0;
    overflow: hidden;
}

.sidebar-group summary::-webkit-details-marker {
    display: none;
}

.sidebar-group-title {
    padding: .35rem .45rem .55rem;
    min-height: auto;
    font-size: .75rem;
    letter-spacing: .12em;
    color: rgba(255,255,255,.64);
}

.sidebar-group-heading {
    gap: .7rem;
}

.sidebar-group-heading i {
    width: 1rem;
    color: rgba(255,255,255,.72);
}

.sidebar-group-label-text {
    font-weight: 700;
}

.sidebar-group-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.sidebar-group-count {
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 .42rem;
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.08);
}

.sidebar-group-chevron {
    font-size: .78rem;
    color: rgba(255,255,255,.46);
    transition: transform .2s ease, color .2s ease;
}

.sidebar-group[open] .sidebar-group-chevron {
    transform: rotate(180deg);
    color: rgba(255,255,255,.72);
}

.sidebar-nav {
    padding: .4rem;
    border-radius: 1.1rem;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    border: 1px solid rgba(255,255,255,.065);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.sidebar-links li + li {
    margin-top: .35rem;
}

.sidebar-link {
    min-height: 46px;
    padding: .75rem .85rem;
    border-radius: .95rem;
    border: 1px solid transparent;
}

.sidebar-link:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.06);
}

.sidebar-link.is-active {
    background: linear-gradient(135deg, color-mix(in srgb, var(--site-accent) 24%, #fff 76%), rgba(255,255,255,.14));
    border-color: color-mix(in srgb, var(--site-accent) 42%, rgba(255,255,255,.08));
    box-shadow: 0 12px 24px rgba(15,23,42,.14);
}

.sidebar-link.is-active .sidebar-link-left i,
.sidebar-link.is-active .sidebar-link-left span:last-child {
    color: #fff;
}

.sidebar-link-left span:last-child {
    font-size: .92rem;
    font-weight: 500;
}

.dashboard-sidebar-footer {
    padding: .9rem;
    border-top: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(2,6,23,.04), rgba(2,6,23,.2));
}

.sidebar-logout-link {
    border: 1px solid rgba(239,68,68,.16);
}

.dashboard-main {
    padding: 1.35rem;
    background: linear-gradient(180deg, #f4f7fb 0%, #eef3f9 100%);
}

.dashboard-topbar {
    padding: 1rem 1.15rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(15,23,42,.05);
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(10px);
}

.dashboard-page-kicker {
    font-size: .7rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--site-accent) 45%, #475569 55%);
    font-weight: 700;
}

.panel-card,
.metric-card,
.auth-card {
    border: 1px solid rgba(15,23,42,.05);
    box-shadow: 0 18px 38px rgba(15,23,42,.06);
}

.panel-card h2.h5,
.panel-card .h5 {
    font-size: 1.2rem;
}

.panel-card .form-label {
    font-weight: 600;
    color: #0f172a;
}

.panel-card .form-control,
.panel-card .form-select {
    min-height: 48px;
    border-radius: .95rem;
    border-color: rgba(148,163,184,.35);
    box-shadow: none;
}

.panel-card textarea.form-control {
    min-height: 120px;
}

.panel-card .form-control:focus,
.panel-card .form-select:focus {
    border-color: color-mix(in srgb, var(--site-accent) 55%, #cbd5e1 45%);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--site-accent) 15%, transparent);
}

.settings-preview-badge {
    border-radius: 1.3rem;
    padding: 1.25rem;
    box-shadow: 0 16px 32px rgba(2,6,23,.12);
}

body.sidebar-compact .dashboard-shell {
    grid-template-columns: 98px minmax(0, 1fr);
}

body.sidebar-compact .dashboard-sidebar {
    width: 98px;
}

body.sidebar-compact .dashboard-brand {
    justify-content: center;
}

body.sidebar-compact .dashboard-brand-logo {
    width: 48px;
    height: 48px;
    min-width: 48px;
}

body.sidebar-compact .dashboard-sidebar-top {
    padding: .8rem .52rem;
}

body.sidebar-compact .dashboard-sidebar-top-row {
    justify-content: center;
}

body.sidebar-compact .sidebar-user-card {
    justify-content: center;
    padding: .6rem;
}

body.sidebar-compact .dashboard-sidebar-scroll {
    padding: .75rem .5rem .85rem;
}

body.sidebar-compact .sidebar-navigation-label,
body.sidebar-compact .sidebar-group-title,
body.sidebar-compact .sidebar-search-wrap,
body.sidebar-compact .dashboard-brand-text,
body.sidebar-compact .sidebar-user-meta,
body.sidebar-compact .sidebar-logout-link span {
    display: none !important;
}

body.sidebar-compact .sidebar-group {
    margin-bottom: .55rem;
}

body.sidebar-compact .sidebar-nav {
    padding: .3rem;
    border-radius: 1rem;
}

body.sidebar-compact .sidebar-link,
body.sidebar-compact .sidebar-logout-link {
    justify-content: center;
    padding: .82rem;
}

body.sidebar-compact .sidebar-link-left {
    gap: 0;
}

body.sidebar-compact .sidebar-link-left span:last-child {
    display: none !important;
}

@media (max-width: 991.98px) {
    .dashboard-sidebar {
        width: min(88vw, 330px);
    }

    .dashboard-brand-text strong {
        white-space: nowrap;
    }

    .dashboard-main {
        padding: 1rem;
    }
}

/* ===== Refresh 2026 dashboard / sidebar ===== */
.dashboard-shell {
    grid-template-columns: 304px minmax(0, 1fr);
    background: linear-gradient(180deg, #eff3f9 0%, #f7f9fc 100%);
}

.dashboard-sidebar {
    padding: 1rem 0.9rem 0.9rem;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.06), transparent 30%),
        linear-gradient(180deg, var(--site-sidebar-start), var(--site-sidebar-end));
    border-right: 1px solid rgba(255,255,255,.06);
    box-shadow: 24px 0 60px rgba(2, 6, 23, .18);
}

.dashboard-sidebar-top {
    padding: 0 .1rem .35rem;
}

.dashboard-sidebar-top-row {
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: 1rem;
}

.dashboard-brand {
    align-items: center;
    gap: .9rem;
    min-width: 0;
}

.dashboard-brand-logo {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    overflow: hidden;
}

.dashboard-brand-logo .site-logo,
.site-logo-dashboard {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    padding: .2rem;
    background: transparent;
}

.dashboard-brand-text {
    min-width: 0;
    display: grid;
    gap: .15rem;
}

.dashboard-brand-kicker {
    display: inline-block;
    font-size: .68rem;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: rgba(255,255,255,.52);
    font-weight: 800;
}

.dashboard-brand-text strong {
    display: block;
    font-size: 1rem;
    line-height: 1.15;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-brand-text small {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: .78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-sidebar-compact-toggle,
.dashboard-desktop-toggle,
.dashboard-mobile-toggle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(255,255,255,.9);
    color: #0f172a;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.dashboard-sidebar-compact-toggle {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
    color: #fff;
    box-shadow: none;
}

.dashboard-sidebar-compact-toggle:hover,
.dashboard-desktop-toggle:hover,
.dashboard-mobile-toggle:hover {
    transform: translateY(-1px);
}

.sidebar-user-card {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .95rem 1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.sidebar-user-avatar {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    background: linear-gradient(135deg, #fff, rgba(255,255,255,.78));
}

.sidebar-user-meta {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.sidebar-user-kicker {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: rgba(255,255,255,.58);
    font-weight: 800;
}

.sidebar-user-meta strong,
.sidebar-user-meta small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-user-meta strong {
    color: #fff;
    font-size: .96rem;
}

.sidebar-user-meta small {
    color: rgba(255,255,255,.66);
    font-size: .79rem;
}

.sidebar-search-wrap {
    margin-top: .85rem;
}

.sidebar-search-box {
    position: relative;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .82rem .9rem;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

.sidebar-search-box i {
    color: rgba(255,255,255,.6);
}

.sidebar-search-input {
    border: 0;
    outline: 0;
    width: 100%;
    background: transparent;
    color: #fff;
    font-size: .92rem;
}

.sidebar-search-input::placeholder {
    color: rgba(255,255,255,.48);
}

.dashboard-sidebar-scroll {
    padding: .2rem .25rem .1rem;
}

.sidebar-navigation-label {
    padding: .15rem .3rem .65rem;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.48);
}

.sidebar-group {
    margin-bottom: .8rem;
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}

.sidebar-group.is-hidden,
.sidebar-link.is-hidden {
    display: none !important;
}

.sidebar-group-title {
    padding: .9rem 1rem;
    font-size: .78rem;
    letter-spacing: .12em;
    color: rgba(255,255,255,.72);
    background: transparent;
}

.sidebar-group-title:hover {
    background: rgba(255,255,255,.04);
}

.sidebar-group-heading {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.sidebar-group-icon {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    color: #fff;
    flex: 0 0 28px;
}

.sidebar-group-label-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-group-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.sidebar-group-count {
    min-width: 24px;
    height: 24px;
    padding: 0 .5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
}

.sidebar-group[open] .sidebar-group-count {
    background: rgba(255,255,255,.14);
}

.sidebar-group-chevron {
    transition: transform .2s ease;
}

.sidebar-group[open] .sidebar-group-chevron {
    transform: rotate(180deg);
}

.sidebar-group-title::after {
    content: none;
}

.sidebar-nav {
    padding: 0 .45rem .55rem;
    gap: .25rem;
}

.sidebar-link,
.sidebar-logout-link {
    padding: .82rem .95rem;
    border-radius: 14px;
    font-size: .94rem;
    font-weight: 600;
    transition: background .18s ease, transform .18s ease, color .18s ease;
}

.sidebar-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sidebar-link:hover,
.sidebar-logout-link:hover {
    background: rgba(255,255,255,.09);
    transform: translateX(2px);
}

.sidebar-link-left {
    display: inline-flex;
    align-items: center;
    gap: .78rem;
    min-width: 0;
}

.sidebar-link-left span:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-link i,
.sidebar-logout-link i {
    font-size: 1rem;
    min-width: 18px;
}

.sidebar-link-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255,255,255,.12);
}

.sidebar-link.is-active {
    background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
    color: #fff;
    font-weight: 700;
}

.dashboard-sidebar-footer {
    margin-top: .15rem;
    padding-top: .85rem;
}

.sidebar-logout-link {
    background: rgba(220, 38, 38, .12);
    border: 1px solid rgba(248, 113, 113, .16);
    color: #fff;
}

.sidebar-logout-link:hover {
    background: rgba(220, 38, 38, .18);
}

.dashboard-main {
    padding: 1.5rem 1.5rem 2rem;
    min-width: 0;
}

.dashboard-topbar {
    position: sticky;
    top: 1rem;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem 1.25rem;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, .06);
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(14px);
    box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}

.dashboard-page-kicker {
    display: inline-block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-weight: 800;
    color: var(--site-accent);
    margin-bottom: .18rem;
}

.dashboard-page-title {
    font-size: clamp(1.45rem, 1.1rem + 1vw, 2rem);
    font-weight: 800;
    line-height: 1.08;
    color: #0f172a;
}

.dashboard-topbar-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem .9rem;
    border-radius: 999px;
    background: #0f172a;
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
}

.panel-card,
.metric-card,
.auth-card,
.partner-card,
.reward-card,
.pricing-card,
.premium-cta-card,
.rank-card,
.side-widget,
.search-result-card,
.empty-state {
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.form-control,
.form-select,
.form-control-color {
    border-radius: 14px;
    border-color: rgba(15, 23, 42, .10);
    min-height: 48px;
}

textarea.form-control {
    min-height: 120px;
}

.form-control:focus,
.form-select:focus,
.form-control-color:focus {
    border-color: rgba(15, 23, 42, .18);
    box-shadow: 0 0 0 .2rem rgba(15, 23, 42, .08);
}

.settings-preview-badge {
    min-height: 170px;
    overflow: hidden;
    word-break: break-word;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.settings-preview-badge .site-logo {
    flex: 0 0 auto;
}

.settings-preview-badge .fs-5 {
    line-height: 1.15;
}

.dashboard-table th,
.dashboard-table td {
    white-space: nowrap;
}

.dashboard-table td:first-child,
.dashboard-table th:first-child {
    white-space: normal;
}

body.sidebar-compact .dashboard-shell {
    grid-template-columns: 96px minmax(0, 1fr);
}

body.sidebar-compact .dashboard-sidebar {
    padding-inline: .7rem;
}

body.sidebar-compact .dashboard-brand {
    justify-content: center;
}

body.sidebar-compact .dashboard-brand-logo {
    width: 52px;
    height: 52px;
}

body.sidebar-compact .dashboard-sidebar-top {
    padding-bottom: .2rem;
}

body.sidebar-compact .dashboard-sidebar-top-row {
    justify-content: center;
}

body.sidebar-compact .sidebar-user-card {
    justify-content: center;
    padding: .8rem;
}

body.sidebar-compact .dashboard-sidebar-scroll {
    padding-inline: .1rem;
}

body.sidebar-compact .sidebar-navigation-label,
body.sidebar-compact .sidebar-group-title,
body.sidebar-compact .sidebar-search-wrap,
body.sidebar-compact .dashboard-brand-text,
body.sidebar-compact .sidebar-user-meta,
body.sidebar-compact .sidebar-logout-link span,
body.sidebar-compact .sidebar-link-left span:last-child,
body.sidebar-compact .sidebar-group-count,
body.sidebar-compact .sidebar-link-dot {
    display: none !important;
}

body.sidebar-compact .sidebar-group {
    padding: .2rem;
}

body.sidebar-compact .sidebar-nav {
    padding: 0;
}

body.sidebar-compact .sidebar-link,
body.sidebar-compact .sidebar-logout-link {
    justify-content: center;
    padding: .82rem;
}

body.sidebar-compact .sidebar-link-left {
    justify-content: center;
    width: 100%;
}

body.sidebar-compact .sidebar-link:hover,
body.sidebar-compact .sidebar-logout-link:hover {
    transform: none;
}

@media (max-width: 991.98px) {
    .dashboard-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-overlay {
        position: fixed;
        inset: 0;
        background: rgba(2, 6, 23, .45);
        opacity: 0;
        visibility: hidden;
        transition: .2s ease;
        z-index: 1090;
    }

    .dashboard-overlay.is-visible {
        opacity: 1;
        visibility: visible;
    }

    .dashboard-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(88vw, 320px);
        transform: translateX(-100%);
        transition: transform .24s ease;
        z-index: 1100;
    }

    .dashboard-sidebar.is-open {
        transform: translateX(0);
    }

    .dashboard-main {
        padding: 1rem;
    }

    .dashboard-topbar {
        top: 0;
        padding: .95rem 1rem;
    }

    .dashboard-topbar-actions {
        display: none !important;
    }
}


/* ===== Refinos homepage e cabeçalho v14 ===== */
.topbar-live-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .38rem .8rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-weight: 700;
}

.site-header-refined {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
}

.site-header-main {
    min-height: 78px;
}

.site-brand-shell {
    flex: 0 0 auto;
    min-width: 0;
}

.site-logo-header {
    width: 58px;
    height: 58px;
    border-radius: 1.1rem;
}

.brand-copy {
    min-width: 0;
}

.searchbar-main {
    min-width: min(100%, 620px);
    background: #eef2f6;
    border: 1px solid rgba(15,23,42,.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.btn-header-soft {
    background: #f3f5f8;
    border: 1px solid rgba(15,23,42,.08);
    color: var(--site-text);
}

.btn-header-soft:hover {
    background: #e9edf3;
    color: var(--site-text);
}

.header-nav-wrap {
    border-top: 1px solid rgba(15,23,42,.06);
    padding-top: 1rem;
}

.header-nav-scroll {
    scrollbar-width: thin;
}

.nav-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem 1rem;
    border-radius: 999px;
    background: #f3f6fa;
    border: 1px solid rgba(15,23,42,.06);
    transition: all .2s ease;
}

.nav-chip:hover {
    transform: translateY(-1px);
    background: #fff;
    box-shadow: 0 10px 20px rgba(15,23,42,.06);
}

.portal-value-strip .feature-pill-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafe 100%);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: var(--radius-xl);
    padding: 1.35rem;
    height: 100%;
    box-shadow: 0 16px 35px rgba(15,23,42,.06);
}

.breaking-link {
    color: rgba(255,255,255,.92);
    text-decoration: none;
}

.breaking-link:hover {
    color: #fff;
    text-decoration: underline;
}

.editoria-chip-list {
    align-items: center;
}

.editoria-chip {
    display: inline-flex;
    align-items: center;
    padding: .72rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    color: var(--site-text);
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 10px 20px rgba(15,23,42,.04);
}

.editoria-chip:hover {
    color: var(--site-accent);
    border-color: rgba(193,18,31,.18);
}

.editoria-chip-highlight {
    background: rgba(244,180,0,.12);
}

.home-curation-card .curation-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .85rem;
    align-items: start;
}

.curation-index {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f3f6fa;
    color: var(--site-accent);
    font-weight: 800;
}

.curation-content {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.curation-content strong {
    line-height: 1.35;
}

.curation-content small {
    color: var(--site-muted);
}

.reader-engagement-card .mini-stat-list {
    border-top: 1px solid rgba(15,23,42,.06);
    border-bottom: 1px solid rgba(15,23,42,.06);
    padding-block: 1rem;
}

.mini-stat {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding: .65rem .8rem;
    border-radius: 14px;
    background: #f8fafc;
}

.mini-stat span {
    color: var(--site-muted);
    font-size: .92rem;
}

.mini-stat strong {
    font-size: .95rem;
}

.portal-benefit-list {
    padding-left: 1.1rem;
    color: var(--site-text);
}

.portal-benefit-list li + li {
    margin-top: .6rem;
}

.branding-option-card {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 20px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    padding: 1rem 1.1rem;
}

@media (max-width: 991.98px) {
    .site-header-main {
        align-items: stretch !important;
    }

    .site-brand-shell {
        width: 100%;
    }

    .header-utility-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .portal-value-strip .feature-pill-card {
        min-height: unset;
    }
}

@media (max-width: 767.98px) {
    .brand-title {
        font-size: 1.4rem;
    }

    .site-logo-header {
        width: 50px;
        height: 50px;
    }

    .topbar .container {
        justify-content: center !important;
    }
}


/* ===== Responsividade do header + presets/homepage preview v15 ===== */
.site-header-refined { background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.site-header-main { min-height: 78px; }
.site-brand-shell { flex: 0 0 auto; min-width: 0; }
.site-logo-header { width: 58px; height: 58px; border-radius: 1.1rem; }
.brand-copy { min-width: 0; }
.searchbar-main { min-width: min(100%, 620px); background: #eef2f6; border: 1px solid rgba(15,23,42,.05); box-shadow: inset 0 1px 0 rgba(255,255,255,.55); }
.btn-header-soft { background: #f3f5f8; border: 1px solid rgba(15,23,42,.08); color: var(--site-text); }
.btn-header-soft:hover { background: #e9edf3; color: var(--site-text); }
.header-nav-wrap { border-top: 1px solid rgba(15,23,42,.06); padding-top: 1rem; }
.nav-chip { display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1rem; border-radius:999px; background:#f3f6fa; border:1px solid rgba(15,23,42,.06); transition:all .2s ease; }
.nav-chip:hover { transform: translateY(-1px); background:#fff; box-shadow:0 10px 20px rgba(15,23,42,.06); }
.branding-option-card { border: 1px solid rgba(15,23,42,.08); border-radius:20px; background: linear-gradient(180deg,#fff,#f8fafc); padding:1rem 1.1rem; }
.homepage-theme-preview { border:1px solid rgba(15,23,42,.08); border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 10px 25px rgba(15,23,42,.06); }
.homepage-theme-preview-top { color:#fff; font-weight:700; padding:.75rem 1rem; display:flex; align-items:center; gap:.5rem; font-size:.9rem; }
.homepage-live-dot { width:10px; height:10px; border-radius:999px; background:#ff4d4f; display:inline-block; box-shadow:0 0 0 4px rgba(255,255,255,.15); }
.homepage-theme-preview-body { padding:1rem; }
.homepage-brand-chip { width:14px; height:14px; border-radius:999px; display:inline-block; }
.homepage-chip-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.homepage-mini-chip { display:inline-flex; align-items:center; padding:.4rem .8rem; border-radius:999px; background:#f3f6fa; border:1px solid rgba(15,23,42,.06); font-size:.85rem; font-weight:600; }
.homepage-mini-chip-highlight { background:rgba(255,255,255,.95); }
@media (max-width: 1399.98px) {
  .site-header-main { display:grid !important; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:1rem; }
  .searchbar-main.d-none.d-lg-flex { display:flex !important; grid-column:1 / -1; order:3; margin:0 !important; width:100%; }
  .header-utility-actions { justify-content:flex-end; }
}
@media (max-width: 991.98px) {
  .site-header-main { display:flex !important; align-items:stretch !important; }
  .site-brand-shell, .header-utility-actions { width:100%; }
  .header-utility-actions { justify-content:flex-start; }
}
@media (max-width: 767.98px) {
  .brand-title { font-size:1.4rem; }
  .site-logo-header { width:50px; height:50px; }
  .header-utility-actions { gap:.5rem !important; }
}


/* ===== Refinos login/footer/logo v16 ===== */
.site-brand-shell.brand-mode-logo_only {
    min-width: 110px;
}

.site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
    width: 92px;
    height: 92px;
    padding: .55rem;
    border-radius: 1.4rem;
    background: linear-gradient(180deg, #ffffff, #f7fafc);
    box-shadow: 0 16px 35px rgba(15,23,42,.08);
}

.auth-page {
    background: radial-gradient(circle at top center, rgba(193,18,31,.05), transparent 28%), linear-gradient(180deg, #f8fafc 0%, #f3f6fb 100%);
}

.auth-card {
    padding: 2.4rem 2.3rem;
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: 0 24px 50px rgba(15,23,42,.08);
}

.auth-brand-shell {
    padding-bottom: .35rem;
    border-bottom: 1px solid rgba(15,23,42,.06);
}

.auth-logo,
.auth-logo-lg {
    width: 82px;
    height: 82px;
    padding: .5rem;
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.auth-brand-title {
    font-size: 1.85rem;
    line-height: 1.05;
}

.site-footer {
    background: linear-gradient(180deg, #f9fbff 0%, #f3f6fb 100%);
}

.footer-brand {
    align-items: flex-start;
}

.footer-logo {
    width: 78px;
    height: 78px;
    padding: .55rem;
    border-radius: 1.3rem;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 14px 28px rgba(15,23,42,.06);
    flex: 0 0 auto;
}

.footer-brand-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.06;
    margin: 0;
    color: var(--site-text);
}

.footer-newsletter-card {
    margin-top: 1.1rem;
    padding: 1rem;
    border: 1px solid rgba(15,23,42,.06);
}

.footer-newsletter-card .input-group {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}

.footer-newsletter-card .form-control {
    border: 0;
    min-height: 52px;
}

.footer-newsletter-card .btn {
    min-width: 124px;
}

.footer-note {
    min-height: 104px;
    display: flex;
    align-items: flex-start;
}

@media (max-width: 991.98px) {
    .site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
        width: 78px;
        height: 78px;
    }

    .footer-brand-title {
        font-size: 1.65rem;
    }
}

@media (max-width: 767.98px) {
    .auth-card {
        padding: 1.6rem 1.2rem;
    }

    .auth-logo,
    .auth-logo-lg {
        width: 68px;
        height: 68px;
    }

    .auth-brand-title {
        font-size: 1.55rem;
    }

    .footer-brand {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-logo {
        width: 68px;
        height: 68px;
    }

    .footer-brand-title {
        font-size: 1.55rem;
    }

    .footer-newsletter-card .input-group {
        display: flex;
        flex-direction: column;
        gap: .75rem;
        background: transparent;
        border-radius: 0;
        overflow: visible;
    }

    .footer-newsletter-card .form-control,
    .footer-newsletter-card .btn {
        width: 100%;
        border-radius: 14px !important;
    }
}


/* ===== V17 - conexão das logos por área + ajustes visuais críticos ===== */
.site-header-refined .container {
    max-width: 1160px;
}

.site-logo-header-solo {
    width: 116px !important;
    height: 84px !important;
    object-fit: contain;
}

.auth-brand-shell {
    align-items: center;
}

.auth-logo,
.auth-logo-lg {
    width: 96px !important;
    height: 96px !important;
    object-fit: contain;
}

.footer-logo {
    width: 92px !important;
    height: 92px !important;
    object-fit: contain;
}

.footer-note-improved {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    align-items: flex-start;
    min-height: unset;
    padding: 1.25rem;
    border-radius: 1.25rem;
    background: #eef2f7;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: normal;
}

.footer-note-title {
    display: inline-flex;
    font-weight: 800;
    color: var(--site-text);
}

.footer-note-text {
    display: block;
    color: var(--site-text);
}

.advanced-branding-panel {
    padding: 1.25rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #fff, #f8fafc);
}

.brand-current-preview {
    min-height: 70px;
    border: 1px dashed rgba(15,23,42,.15);
    border-radius: 1rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .75rem;
    color: var(--site-muted);
    font-size: .85rem;
}

.brand-current-preview img {
    max-height: 52px;
    max-width: 100%;
    object-fit: contain;
}

.breaking-strip {
    line-height: 1.5;
}

.breaking-items {
    min-width: 0;
}

.footer-brand-title {
    overflow-wrap: anywhere;
}

@media (max-width: 1399.98px) {
    .site-header-main {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .site-brand-shell.brand-mode-logo_only {
        min-width: 0;
    }

    .site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
        width: 100px !important;
        height: 76px !important;
    }

    .header-utility-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 767.98px) {
    .site-logo-header-solo {
        width: 88px !important;
        height: 66px !important;
    }

    .auth-logo,
    .auth-logo-lg {
        width: 78px !important;
        height: 78px !important;
    }

    .footer-logo {
        width: 76px !important;
        height: 76px !important;
    }

    .footer-note-improved {
        padding: 1rem;
    }
}


/* ===== V18 - homepage/header mais profissional e controles diretos ===== */
.header-editorial-shell {
    padding: 1rem 1.2rem 1.25rem;
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 1.75rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    box-shadow: 0 18px 45px rgba(15,23,42,.05);
}

.site-header-main {
    min-height: unset;
    align-items: center;
}

.site-brand-shell {
    padding: .35rem 0;
}

.site-logo-header {
    width: var(--site-logo-header-width) !important;
    height: calc(var(--site-logo-header-width) * .95) !important;
    border-radius: 1.1rem;
    object-fit: contain;
}

.site-brand-shell.brand-mode-logo_text .site-logo-header,
.site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
    padding: .5rem;
}

.site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
    width: calc(var(--site-logo-header-width) * 1.35) !important;
    height: calc(var(--site-logo-header-width) * .95) !important;
    max-width: 180px;
}

.header-utility-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: .35rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.header-utility-actions .btn,
.header-utility-actions a.btn {
    min-height: 42px;
    padding-inline: 1rem;
}

.searchbar-main {
    width: 100%;
    min-width: 0;
    background: #eef2f6;
    border: 1px solid rgba(15,23,42,.07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
    padding: .55rem;
}

.searchbar-main .form-control {
    min-height: 52px;
    background: transparent;
    font-size: 1.05rem;
}

.searchbar-main .btn {
    min-width: 116px;
    min-height: 52px;
}

.header-nav-wrap {
    margin-top: 1.1rem !important;
    padding-top: 1rem;
}

.header-nav-scroll {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem !important;
    overflow: visible !important;
}

.nav-chip {
    background: linear-gradient(180deg, #f6f8fb, #eef2f7);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 8px 18px rgba(15,23,42,.04);
    font-weight: 700;
}

.nav-chip.text-warning-emphasis {
    background: rgba(244,180,0,.12);
    color: #8a6500 !important;
}

.portal-value-strip .feature-pill-card {
    border-radius: 1.6rem;
    padding: 1.5rem;
}

.portal-value-strip .feature-pill-card h2 {
    font-size: 1.8rem;
    line-height: 1.15;
}

.footer-logo {
    width: var(--site-logo-footer-width) !important;
    height: var(--site-logo-footer-width) !important;
}

.auth-logo, .auth-logo-lg {
    width: var(--site-logo-login-width) !important;
    height: var(--site-logo-login-width) !important;
}

.footer-note-improved {
    background: linear-gradient(180deg, #f2f5fa, #eef2f7);
    border: 1px solid rgba(15,23,42,.05);
}

.footer-note-kicker {
    display: inline-flex;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--site-accent);
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .header-editorial-shell { padding: 1rem; }
    .site-header-main { display: flex !important; flex-direction: column; align-items: stretch !important; }
    .site-brand-shell { width: 100%; justify-content: center; }
    .header-utility-actions { width: 100%; justify-content: center !important; }
    .header-nav-scroll { overflow-x: auto !important; flex-wrap: nowrap; padding-bottom: .35rem; }
    .portal-value-strip .feature-pill-card h2 { font-size: 1.45rem; }
}

@media (max-width: 767.98px) {
    .topbar .container { gap: .75rem !important; }
    .topbar-live-badge { padding: .3rem .65rem; }
    .searchbar-main { padding: .4rem; }
    .searchbar-main .form-control { min-height: 46px; font-size: 1rem; }
    .searchbar-main .btn { min-width: 100px; min-height: 46px; }
    .header-utility-actions .btn, .header-utility-actions a.btn { min-height: 40px; padding-inline: .85rem; }
    .site-logo-header { width: calc(var(--site-logo-header-width) * .82) !important; height: calc(var(--site-logo-header-width) * .74) !important; }
    .site-brand-shell.brand-mode-logo_only .site-logo-header-solo { width: calc(var(--site-logo-header-width) * 1.05) !important; height: calc(var(--site-logo-header-width) * .78) !important; }
}


/* ===== V19 - header compacto, slider e modelos de homepage ===== */
.header-editorial-shell {
    padding: .75rem .9rem 1rem;
    border-radius: 1.45rem;
}

.site-header .container.py-3.py-lg-4 {
    padding-top: .9rem !important;
    padding-bottom: .9rem !important;
}

.site-header-main {
    gap: .8rem !important;
}

.site-brand-shell.brand-mode-logo_only .site-logo-header-solo {
    width: calc(var(--site-logo-header-width) * 1.1) !important;
}

.searchbar-main {
    padding: .35rem;
    border-radius: 1.15rem;
}

.searchbar-main .form-control {
    min-height: 44px;
    font-size: 1rem;
    padding-inline: .9rem;
}

.searchbar-main .btn {
    min-width: 98px;
    min-height: 44px;
    padding-inline: 1rem !important;
}

.header-utility-actions {
    gap: .45rem !important;
    padding: .22rem;
}

.header-utility-actions .btn,
.header-utility-actions a.btn {
    min-height: 38px;
    padding-inline: .9rem;
    font-size: .95rem;
}

.header-nav-wrap {
    margin-top: .75rem !important;
    padding-top: .75rem;
}

.nav-chip {
    padding: .55rem .9rem;
    font-size: .95rem;
}

.homepage-top-carousel {
    margin-bottom: 1.2rem;
}

.homepage-slide-card {
    border-radius: 1.8rem;
    overflow: hidden;
    border: 1px solid rgba(15,23,42,.06);
    background: linear-gradient(180deg, #fff, #f9fbff);
    box-shadow: 0 20px 45px rgba(15,23,42,.06);
}

.homepage-slide-media {
    min-height: 340px;
    background-size: cover;
    background-position: center;
}

.homepage-slide-content {
    padding: 2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.homepage-slide-content h2 {
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 1rem;
}

.homepage-slide-content p {
    color: var(--site-muted);
    margin-bottom: 0;
}

.homepage-top-carousel .carousel-indicators {
    margin-bottom: .6rem;
}

.homepage-top-carousel .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 0;
    background-color: rgba(15,23,42,.28);
}

.homepage-top-carousel .carousel-control-prev,
.homepage-top-carousel .carousel-control-next {
    width: 46px;
    height: 46px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(15,23,42,.82);
    border-radius: 999px;
    opacity: 1;
}

.homepage-top-carousel .carousel-control-prev { left: 1rem; }
.homepage-top-carousel .carousel-control-next { right: 1rem; }

.homepage-model-compacta .portal-value-strip,
.homepage-model-compacta .breaking-strip,
.homepage-model-compacta .hero-section {
    display: none;
}

.homepage-model-compacta .homepage-top-carousel {
    margin-bottom: 1.75rem;
}

.homepage-model-revista .feature-pill-card,
.homepage-model-editorial .feature-pill-card {
    min-height: 100%;
}

.premium-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

@media (max-width: 991.98px) {
    .homepage-slide-media { min-height: 250px; }
    .homepage-slide-content { padding: 1.35rem; }
    .homepage-slide-content h2 { font-size: 1.55rem; }
    .header-utility-actions { justify-content: center !important; }
}

@media (max-width: 767.98px) {
    .header-editorial-shell { padding: .65rem .7rem .8rem; border-radius: 1.1rem; }
    .site-header .container.py-3.py-lg-4 { padding-top: .65rem !important; padding-bottom: .65rem !important; }
    .searchbar-main .form-control { min-height: 42px; }
    .searchbar-main .btn { min-width: 90px; min-height: 42px; }
    .header-utility-actions .btn,
    .header-utility-actions a.btn { min-height: 36px; font-size: .92rem; }
    .nav-chip { padding: .52rem .85rem; font-size: .92rem; }
    .homepage-slide-media { min-height: 210px; }
    .homepage-slide-content { padding: 1.1rem; }
    .homepage-slide-content h2 { font-size: 1.3rem; }
    .homepage-top-carousel .carousel-control-prev,
    .homepage-top-carousel .carousel-control-next { width: 40px; height: 40px; }
    .premium-feature-grid { grid-template-columns: 1fr; }
}


/* ===== V21 - header estilo portal antigo ===== */
.site-header-navonly {
    background: transparent;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.portal-main-nav-wrap {
    background: #162231;
    border-radius: 0;
    box-shadow: 0 14px 30px rgba(15,23,42,.12);
    overflow: hidden;
}

.portal-main-nav {
    min-height: 52px;
    padding: 0;
}

.portal-main-nav-inner {
    padding: 0 1rem;
    min-height: 52px;
}

.portal-brand-mini {
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    overflow: hidden;
}

.site-logo-header-mini {
    width: 44px !important;
    height: 36px !important;
    object-fit: contain;
}

.portal-nav-links {
    min-width: 0;
    overflow: hidden;
}

.portal-nav-link,
.portal-nav-link-btn {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    height: 52px;
    padding: 0 .9rem;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.96);
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease;
}

.portal-nav-link:hover,
.portal-nav-link:focus,
.portal-nav-link-btn:hover,
.portal-nav-link-btn:focus {
    color: #fff;
    background: rgba(255,255,255,.06);
}

.portal-nav-link.active {
    background: rgba(255,255,255,.08);
}

.portal-nav-link i {
    font-size: .75rem;
    opacity: .75;
}

.portal-nav-link-cta {
    border-left: 1px solid rgba(255,255,255,.08);
    margin-left: .25rem;
}

.portal-nav-icon-btn {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #fff;
    transition: background-color .18s ease, transform .18s ease;
}

.portal-nav-icon-btn:hover,
.portal-nav-icon-btn:focus {
    background: rgba(255,255,255,.08);
    color: #fff;
}

.portal-nav-icon-btn .bi {
    font-size: 1.3rem;
}

.portal-nav-dropdown {
    min-width: 240px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.08);
    padding: .5rem;
    margin-top: .5rem !important;
}

.portal-nav-dropdown .dropdown-item {
    border-radius: 10px;
    padding: .58rem .8rem;
}

.portal-search-collapse {
    background: #f5f8fc;
    border-top: 1px solid rgba(15,23,42,.06);
    padding: 0 1rem 1rem;
}

.portal-search-inline {
    padding-top: 1rem;
}

.portal-search-inline .input-group {
    max-width: 620px;
}

.portal-search-inline .input-group-text,
.portal-search-inline .form-control,
.portal-search-inline .btn {
    min-height: 44px;
}

.portal-search-inline .input-group-text {
    background: #fff;
    border-right: 0;
}

.portal-search-inline .form-control {
    border-left: 0;
}

.portal-menu-canvas {
    max-width: 320px;
}

.site-logo-offcanvas {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain;
}

.portal-offcanvas-links .list-group-item {
    border: 0;
    border-bottom: 1px solid rgba(15,23,42,.06);
    padding: .85rem 0;
    font-weight: 600;
}

.topbar {
    position: relative;
    z-index: 1035;
}

.site-header-navonly {
    position: sticky;
    top: 0;
    z-index: 1030;
}

@media (max-width: 991.98px) {
    .portal-main-nav-inner {
        padding: 0 .7rem;
    }

    .portal-main-nav {
        min-height: 50px;
    }

    .portal-nav-icon-btn {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 767.98px) {
    .portal-main-nav-wrap {
        border-radius: 0;
    }

    .portal-main-nav-inner {
        padding: 0 .5rem;
        min-height: 48px;
    }

    .portal-nav-icon-btn {
        width: 38px;
        height: 38px;
    }

    .portal-nav-link-cta {
        display: none !important;
    }

    .portal-search-collapse {
        padding: 0 .75rem .75rem;
    }
}


/* ===== V22 - presets estruturais e homepage configurável ===== */
.homepage-toggle-grid {
    border-top: 1px dashed rgba(15,23,42,.10);
    padding-top: .9rem;
}

.homepage-toggle-item {
    padding: .65rem .8rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    background: #fff;
}

.homepage-newsletter-box .form-control {
    min-height: 46px;
}

@media (max-width: 767.98px) {
    .single-mobile-grid {
        grid-template-columns: 1fr;
    }
}


/* ===== V23 - notícia, categoria, premium e assinante ===== */
.article-page-v23 .article-hero-card,
.category-hero-card,
.reader-dashboard-hero,
.premium-hero-v23 {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 1.75rem;
    box-shadow: 0 18px 45px rgba(15,23,42,.06);
    overflow: hidden;
}

.article-hero-copy {
    padding: 2rem;
}

.article-title-display {
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.02;
    font-weight: 800;
}

.article-standfirst {
    font-size: 1.15rem;
    color: var(--site-muted);
    max-width: 58ch;
}

.article-meta-rich {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.2rem;
    color: var(--site-muted);
    font-size: .95rem;
}

.article-meta-rich span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.article-hero-media-wrap {
    height: 100%;
    min-height: 320px;
}

.article-hero-media {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
}

.article-content-card {
    background: #fff;
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 1.5rem;
    box-shadow: 0 14px 35px rgba(15,23,42,.05);
    padding: 1.5rem;
}

.article-toolbar-hero {
    margin-top: 1rem;
}

.article-sidebar-sticky {
    top: 110px;
}

.category-note-card {
    border-radius: 1.4rem;
    background: #f4f7fb;
    border: 1px solid rgba(15,23,42,.06);
    padding: 1.4rem;
}

.premium-page-v23 .pricing-card,
.subscription-page-v23 .panel-card,
.reader-dashboard-hero .reader-subscription-box {
    box-shadow: 0 16px 40px rgba(15,23,42,.06);
}

.premium-page-v23 .feature-pill-card {
    border-radius: 1.45rem;
}

.reader-subscription-box {
    border: 1px solid rgba(15,23,42,.06);
    background: #f8fbff;
    border-radius: 1.4rem;
    padding: 1rem;
}

.subscription-benefit-grid .wallet-entry,
.premium-feature-grid .wallet-entry {
    height: 100%;
}

@media (max-width: 991.98px) {
    .article-hero-copy {
        padding: 1.4rem;
    }

    .article-content-card {
        padding: 1.2rem;
    }

    .article-hero-media,
    .article-hero-media-wrap {
        min-height: 240px;
    }
}

@media (max-width: 767.98px) {
    .article-meta-rich {
        gap: .55rem .9rem;
        font-size: .88rem;
    }

    .article-title-display {
        line-height: 1.08;
    }
}


/* ===== V24 - homepage clássica estilo portal regional ===== */
.classic-top-strip {
    background: linear-gradient(90deg, #087bd5, #062536);
    color: #fff;
    font-size: .88rem;
}

.classic-top-strip a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.classic-top-strip a:hover {
    color: #20d46b;
}

.classic-top-links,
.classic-top-actions {
    min-height: 36px;
}

.site-header-classic {
    background: #fff;
    border-bottom: 0;
    box-shadow: none;
}

.classic-masthead {
    min-height: 110px;
    display: grid;
    grid-template-columns: minmax(220px, 380px) minmax(260px, 1fr);
    gap: 2rem;
    align-items: center;
}

.classic-brand {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: var(--site-text);
}

.classic-brand-logo {
    width: min(var(--site-logo-header-width), 260px) !important;
    max-width: 300px;
    height: 92px !important;
    object-fit: contain;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.classic-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.classic-brand-copy strong {
    font-size: 2rem;
    font-weight: 800;
}

.classic-brand-kicker {
    font-size: .78rem;
    letter-spacing: .18em;
    color: var(--site-accent);
    font-weight: 800;
    text-transform: uppercase;
}

.classic-header-ad {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    align-items: stretch;
}

.classic-header-ad .ad-label {
    align-self: flex-start;
    color: var(--site-muted);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.classic-ad-box {
    min-height: 88px;
    border: 1px solid rgba(8, 123, 213, .18);
    background:
        radial-gradient(circle at top right, rgba(8, 123, 213, .15), transparent 30%),
        linear-gradient(135deg, #f5fbff, #ffffff);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    color: #0f172a;
    overflow: hidden;
}

.classic-ad-box strong {
    font-size: 1rem;
    text-transform: uppercase;
}

.classic-ad-box span {
    color: var(--site-muted);
}

.portal-main-nav-wrap {
    background: #162331;
    border-radius: 0;
    box-shadow: none;
}

.portal-main-nav-inner {
    min-height: 52px;
}

.portal-nav-link,
.portal-nav-link-btn {
    height: 52px;
    padding-inline: .95rem;
}

.portal-nav-icon-btn {
    color: #fff;
}

.classic-hero-grid-section {
    padding: 2.8rem 0 2rem;
    background: #fff;
}

.classic-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .72fr) minmax(0, .72fr);
    min-height: 350px;
    gap: 6px;
    overflow: hidden;
}

.classic-hero-main,
.classic-hero-side {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 350px;
    overflow: hidden;
}

.classic-hero-side {
    min-height: 350px;
}

.classic-hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.78) 100%);
}

.classic-hero-overlay:hover {
    color: #fff;
}

.classic-category-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: #08b83e;
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: .45rem .8rem;
}

.classic-hero-meta {
    color: rgba(255,255,255,.84);
    font-weight: 600;
    margin-bottom: .4rem;
}

.classic-hero-main h1 {
    font-size: clamp(1.8rem, 3.2vw, 3.1rem);
    line-height: 1.08;
    font-weight: 800;
    max-width: 95%;
    margin: 0;
}

.classic-hero-side h2 {
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.15;
    font-weight: 800;
    margin: 0;
}

.classic-content-section {
    padding: 2.4rem 0 4rem;
    background: #fff;
}

.classic-block {
    margin-bottom: 1rem;
}

.classic-section-title {
    font-size: 1.35rem;
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 1.15rem;
    color: #0f172a;
}

.classic-section-title-green {
    background: #257c3e;
    color: #fff;
    padding: .5rem .65rem;
    margin-bottom: 0;
}

.classic-section-title-dark {
    background: #162331;
    color: #fff;
    padding: .75rem .9rem;
    text-transform: uppercase;
    font-size: .92rem;
    letter-spacing: .02em;
}

.classic-feature-card {
    border-bottom: 1px solid rgba(15,23,42,.12);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.classic-feature-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
    margin-bottom: .85rem;
}

.classic-feature-card-wide img {
    height: 300px;
}

.classic-feature-card h3,
.classic-small-card h3,
.classic-recent-item h3 {
    font-size: 1.05rem;
    line-height: 1.25;
    font-weight: 800;
    margin: .2rem 0 .55rem;
}

.classic-feature-card h3 a,
.classic-small-card h3 a,
.classic-mini-item h4 a,
.classic-recent-item h3 a {
    color: #0f172a;
    text-decoration: none;
}

.classic-feature-card h3 a:hover,
.classic-small-card h3 a:hover,
.classic-mini-item h4 a:hover,
.classic-recent-item h3 a:hover {
    color: #08b83e;
}

.classic-meta {
    color: #8a95a3;
    font-size: .82rem;
    margin-bottom: .65rem;
}

.classic-meta strong {
    color: #08b83e;
}

.classic-feature-card p,
.classic-recent-item p {
    color: #6b7280;
    line-height: 1.55;
    margin-bottom: 0;
}

.classic-mini-list {
    display: grid;
    gap: 1.05rem;
}

.classic-mini-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: .9rem;
    align-items: start;
}

.classic-mini-item img {
    width: 110px;
    height: 72px;
    object-fit: cover;
}

.classic-mini-item h4 {
    font-size: .98rem;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 .35rem;
}

.classic-mini-item time,
.classic-small-card time {
    color: #8a95a3;
    font-size: .8rem;
}

.classic-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem 2rem;
}

.classic-small-card img {
    width: 100%;
    height: 174px;
    object-fit: cover;
    margin-bottom: .8rem;
}

.classic-ad-placeholder {
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    color: #8a95a3;
    border: 1px dashed rgba(15,23,42,.15);
    background: #fbfcff;
}

.classic-ad-placeholder span {
    font-size: .72rem;
    text-transform: uppercase;
}

.classic-ad-placeholder strong {
    color: #0f172a;
}

.classic-recent-list {
    display: grid;
    gap: 1.6rem;
}

.classic-recent-item {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 1.4rem;
    border-bottom: 1px solid rgba(15,23,42,.12);
    padding-bottom: 1.6rem;
}

.classic-recent-item img {
    width: 285px;
    height: 190px;
    object-fit: cover;
}

.classic-social-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.classic-social-grid a {
    color: #fff;
    text-decoration: none;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding: .6rem 1rem;
    font-weight: 800;
}

.classic-social-grid .facebook { background: #1d72d8; }
.classic-social-grid .instagram { background: #c13584; }
.classic-social-grid .tiktok { background: #ff2d55; }
.classic-social-grid .whatsapp { background: #25d366; }

@media (max-width: 1199.98px) {
    .classic-masthead {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.25rem 0;
    }

    .classic-header-ad {
        display: none;
    }

    .classic-hero-grid {
        grid-template-columns: 1fr 1fr;
    }

    .classic-hero-main {
        grid-column: 1 / -1;
    }

    .classic-recent-item {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .classic-recent-item img {
        width: 220px;
        height: 150px;
    }
}

@media (max-width: 991.98px) {
    .classic-top-strip .container {
        justify-content: center !important;
    }

    .classic-top-links {
        justify-content: center;
    }

    .classic-masthead {
        min-height: auto;
    }

    .classic-brand {
        width: 100%;
        justify-content: center;
    }

    .classic-brand-logo {
        max-width: 240px;
        height: 78px !important;
    }

    .classic-hero-grid {
        grid-template-columns: 1fr;
    }

    .classic-hero-main,
    .classic-hero-side {
        min-height: 280px;
    }

    .classic-feature-card-wide img {
        height: 240px;
    }
}

@media (max-width: 767.98px) {
    .classic-top-links a:nth-child(n+3) {
        display: none;
    }

    .classic-brand-copy strong {
        font-size: 1.55rem;
    }

    .classic-brand-logo {
        max-width: 200px;
        height: 64px !important;
    }

    .classic-hero-grid-section {
        padding-top: 1.25rem;
    }

    .classic-hero-overlay {
        padding: 1rem;
    }

    .classic-hero-main h1 {
        font-size: 1.6rem;
    }

    .classic-card-grid,
    .classic-social-grid {
        grid-template-columns: 1fr;
    }

    .classic-mini-item,
    .classic-recent-item {
        grid-template-columns: 108px minmax(0, 1fr);
    }

    .classic-recent-item img,
    .classic-mini-item img {
        width: 108px;
        height: 74px;
    }

    .classic-recent-item p {
        display: none;
    }
}


/* ===== V24.1 - refinamento preset Portal Clássico Amazonas ===== */
.classic-home-portal_classico {
    background: #f7f8fb;
}

.classic-hero-grid-section {
    padding: 2rem 0 1.5rem;
    background: #f7f8fb;
}

.classic-hero-grid {
    gap: 12px;
    min-height: 390px;
}

.classic-hero-main,
.classic-hero-side {
    min-height: 390px;
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .08);
}

.classic-hero-overlay {
    padding: 1.15rem 1.15rem 1.35rem;
    background: linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.16) 38%, rgba(3,14,28,.82) 100%);
}

.classic-category-badge {
    top: 14px;
    left: 14px;
    border-radius: 6px;
    padding: .4rem .7rem;
    font-size: .7rem;
    letter-spacing: .03em;
    box-shadow: 0 8px 16px rgba(0,0,0,.12);
}

.classic-hero-meta {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .88rem;
    margin-bottom: .55rem;
    text-shadow: 0 2px 10px rgba(0,0,0,.25);
}

.classic-hero-meta::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #08b83e;
}

.classic-hero-main h1 {
    font-size: clamp(1.55rem, 2.45vw, 2.45rem);
    line-height: 1.08;
    font-weight: 800;
    max-width: 78%;
    margin: 0;
    text-wrap: balance;
    text-shadow: 0 3px 18px rgba(0,0,0,.32);
}

.classic-hero-side h2 {
    font-size: clamp(1.08rem, 1.55vw, 1.42rem);
    line-height: 1.18;
    max-width: 92%;
    text-wrap: balance;
    text-shadow: 0 2px 14px rgba(0,0,0,.32);
}

.classic-content-section {
    padding: 2rem 0 4rem;
    background: #f7f8fb;
}

.classic-block {
    background: #fff;
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 18px;
    padding: 1.15rem;
    box-shadow: 0 10px 28px rgba(15,23,42,.05);
}

.classic-block + .classic-block {
    margin-top: 1.25rem;
}

.classic-section-title {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    padding: .55rem .9rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.1;
    letter-spacing: .01em;
}

.classic-section-title-green {
    background: linear-gradient(90deg, #257c3e, #2f934a);
    color: #fff;
}

.classic-section-title-dark {
    background: linear-gradient(90deg, #162331, #1d3145);
    color: #fff;
    text-transform: uppercase;
    font-size: .83rem;
    letter-spacing: .05em;
}

.classic-feature-card {
    border-bottom: 1px solid rgba(15,23,42,.08);
}

.classic-feature-card img,
.classic-feature-card-wide img,
.classic-small-card img,
.classic-mini-item img,
.classic-recent-item img {
    border-radius: 12px;
}

.classic-ad-placeholder {
    border-radius: 16px;
    background: #fff;
    border: 1px dashed rgba(15,23,42,.16);
}

.classic-social-grid a {
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
}

@media (max-width: 1199.98px) {
    .classic-hero-main h1 {
        max-width: 88%;
    }
}

@media (max-width: 991.98px) {
    .classic-hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .classic-hero-main,
    .classic-hero-side {
        min-height: 300px;
    }

    .classic-hero-main h1 {
        max-width: 100%;
        font-size: clamp(1.45rem, 5vw, 2rem);
    }

    .classic-block {
        padding: 1rem;
    }
}

@media (max-width: 767.98px) {
    .classic-hero-grid-section {
        padding: 1.1rem 0 1rem;
    }

    .classic-hero-main,
    .classic-hero-side {
        min-height: 240px;
        border-radius: 14px;
    }

    .classic-hero-overlay {
        padding: 1rem;
    }

    .classic-category-badge {
        top: 10px;
        left: 10px;
        font-size: .66rem;
        padding: .34rem .58rem;
    }

    .classic-hero-main h1 {
        font-size: 1.65rem;
        line-height: 1.1;
    }

    .classic-hero-side h2 {
        font-size: 1.08rem;
    }

    .classic-section-title {
        font-size: .92rem;
        padding: .48rem .8rem;
    }
}


/* ===== V24.2 - ajuste fino da logo no cabeçalho clássico ===== */
.classic-masthead {
    grid-template-columns: minmax(280px, 420px) minmax(260px, 1fr);
}

.classic-brand {
    min-height: 92px;
}

.classic-brand-logo {
    width: clamp(220px, 24vw, 320px) !important;
    max-width: min(100%, 320px) !important;
    height: auto !important;
    aspect-ratio: 300 / 80;
    object-fit: contain;
    display: block;
}

@media (max-width: 991.98px) {
    .classic-masthead {
        grid-template-columns: 1fr;
    }

    .classic-brand-logo {
        width: clamp(200px, 42vw, 280px) !important;
        max-width: 280px !important;
    }
}

@media (max-width: 767.98px) {
    .classic-brand {
        justify-content: flex-start;
    }

    .classic-brand-logo {
        width: clamp(180px, 52vw, 240px) !important;
        max-width: 240px !important;
    }
}


/* ===== V25 - cookies e gateway premium ===== */
.cookie-consent-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    padding: 1rem;
    pointer-events: none;
}

.cookie-consent-card {
    max-width: 1120px;
    margin: 0 auto;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 1.4rem;
    box-shadow: 0 24px 60px rgba(15,23,42,.20);
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    pointer-events: auto;
}

.cookie-consent-content {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
}

.cookie-consent-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #f3f6fa;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--site-accent);
    flex: 0 0 auto;
}

.cookie-consent-card h2 {
    font-size: 1rem;
    margin: 0 0 .25rem;
    font-weight: 800;
}

.cookie-consent-card p {
    margin: 0;
    color: var(--site-muted);
    font-size: .92rem;
}

.cookie-consent-actions {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.gateway-config-card {
    border: 1px solid rgba(15,23,42,.08);
    background: linear-gradient(180deg, #fff, #f8fafc);
    border-radius: 1.25rem;
    padding: 1.25rem;
}

.gateway-status-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: 999px;
    background: #eef2f7;
    padding: .5rem .85rem;
    font-weight: 700;
    font-size: .85rem;
}

@media (max-width: 767.98px) {
    .cookie-consent-card {
        align-items: stretch;
        flex-direction: column;
    }

    .cookie-consent-actions {
        width: 100%;
    }

    .cookie-consent-actions .btn {
        flex: 1;
    }
}


/* ===== V26.1 - migração avançada ===== */
.migration-preview-content {
    line-height: 1.75;
    color: var(--site-text);
}

.migration-preview-content img {
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
}


/* ===== V27 - premium liberado, áreas secretas e moedas extras ===== */
.gateway-config-card {
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 1.25rem;
    padding: 1.4rem;
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.reader-subscription-box .small.text-secondary.mt-2 {
    line-height: 1.45;
}


/* ===== V28 - menus premium administráveis + redes sociais ===== */
.classic-socials a {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    text-decoration: none;
}

.classic-socials a:hover {
    background: rgba(255,255,255,.16);
}

.portal-nav-link-premium {
    color: #ffd36b;
}

.portal-nav-link-premium:hover,
.portal-nav-link-premium:focus {
    color: #fff0b9;
}

.footer-social-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    color: var(--site-text);
    text-decoration: none;
    font-weight: 600;
}

.footer-social-btn:hover {
    color: var(--site-accent);
    border-color: rgba(193,18,31,.18);
}

.premium-exclusive-card {
    display: block;
    height: 100%;
    padding: 1.25rem;
    border-radius: 1.4rem;
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: 0 14px 28px rgba(15,23,42,.05);
}

.premium-exclusive-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 35px rgba(15,23,42,.08);
}

.premium-exclusive-hero {
    background: radial-gradient(circle at top right, rgba(193,18,31,.06), transparent 35%), linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
}


/* ===== V32 - página quem somos ===== */
.who-page {
    background: radial-gradient(circle at top right, rgba(193,18,31,.04), transparent 24%), linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.who-hero-card {
    padding: 1.5rem;
    border-radius: 28px;
    border: 1px solid rgba(15,23,42,.08);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 20px 45px rgba(15,23,42,.06);
}

.who-brand-logo {
    width: 92px;
    height: 92px;
    object-fit: contain;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff, #f6f8fb);
    box-shadow: 0 14px 30px rgba(15,23,42,.06);
    padding: .65rem;
}

.who-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

.who-stat-item {
    padding: 1rem;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.06);
}

.who-stat-item strong,
.who-stat-item span {
    display: block;
}

.who-stat-item strong {
    margin-bottom: .28rem;
    color: #0f172a;
}

.who-stat-item span {
    color: #64748b;
    font-size: .94rem;
}

.who-value-card {
    padding: 1.25rem;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
}

.who-highlight-item {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: 1rem;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(15,23,42,.06);
}

.who-highlight-item i {
    color: var(--site-accent);
    font-size: 1.1rem;
    line-height: 1.2;
}

.who-contact-card {
    background: radial-gradient(circle at top right, rgba(193,18,31,.06), transparent 30%), linear-gradient(180deg, #ffffff, #f8fafc);
}

@media (max-width: 767.98px) {
    .who-brand-logo {
        width: 74px;
        height: 74px;
    }

    .who-stat-grid {
        grid-template-columns: 1fr;
    }
}


/* ===== V33 - Futebol ao vivo ===== */
.football-page .football-hero {
    background: linear-gradient(135deg, rgba(15, 23, 42, .04), rgba(34, 197, 94, .08));
    border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.football-summary-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    padding: 1rem;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 16px 38px rgba(15,23,42,.07);
}

.football-summary-card div {
    padding: .9rem;
    border-radius: 18px;
    background: #f8fafc;
}

.football-summary-card span,
.football-summary-card strong {
    display: block;
}

.football-summary-card span {
    color: #64748b;
    font-size: .82rem;
}

.football-summary-card strong {
    font-size: 1.35rem;
    color: #0f172a;
}

.football-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.football-score-card,
.football-widget-card {
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
}

.football-score-card {
    padding: 1rem;
}

.football-score-top,
.football-score-footer,
.football-widget-header {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
}

.football-score-top strong,
.football-score-top small {
    display: block;
}

.football-score-top small,
.football-score-footer {
    color: #64748b;
    font-size: .84rem;
}

.football-status {
    padding: .35rem .7rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 800;
    background: #eef2f7;
    color: #0f172a;
    white-space: nowrap;
}

.football-status-ao_vivo {
    background: rgba(34,197,94,.14);
    color: #15803d;
}

.football-status-finalizados {
    background: rgba(15,23,42,.08);
    color: #334155;
}

.football-status-proximos {
    background: rgba(245,158,11,.14);
    color: #a16207;
}

.football-score-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
    padding: 1.1rem 0;
}

.football-team {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-weight: 800;
    min-width: 0;
}

.football-team-away {
    justify-content: flex-end;
    text-align: right;
}

.football-team img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex: 0 0 auto;
}

.football-team span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.football-score-number {
    min-width: 72px;
    text-align: center;
    padding: .55rem .75rem;
    border-radius: 16px;
    background: #0f172a;
    color: #fff;
    font-weight: 900;
}

.football-widget-card {
    padding: 1rem;
}

.football-widget-header h2 {
    font-size: 1.15rem;
    margin: 0;
}

.football-widget-list {
    display: grid;
    gap: .7rem;
    margin-top: 1rem;
}

.football-mini-score {
    display: grid;
    gap: .25rem;
    padding: .8rem;
    border-radius: 18px;
    background: #f8fafc;
    color: #0f172a;
}

.football-mini-league {
    font-size: .78rem;
    color: #64748b;
    font-weight: 700;
}

.football-mini-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
}

.football-mini-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.football-mini-row span {
    padding: .25rem .45rem;
    border-radius: 10px;
    background: #111827;
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
}

.football-mini-score small {
    color: #64748b;
}

@media (max-width: 991.98px) {
    .football-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .football-score-grid,
    .football-summary-card { grid-template-columns: 1fr; }
    .football-score-body { grid-template-columns: 1fr; text-align: left; }
    .football-team-away { justify-content: flex-start; text-align: left; }
    .football-score-number { width: 100%; }
}


/* ===== V34 - Futebol profissional + Bolão de Placar ===== */
.football-pro-hero {
    background: radial-gradient(circle at top left, rgba(34,197,94,.35), transparent 34%), linear-gradient(135deg, #07111f, #0f172a 52%, #14532d);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.football-pro-hero .lead { color: rgba(255,255,255,.78); }
.football-live-board,
.football-main-panel,
.football-side-panel,
.football-prediction-card {
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
}
.football-live-board { padding: 1.2rem; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.16); backdrop-filter: blur(12px); }
.football-live-board-head,
.football-live-board-foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: rgba(255,255,255,.85); }
.football-live-board-head > div { display: flex; align-items: center; gap: .5rem; }
.football-live-dot { width: .65rem; height: .65rem; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 .35rem rgba(34,197,94,.18); display: inline-block; }
.football-live-board-main { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.football-live-board-main div { border-radius: 22px; background: rgba(255,255,255,.12); padding: 1rem; }
.football-live-board-main span { display: block; color: rgba(255,255,255,.68); font-size: .78rem; }
.football-live-board-main strong { display: block; color: #fff; font-size: 1.6rem; line-height: 1.1; }
.football-score-grid-pro { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.football-pro-card { transition: transform .18s ease, box-shadow .18s ease; }
.football-pro-card:hover { transform: translateY(-3px); box-shadow: 0 22px 42px rgba(15,23,42,.1); }
.football-bet-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.football-bet-stats div { padding: .75rem; border-radius: 18px; background: #f8fafc; text-align: center; }
.football-bet-stats strong,
.football-bet-stats span { display: block; }
.football-bet-stats strong { font-size: 1.15rem; color: #0f172a; }
.football-bet-stats span { font-size: .76rem; color: #64748b; }
.football-rank-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .75rem; align-items: center; padding: .7rem; border-radius: 16px; background: #f8fafc; }
.football-rank-row span { font-weight: 900; color: #16a34a; }
.football-rank-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-rank-row em { color: #64748b; font-style: normal; font-size: .82rem; }
.football-prediction-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.football-prediction-card { padding: 1rem; }
.football-prediction-meta { display: flex; justify-content: space-between; gap: .75rem; color: #64748b; font-size: .82rem; margin-bottom: .8rem; }
.football-prediction-match { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .75rem; align-items: center; margin-bottom: 1rem; }
.football-prediction-match strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-prediction-match span { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #0f172a; color: #fff; font-weight: 900; }
.football-prediction-form { display: grid; grid-template-columns: 74px auto 74px auto; gap: .6rem; align-items: center; }
.football-prediction-form span { color: #64748b; font-size: .78rem; text-transform: uppercase; font-weight: 800; }
.football-workspace-widget { overflow: hidden; }
.football-workspace-list { display: grid; gap: .55rem; }
.football-workspace-row { display: grid; grid-template-columns: 74px minmax(0,1fr) auto minmax(0,1fr); gap: .55rem; align-items: center; padding: .65rem; border-radius: 16px; background: #f8fafc; color: #0f172a; }
.football-workspace-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.football-workspace-row em { font-style: normal; font-weight: 900; color: #0f172a; }
.football-workspace-status { display: inline-flex; align-items: center; justify-content: center; padding: .25rem .45rem; border-radius: 999px; font-size: .72rem; font-weight: 900; }
.football-workspace-footer { display: flex; flex-wrap: wrap; gap: .45rem; }
.football-workspace-footer span { padding: .35rem .55rem; border-radius: 999px; background: #eef2f7; color: #334155; font-size: .76rem; font-weight: 700; }
@media (max-width: 991.98px) {
    .football-score-grid-pro,
    .football-prediction-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .football-live-board-main { grid-template-columns: 1fr; }
    .football-prediction-form { grid-template-columns: 1fr; }
    .football-workspace-row { grid-template-columns: 1fr; }
}


/* ===== V35 - Refino visual do futebol / widget home / acesso do bolão ===== */
.section-kicker-light { color: rgba(255,255,255,.72); }
.football-home-widget { overflow: hidden; padding: 0; }
.football-home-widget .section-kicker { color: rgba(255,255,255,.76); }
.football-home-widget .football-home-widget-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    background: linear-gradient(135deg, #0f172a, #111827 58%, #166534);
    color: #fff;
}
.football-home-widget-hero h2 { margin: .25rem 0 .4rem; font-size: 1.35rem; }
.football-home-widget-hero p { margin: 0; color: rgba(255,255,255,.74); font-size: .92rem; max-width: 360px; }
.football-home-widget-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .75rem;
    padding: 1rem 1rem .5rem;
}
.football-home-widget-stats div,
.football-v35-stat-card {
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.06);
    padding: .9rem 1rem;
}
.football-home-widget-stats span,
.football-home-widget-stats strong,
.football-v35-stat-card span,
.football-v35-stat-card strong,
.football-v35-stat-card small { display: block; }
.football-home-widget-stats span,
.football-v35-stat-card span,
.football-v35-stat-card small { color: #64748b; }
.football-home-widget-stats strong,
.football-v35-stat-card strong { color: #0f172a; font-size: 1.25rem; }
.football-widget-list-pro { padding: 0 1rem 1rem; margin-top: 0; }
.football-widget-match {
    display: block;
    padding: .95rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 12px 25px rgba(15,23,42,.04);
    color: #0f172a;
}
.football-widget-match:hover { box-shadow: 0 18px 28px rgba(15,23,42,.08); transform: translateY(-2px); }
.football-widget-match-top,
.football-widget-match-footer {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
}
.football-widget-match-body {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: .65rem;
    align-items: center;
    padding: .8rem 0;
}
.football-widget-team { display: flex; align-items: center; gap: .55rem; min-width: 0; }
.football-widget-team img { width: 26px; height: 26px; object-fit: contain; flex: 0 0 auto; }
.football-widget-team strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .92rem; }
.football-widget-team-away { justify-content: flex-end; }
.football-widget-score-box {
    min-width: 72px;
    text-align: center;
    padding: .45rem .65rem;
    border-radius: 14px;
    background: #0f172a;
    color: #fff;
    font-size: .9rem;
    font-weight: 900;
}
.football-widget-match-footer { color: #64748b; font-size: .8rem; }
.football-home-widget-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0 1rem 1rem;
}
.football-home-widget-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.football-home-widget-chips span,
.football-v35-soft-chip {
    display: inline-flex;
    align-items: center;
    padding: .42rem .7rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-size: .76rem;
    font-weight: 700;
}
.football-v35-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
}
.football-v35-stat-card strong { font-size: 1.55rem; line-height: 1.1; margin: .18rem 0; }
.football-v35-panel { border-radius: 30px; }
.football-v35-score-card { padding: 1.1rem; }
.football-v35-score-body { padding: 1.25rem 0; }
.football-v35-score-number {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.football-v35-team img { width: 38px; height: 38px; }
.football-v35-access-note,
.football-v35-locked-box {
    padding: .85rem 1rem;
    border-radius: 18px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}
.football-v35-access-note.success {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.football-v35-access-note strong,
.football-v35-access-note span,
.football-v35-locked-box strong,
.football-v35-locked-box p { display: block; }
.football-v35-access-note strong,
.football-v35-locked-box strong { color: #0f172a; margin-bottom: .2rem; }
.football-v35-access-note span,
.football-v35-locked-box p { color: #64748b; font-size: .88rem; }
.football-v35-guest-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
}
.football-v35-guest-banner p { color: rgba(255,255,255,.75); }
.football-v35-prediction-card { padding: 1.15rem; }
.football-v35-prediction-match { margin-bottom: 1.2rem; }
.football-v35-prediction-team { display: flex; align-items: center; gap: .55rem; min-width: 0; }
.football-v35-prediction-team img { width: 30px; height: 30px; object-fit: contain; flex: 0 0 auto; }
.football-v35-prediction-team strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-v35-prediction-team-away { justify-content: flex-end; }
.football-v35-prediction-form { grid-template-columns: 78px auto 78px auto; }
@media (max-width: 991.98px) {
    .football-v35-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
    .football-home-widget .football-home-widget-hero,
    .football-home-widget-footer,
    .football-v35-guest-banner { flex-direction: column; align-items: stretch; }
    .football-home-widget-stats,
    .football-v35-stat-grid { grid-template-columns: 1fr; }
    .football-widget-match-body { grid-template-columns: 1fr; }
    .football-widget-team-away,
    .football-v35-prediction-team-away { justify-content: flex-start; }
}

/* ===== V40 - Detalhes da partida e estatísticas do futebol ===== */
.football-clickable-card { color: inherit; display: block; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.football-clickable-card:hover { color: inherit; transform: translateY(-3px); box-shadow: 0 22px 45px rgba(15, 23, 42, .12); border-color: rgba(15, 23, 42, .16); }
.football-match-page { background: #f6f8fb; }
.football-match-hero {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .18);
}
.football-match-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 20%, rgba(34, 197, 94, .35), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(59, 130, 246, .28), transparent 36%),
        linear-gradient(135deg, #0f172a, #111827 55%, #064e3b);
}
.football-match-hero-content { position: relative; z-index: 1; padding: 2rem; }
.football-match-league { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.6rem; color: rgba(255,255,255,.72); }
.football-match-league img { width: 42px; height: 42px; object-fit: contain; background: rgba(255,255,255,.08); border-radius: 14px; padding: .35rem; }
.football-match-league span,
.football-match-league strong { display: block; }
.football-match-league strong { color: #fff; }
.football-match-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 1.3rem; align-items: center; }
.football-match-team { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.football-match-team-away { justify-content: flex-end; text-align: right; }
.football-match-team img { width: 74px; height: 74px; object-fit: contain; background: rgba(255,255,255,.08); border-radius: 24px; padding: .7rem; }
.football-match-team h1 { font-size: clamp(1.25rem, 2.5vw, 2rem); margin: 0; overflow: hidden; text-overflow: ellipsis; }
.football-match-score-center { min-width: 145px; text-align: center; }
.football-match-score-center strong { display: block; font-size: clamp(2.2rem, 5vw, 4.2rem); line-height: 1; font-weight: 900; margin: .75rem 0 .4rem; }
.football-match-score-center small { color: rgba(255,255,255,.68); }
.football-match-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.football-match-meta span { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.86); padding: .55rem .8rem; border-radius: 999px; font-weight: 700; font-size: .86rem; }
.football-match-panel { background: #fff; border: 1px solid rgba(15,23,42,.08); border-radius: 30px; box-shadow: 0 18px 40px rgba(15,23,42,.06); }
.football-match-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; }
.football-match-info-grid div { background: #f8fafc; border: 1px solid rgba(15,23,42,.06); border-radius: 20px; padding: 1rem; }
.football-match-info-grid span { display: block; color: #64748b; font-size: .82rem; margin-bottom: .2rem; }
.football-match-info-grid strong { color: #0f172a; }
.football-match-locked,
.football-match-empty-stats { border-radius: 24px; padding: 1.15rem; background: #f8fafc; border: 1px dashed rgba(15,23,42,.18); }
.football-match-locked { background: #fff7ed; border-color: #fed7aa; }
.football-match-locked.compact { padding: 1rem; }
.football-match-locked strong,
.football-match-empty-stats strong { display: block; color: #0f172a; margin-bottom: .35rem; }
.football-match-locked p,
.football-match-empty-stats p { color: #64748b; margin: 0 0 .9rem; }
.football-stat-table { display: grid; gap: .65rem; }
.football-stat-row { display: grid; grid-template-columns: 90px minmax(0,1fr) 90px; align-items: center; gap: .75rem; padding: .78rem .9rem; border-radius: 18px; background: #f8fafc; border: 1px solid rgba(15,23,42,.06); }
.football-stat-row strong { color: #0f172a; font-size: 1.05rem; text-align: center; }
.football-stat-row span { color: #64748b; text-align: center; font-weight: 800; font-size: .86rem; }
.football-match-bet-panel { position: sticky; top: 1rem; }
.football-match-bet-teams { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .75rem; align-items: end; }
.football-match-bet-teams label { margin: 0; }
.football-match-bet-teams label span { display: block; font-weight: 800; color: #0f172a; font-size: .84rem; min-height: 2.1rem; }
.football-match-bet-teams input { text-align: center; font-size: 1.25rem; font-weight: 900; }
.football-match-bet-teams > strong { padding-bottom: .45rem; color: #64748b; }
.football-match-timeline { display: grid; gap: .75rem; }
.football-match-timeline div { padding: .8rem .9rem; background: #f8fafc; border-radius: 18px; display: flex; justify-content: space-between; gap: 1rem; }
.football-match-timeline span { color: #64748b; }
.football-match-timeline strong { color: #0f172a; text-align: right; }
@media (max-width: 991.98px) {
    .football-match-scoreboard { grid-template-columns: 1fr; text-align: center; }
    .football-match-team,
    .football-match-team-away { justify-content: center; text-align: center; flex-direction: column; }
    .football-match-info-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .football-match-bet-panel { position: static; }
}
@media (max-width: 575.98px) {
    .football-match-hero-content { padding: 1.25rem; }
    .football-match-info-grid { grid-template-columns: 1fr; }
    .football-stat-row { grid-template-columns: 64px minmax(0,1fr) 64px; }
}

/* ===== V41 - Bolão de Estatísticas ===== */
.football-stats-bet-panel {
    position: relative;
    overflow: hidden;
}
.football-stats-bet-panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #0f172a, #16a34a, #f59e0b);
}
.football-stats-bet-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.football-stats-bet-card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .05);
}
.football-stats-bet-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .85rem;
    margin-bottom: 1rem;
}
.football-stats-bet-card-head strong,
.football-stats-bet-card-head small {
    display: block;
}
.football-stats-bet-card-head strong {
    color: #0f172a;
    font-size: .98rem;
}
.football-stats-bet-card-head small {
    color: #64748b;
    margin-top: .2rem;
}
.football-stats-bet-card-head > span {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #ecfdf5;
    color: #166534;
    font-size: .75rem;
    font-weight: 800;
    padding: .4rem .65rem;
}
.football-stats-bet-form .input-group .btn {
    border-radius: 0 14px 14px 0;
}
.football-stats-bet-sent {
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .85rem;
}
.football-stats-bet-sent strong,
.football-stats-bet-sent span {
    display: block;
}
.football-stats-bet-sent strong {
    color: #0f172a;
}
.football-stats-bet-sent span {
    color: #64748b;
    font-size: .88rem;
    margin-top: .2rem;
}
@media (max-width: 991.98px) {
    .football-stats-bet-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== V42 - Notícias por time + Fantasy Game ===== */
.football-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.football-feature-card{display:block;padding:1.2rem;border-radius:24px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 35px rgba(15,23,42,.06);color:#0f172a;transition:.2s ease}.football-feature-card:hover{transform:translateY(-3px);box-shadow:0 22px 45px rgba(15,23,42,.1);color:#0f172a}.football-feature-card span{display:inline-flex;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#16a34a;text-transform:uppercase}.football-feature-card strong{display:block;margin:.35rem 0;font-size:1.05rem}.football-feature-card small{display:block;color:#64748b}.football-feature-card.fantasy{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.football-feature-card.fantasy small{color:rgba(255,255,255,.72)}.football-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.football-news-card{display:block;padding:1rem;border-radius:20px;background:#f8fafc;border:1px solid rgba(15,23,42,.07);color:#0f172a}.football-news-card:hover{background:#fff;box-shadow:0 18px 35px rgba(15,23,42,.08);color:#0f172a}.football-news-card span{display:block;color:#64748b;font-size:.78rem;font-weight:700;margin-bottom:.45rem}.football-news-card strong{display:block;font-size:1rem;line-height:1.35}.football-news-card p{margin:.55rem 0 0;color:#64748b;font-size:.88rem}.fantasy-page{background:#f8fafc}.fantasy-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:2rem;border-radius:32px;background:linear-gradient(135deg,#0f172a,#111827 55%,#166534);color:#fff}.fantasy-hero h1{font-size:clamp(2rem,4vw,3.4rem);font-weight:900;margin:.3rem 0}.fantasy-hero p{max-width:650px;color:rgba(255,255,255,.76);font-size:1.05rem}.fantasy-hero-card{min-width:260px;padding:1.2rem;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}.fantasy-hero-card span,.fantasy-hero-card strong,.fantasy-hero-card small{display:block}.fantasy-hero-card span{color:rgba(255,255,255,.7);font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.fantasy-hero-card strong{font-size:1.25rem;margin:.35rem 0}.fantasy-hero-card small{color:rgba(255,255,255,.7)}.fantasy-lineup-grid,.fantasy-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fantasy-player-card,.fantasy-market-card{padding:1rem;border-radius:20px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 25px rgba(15,23,42,.04)}.fantasy-player-card.is-injured{border-color:#fecaca;background:#fff7f7}.fantasy-player-card span,.fantasy-player-card strong,.fantasy-player-card small,.fantasy-market-card span,.fantasy-market-card strong,.fantasy-market-card small{display:block}.fantasy-player-card span,.fantasy-market-card span{color:#64748b;font-size:.78rem;font-weight:800}.fantasy-player-card strong,.fantasy-market-card strong{font-size:1rem;margin:.2rem 0}.fantasy-player-card small,.fantasy-market-card small{color:#64748b}.fantasy-market-card{display:flex;justify-content:space-between;align-items:center;gap:1rem}.fantasy-sub-box{padding:1rem;border-radius:22px;background:#f8fafc;border:1px dashed rgba(15,23,42,.18)}.fantasy-rules-list{display:grid;gap:.55rem}.fantasy-rules-list span{padding:.65rem .8rem;border-radius:14px;background:#f8fafc;color:#334155;font-weight:700;font-size:.86rem}@media(max-width:991.98px){.football-feature-grid{grid-template-columns:1fr}.fantasy-hero{flex-direction:column;align-items:stretch}.football-news-grid,.fantasy-lineup-grid,.fantasy-market-grid{grid-template-columns:1fr}.fantasy-market-card{align-items:flex-start;flex-direction:column}}


/* ===== V43 - correção do menu principal cortado ===== */
.portal-main-nav-wrap {
    overflow: visible !important;
}
.portal-main-nav-inner {
    gap: .6rem !important;
}
.portal-nav-links-balanced {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: visible !important;
}
.portal-nav-links-balanced .portal-nav-link,
.portal-nav-links-balanced .portal-nav-link-btn {
    padding-left: .72rem !important;
    padding-right: .72rem !important;
    font-size: .91rem;
    letter-spacing: .01em;
}
.portal-nav-links-balanced .portal-nav-link i {
    margin-left: .05rem;
}
.portal-nav-actions {
    margin-left: auto;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .portal-nav-links-balanced .portal-nav-link,
    .portal-nav-links-balanced .portal-nav-link-btn {
        padding-left: .55rem !important;
        padding-right: .55rem !important;
        font-size: .86rem;
    }
    .portal-nav-icon-btn {
        width: 38px !important;
    }
}
@media (min-width: 992px) and (max-width: 1090px) {
    .portal-nav-links-balanced {
        overflow-x: auto !important;
        overflow-y: visible !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .portal-nav-links-balanced::-webkit-scrollbar {
        display: none;
    }
}

/* ===== V44 - Menu profissional com páginas-mãe + espaçamento do conteúdo ===== */
.site-header-classic {
    position: relative;
    z-index: 1040;
    padding-bottom: 1.35rem;
}
.portal-main-nav-wrap {
    position: relative;
    z-index: 1045;
    overflow: visible !important;
}
.portal-main-nav {
    overflow: visible !important;
}
.portal-main-nav-inner {
    min-height: 54px;
}
.portal-nav-links-balanced {
    flex: 0 1 auto;
    overflow: visible !important;
}
.portal-nav-links-balanced .portal-nav-link,
.portal-nav-links-balanced .portal-nav-link-btn {
    height: 54px;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: .94rem;
    letter-spacing: .01em;
}
.portal-main-dropdown .dropdown-menu {
    margin-top: .72rem !important;
    box-shadow: 0 18px 45px rgba(2, 6, 23, .26);
}
.portal-nav-actions {
    min-height: 54px;
    padding-left: .65rem;
    border-left: 1px solid rgba(255,255,255,.08);
}
.portal-search-collapse {
    border-radius: 0 0 18px 18px;
}
.portal-offcanvas-section > span {
    display: block;
    padding: .55rem .2rem .35rem;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #64748b;
}
.portal-menu-canvas .offcanvas-body {
    background: #fff;
}
.portal-offcanvas-links .list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 14px;
    border-bottom: 0 !important;
    padding: .82rem .9rem !important;
    margin-bottom: .25rem;
    background: #f8fafc;
}
.portal-offcanvas-links .list-group-item:hover,
.portal-offcanvas-links .list-group-item:focus {
    background: #eaf1f8;
    color: #0f172a;
}
.site-header-classic + main,
.site-header-classic + .container,
.site-header-classic + .football-page,
.site-header-classic + .fantasy-page,
.site-header-classic + .classic-hero-grid-section {
    margin-top: 1rem;
}
@media (min-width: 992px) {
    .portal-main-nav-wrap {
        margin-bottom: 0;
    }
    .portal-nav-links-balanced {
        gap: .05rem !important;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .portal-nav-links-balanced .portal-nav-link,
    .portal-nav-links-balanced .portal-nav-link-btn {
        padding-left: .72rem !important;
        padding-right: .72rem !important;
        font-size: .88rem;
    }
}
@media (max-width: 991.98px) {
    .site-header-classic {
        padding-bottom: .9rem;
    }
    .classic-masthead {
        grid-template-columns: 1fr;
        gap: .85rem;
        min-height: auto;
        padding: .9rem 0;
    }
    .classic-brand {
        justify-content: center;
    }
    .classic-brand-logo {
        width: min(var(--site-logo-header-width), 220px) !important;
        height: 74px !important;
    }
    .classic-header-ad {
        display: none;
    }
    .portal-main-nav-wrap {
        border-radius: 16px;
        margin: 0 .35rem;
        box-shadow: 0 14px 35px rgba(15, 23, 42, .16);
    }
    .portal-main-nav-inner {
        min-height: 54px;
        padding: 0 .7rem !important;
    }
    .portal-nav-actions {
        min-height: 54px;
        border-left: 0;
        padding-left: 0;
    }
}
@media (max-width: 575.98px) {
    .classic-top-strip .container {
        justify-content: center !important;
        text-align: center;
    }
    .classic-top-links {
        justify-content: center;
        gap: .8rem !important;
        font-size: .82rem;
    }
    .classic-top-actions {
        width: 100%;
        justify-content: center;
        font-size: .82rem;
    }
    .classic-brand-logo {
        width: 190px !important;
        height: 66px !important;
    }
    .portal-main-nav-wrap {
        margin-left: .15rem;
        margin-right: .15rem;
    }
    .site-header-classic + main,
    .site-header-classic + .container,
    .site-header-classic + .football-page,
    .site-header-classic + .fantasy-page,
    .site-header-classic + .classic-hero-grid-section {
        margin-top: .75rem;
    }
}


/* ===== V45 - Correção final de espaçamento, categoria e menu responsivo ===== */
.site-header-v45 {
    z-index: 1060;
}
.portal-main-nav-wrap-v45 {
    z-index: 1070;
}
.portal-main-nav-wrap-v45 .dropdown-menu {
    z-index: 1080;
    min-width: 240px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: .65rem;
}
.portal-main-nav-wrap-v45 .dropdown-item {
    border-radius: 12px;
    padding: .68rem .8rem;
    font-weight: 700;
}
.portal-main-nav-wrap-v45 .dropdown-item.active,
.portal-main-nav-wrap-v45 .dropdown-item:active {
    background: rgba(255,255,255,.14);
}
.portal-nav-left {
    min-width: 0;
}
.portal-nav-links-balanced .portal-nav-link.active,
.portal-nav-links-balanced .portal-nav-link-btn.active {
    background: rgba(255,255,255,.08);
    color: #fff;
}
.site-header-classic ~ main,
.site-header-classic ~ .page-main,
.site-header-classic ~ .container.page-main {
    margin-top: clamp(1.25rem, 2vw, 2rem);
}
.category-page-v23 {
    padding-top: clamp(2.25rem, 3vw, 3.5rem) !important;
}
.category-page-v23 .container > .banner-slot:first-child,
.category-page-v23 .container > .ad-slot:first-child {
    margin-bottom: 1.25rem !important;
}
.category-hero-card {
    padding: clamp(1.6rem, 3vw, 2.4rem) !important;
    overflow: visible !important;
}
.category-hero-card .eyebrow,
.category-hero-card .section-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 1.1rem;
    line-height: 1;
    margin-top: 0 !important;
    margin-bottom: .75rem !important;
    color: #e11d48;
    letter-spacing: .14em;
    font-weight: 900;
}
.category-hero-card h1 {
    line-height: 1.05;
}
.category-note-card {
    border-radius: 24px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.08);
    padding: clamp(1.2rem, 2vw, 1.6rem);
}
.legal-page-v45,
.contact-page-v45 {
    background: #f8fafc;
}
.legal-hero-v45,
.contact-hero-v45 {
    padding: clamp(1.7rem, 3vw, 2.7rem);
    border-radius: 30px;
    background: linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    border: 1px solid rgba(15,23,42,.06);
    box-shadow: 0 18px 45px rgba(15,23,42,.06);
}
.legal-content-v45 h2,
.contact-content-v45 h2 {
    margin-top: 1.7rem;
    margin-bottom: .7rem;
    font-size: 1.18rem;
    font-weight: 900;
}
.legal-content-v45 p,
.legal-content-v45 li,
.contact-content-v45 p,
.contact-content-v45 li {
    color: #475569;
    line-height: 1.75;
}
.legal-content-v45 ul,
.contact-content-v45 ul {
    padding-left: 1.2rem;
}
.legal-aside-v45,
.contact-aside-v45 {
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 16px 35px rgba(15,23,42,.05);
    padding: 1.25rem;
}
@media (max-width: 991.98px) {
    .classic-top-strip .container {
        justify-content: center !important;
        text-align: center;
    }
    .site-header-classic ~ main,
    .site-header-classic ~ .page-main,
    .site-header-classic ~ .container.page-main {
        margin-top: 1rem;
    }
    .category-page-v23 {
        padding-top: 1.35rem !important;
    }
    .category-hero-card {
        padding: 1.25rem !important;
        border-radius: 24px;
    }
    .category-note-card {
        padding: 1rem;
    }
    .portal-menu-canvas-v45 {
        width: min(92vw, 390px) !important;
    }
}
@media (max-width: 575.98px) {
    .classic-top-links a:nth-child(n+3) {
        display: none;
    }
    .category-page-v23 .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .category-hero-card h1 {
        font-size: 2rem;
    }
    .category-hero-card .lead {
        font-size: 1rem;
    }
}


/* V47 - Tráfego pago interno */
.internal-ad-placeholder,
.internal-ad-card {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fafc, #eef6ff);
    padding: 1rem;
    box-shadow: 0 18px 45px rgba(15,23,42,.06);
}
.internal-ad-placeholder span,
.internal-ad-label {
    display: block;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    margin-bottom: .35rem;
}
.internal-ad-placeholder strong { display:block; font-size: 1rem; color:#0f172a; }
.internal-ad-placeholder small { display:block; color:#64748b; margin-top:.2rem; }
.internal-ad-card { position: relative; overflow: hidden; background:#fff; }
.internal-ad-link { display:flex; align-items:center; gap:1rem; color:#0f172a; text-decoration:none; }
.internal-ad-link:hover { color:#0f172a; }
.internal-ad-link img { width: 132px; height: 92px; object-fit: cover; border-radius: 18px; flex:0 0 auto; }
.internal-ad-copy span { display:block; color:#64748b; font-size:.78rem; font-weight:700; margin-bottom:.2rem; }
.internal-ad-copy strong { display:block; font-size:1.05rem; line-height:1.2; }
.internal-ad-copy p { color:#64748b; margin:.35rem 0; font-size:.9rem; }
.internal-ad-copy em { display:inline-flex; align-items:center; padding:.38rem .75rem; border-radius:999px; background:#0f172a; color:#fff; font-style:normal; font-size:.78rem; font-weight:800; }
.internal-ad-leaderboard .internal-ad-link { min-height: 90px; }
.internal-ad-quadrado .internal-ad-link { flex-direction:column; align-items:flex-start; }
.internal-ad-quadrado img { width:100%; height:180px; }
@media (max-width: 767.98px) {
    .internal-ad-link { flex-direction: column; align-items: flex-start; }
    .internal-ad-link img { width:100%; height:160px; }
}


/* ===== V48 - Atualização dos placares via pop-up, sem abrir cron em nova aba ===== */
.football-refresh-btn[disabled] {
    cursor: wait;
    opacity: .72;
}
.football-refresh-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 2147483000;
    max-width: min(420px, calc(100vw - 32px));
}
.football-refresh-toast-card {
    position: relative;
    padding: 1rem 3rem 1rem 1rem;
    border-radius: 22px;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .25);
    border: 1px solid rgba(255,255,255,.14);
}
.football-refresh-toast.is-error .football-refresh-toast-card {
    background: #7f1d1d;
}
.football-refresh-toast-card strong {
    display: block;
    font-size: 1rem;
    margin-bottom: .35rem;
}
.football-refresh-toast-card p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: .92rem;
    line-height: 1.45;
}
.football-refresh-toast-meta {
    margin-top: .65rem;
    color: rgba(255,255,255,.68);
    font-size: .78rem;
}
.football-refresh-toast-close {
    position: absolute;
    top: .72rem;
    right: .85rem;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
}
@media (max-width: 575.98px) {
    .football-refresh-toast {
        right: 12px;
        bottom: 12px;
        left: 12px;
        max-width: none;
    }
}


/* ===== V49 - Engajamento, missões, ranking e notificações ===== */
.engagement-page { background: #f4f7fb; }
.engagement-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) 260px;
    gap: 1.25rem;
    align-items: stretch;
    padding: 2rem;
    border-radius: 32px;
    background: linear-gradient(135deg, #0f172a, #0b3b2e 62%, #15803d);
    color: #fff;
    box-shadow: 0 24px 70px rgba(15,23,42,.18);
}
.engagement-hero h1 { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 900; line-height: .98; margin: .25rem 0 .75rem; }
.engagement-hero p { color: rgba(255,255,255,.78); max-width: 720px; font-size: 1.05rem; margin: 0; }
.engagement-hero-card {
    border-radius: 26px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.engagement-hero-card span, .engagement-hero-card small { color: rgba(255,255,255,.75); }
.engagement-hero-card strong { font-size: 2.4rem; line-height: 1; }
.engagement-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.engagement-stat-grid > div {
    background: #fff;
    border: 1px solid rgba(15,23,42,.06);
    border-radius: 24px;
    padding: 1.1rem 1.25rem;
    box-shadow: 0 16px 40px rgba(15,23,42,.05);
}
.engagement-stat-grid span { display:block; color:#64748b; font-size:.85rem; }
.engagement-stat-grid strong { display:block; color:#0f172a; font-size:1.65rem; }
.engagement-mission-card {
    background: #fff;
    border-radius: 28px;
    border: 1px solid rgba(15,23,42,.07);
    box-shadow: 0 16px 42px rgba(15,23,42,.06);
    padding: 1.35rem;
}
.engagement-mission-card h2 { font-size: 1.2rem; margin: .35rem 0 .45rem; }
.engagement-mission-card p { color:#64748b; margin:0; }
.mission-type { display:inline-flex; padding:.35rem .7rem; border-radius:999px; background:#ecfdf5; color:#15803d; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.mission-reward { min-width:64px; height:64px; border-radius:22px; background:#0f172a; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; }
.engagement-progress { height: 10px; border-radius: 999px; background:#e2e8f0; }
.engagement-progress .progress-bar { background: linear-gradient(90deg, #16a34a, #22c55e); }
.mission-footer { display:flex; justify-content:space-between; gap:1rem; margin-top:.8rem; color:#64748b; font-size:.88rem; }
.rank-pill { display:inline-flex; min-width:46px; justify-content:center; padding:.35rem .65rem; border-radius:999px; background:#0f172a; color:#fff; font-weight:900; }
.engagement-ranking-table tbody tr:nth-child(1) .rank-pill { background:#ca8a04; }
.engagement-ranking-table tbody tr:nth-child(2) .rank-pill { background:#64748b; }
.engagement-ranking-table tbody tr:nth-child(3) .rank-pill { background:#b45309; }
.notification-card {
    display:flex;
    gap:1rem;
    background:#fff;
    border:1px solid rgba(15,23,42,.07);
    border-radius:24px;
    padding:1.1rem;
    box-shadow:0 14px 32px rgba(15,23,42,.05);
}
.notification-card.is-unread { border-color: rgba(34,197,94,.35); background: linear-gradient(135deg,#fff,#f0fdf4); }
.notification-icon { width:46px; height:46px; border-radius:16px; background:#0f172a; color:#fff; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.notification-card h2 { font-size:1rem; margin:0 0 .35rem; }
.notification-card p { margin:0 0 .75rem; color:#64748b; }
@media (max-width: 991.98px) {
    .engagement-hero { grid-template-columns: 1fr; }
    .engagement-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .engagement-hero { padding:1.25rem; border-radius:24px; }
    .engagement-stat-grid { grid-template-columns: 1fr; }
    .notification-card { flex-direction:column; }
}


/* ===== V50 - Correção de alinhamento do menu principal ===== */
.portal-main-nav-wrap-v45,
.portal-main-nav-wrap {
    overflow: visible !important;
}
.portal-main-nav-inner {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
}
.portal-nav-left {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}
.portal-nav-links-balanced {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: .08rem !important;
    height: 54px !important;
    overflow: visible !important;
}
.portal-nav-links-balanced .portal-main-dropdown {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 54px !important;
    flex: 0 0 auto !important;
}
.portal-nav-links-balanced .portal-nav-link,
.portal-nav-links-balanced .portal-nav-link-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 54px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    border: 0 !important;
}
.portal-nav-links-balanced .portal-nav-link-btn.dropdown-toggle::after {
    margin-left: .42rem;
    align-self: center;
}
.portal-nav-actions {
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
}
.portal-main-dropdown .dropdown-menu {
    top: 100% !important;
    left: 0 !important;
}
@media (min-width: 992px) {
    .portal-nav-links-balanced.d-lg-flex {
        display: flex !important;
    }
}
@media (min-width: 992px) and (max-width: 1240px) {
    .portal-nav-links-balanced .portal-nav-link,
    .portal-nav-links-balanced .portal-nav-link-btn {
        padding-left: .68rem !important;
        padding-right: .68rem !important;
        font-size: .88rem !important;
    }
}
@media (max-width: 991.98px) {
    .portal-nav-links-balanced.d-lg-flex {
        display: none !important;
    }
}

/* V51 - Fantasy Game profissional */
.fantasy-round-game{
    display:block;
    padding:.85rem 1rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.fantasy-round-game:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,23,42,.08);color:#0f172a;}
.fantasy-round-game strong,.fantasy-round-game small{display:block;}
.fantasy-round-game small{color:#64748b;margin-top:.2rem;}
.fantasy-rules-list{display:grid;gap:.55rem;}
.fantasy-rules-list span{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:999px;padding:.55rem .8rem;font-weight:700;color:#334155;}
.dashboard-table .btn{white-space:nowrap;}
@media(max-width:991.98px){
    .fantasy-page .fantasy-hero{display:block;}
    .fantasy-page .fantasy-hero-card{margin-top:1rem;}
}


/* V53 - Campo de senha com botão mostrar/ocultar */
.password-field {
    position: relative;
}
.password-field .form-control {
    padding-right: 3.25rem;
}
.password-toggle {
    position: absolute;
    top: 50%;
    right: .7rem;
    transform: translateY(-50%);
    width: 2.35rem;
    height: 2.35rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.password-toggle:hover,
.password-toggle:focus {
    background: rgba(15, 23, 42, .08);
    color: #0f172a;
    outline: none;
}
.password-toggle:active {
    transform: translateY(-50%) scale(.96);
}
.password-field-sm .password-toggle {
    width: 2rem;
    height: 2rem;
    right: .45rem;
}
.password-field-sm .form-control {
    padding-right: 2.8rem;
}
@media (max-width: 575.98px) {
    .password-toggle {
        right: .55rem;
    }
}
