:root{
    --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

    /* Cores: assets/css/theme.css (claro padrão + data-theme="dark") */

    /* Escala tipográfica — compacta */
    --text-2xs:0.625rem;
    --text-xs:0.6875rem;
    --text-sm:0.75rem;
    --text-base:0.8125rem;
    --text-md:0.875rem;
    --text-lg:1rem;
    --text-xl:1.125rem;
    --text-2xl:1.25rem;

    --leading-tight:1.2;
    --leading-snug:1.3;
    --leading-normal:1.45;
    --leading-relaxed:1.5;

    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:14px;
    --space-5:16px;

    --font-normal:400;
    --font-medium:500;
    --font-semibold:600;
    --font-bold:700;

    --radius-card:16px;
    --radius-small:10px;
    --dash-radius-xl:18px;
    --dash-radius-lg:14px;
    --dash-radius-md:12px;
    --dash-radius-sm:10px;
    --radius:var(--radius-card);
}

*,*::before,*::after{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

html{
    font-family:var(--font-sans);
    font-size:100%;
    text-size-adjust:100%;
}

body{
    font-family:var(--font-sans);
    font-size:var(--text-sm);
    font-weight:var(--font-normal);
    line-height:var(--leading-normal);
    color:var(--text-main);
    background:var(--bg-page);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

button,
input,
select,
textarea{
    font-family:inherit;
    font-size:var(--text-sm);
    line-height:var(--leading-snug);
}

label,
small{
    font-size:var(--text-sm);
    line-height:var(--leading-snug);
}

p{
    margin:0 0 .75em;
    line-height:var(--leading-relaxed);
}

p:last-child{
    margin-bottom:0;
}

h1,h2,h3,h4,h5,h6{
    margin:0 0 .35em;
    color:var(--text-main);
    font-weight:var(--font-semibold);
    line-height:var(--leading-tight);
    letter-spacing:0;
}

h1{font-size:var(--text-2xl);}
h2{font-size:var(--text-lg);}
h3{font-size:var(--text-md);}
h4{font-size:var(--text-base);}
h5,h6{font-size:var(--text-sm);}

strong,b{
    font-weight:var(--font-semibold);
}

a{
    text-decoration:none;
    color:inherit;
}

.app-shell{
    display:flex;
    min-height:100vh;
}

.app-main{
    flex:1;
    min-width:0;
    padding:0 18px 20px;
}

.success{
    color:var(--success);
}

.app-footer{
    padding:14px 4px 0;
    color:var(--text-muted);
    font-size:var(--text-sm);
    line-height:var(--leading-normal);
}

/* Superfície padrão */
.card-surface,
.page-head,
.select-clean,
.user-mini-card{
    background:var(--gradient-card);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-card);
    box-shadow:var(--shadow-card);
}

/* Tabelas compartilhadas */
:is(.dashboard-table-wrap, .contas-table-wrap, .suporte-table-wrap, .venda-table-wrap, .metas-table-wrap, .ponto-table-wrap){
    overflow:auto;
    border:1px solid var(--border-soft);
    border-radius:var(--radius-card);
    background:var(--bg-card-dark);
    box-shadow:var(--shadow-card);
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table){
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table) thead th{
    background:var(--bg-secondary);
    color:var(--text-muted);
    font-size:var(--text-xs);
    font-weight:var(--font-semibold);
    letter-spacing:.05em;
    line-height:var(--leading-snug);
    text-transform:uppercase;
    padding:11px 14px;
    border-bottom:1px solid var(--border-soft);
    text-align:left;
    vertical-align:middle;
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table) thead th small{
    display:block;
    margin-top:2px;
    font-size:var(--text-2xs);
    font-weight:var(--font-medium);
    letter-spacing:0;
    text-transform:none;
    color:var(--text-faint);
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table) tbody td{
    padding:11px 14px;
    border-bottom:1px solid var(--border-soft);
    color:var(--text-secondary);
    font-size:var(--text-sm);
    line-height:var(--leading-snug);
    background:var(--bg-card-dark);
    vertical-align:middle;
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table) tbody tr:hover td{
    background:var(--bg-hover);
}

:is(.dashboard-table, .contas-table, .suporte-table, .venda-table, .metas-table, .ponto-table) :is(.is-num, [class*="money"], [class*="valor"], td.num){
    text-align:right;
    font-variant-numeric:tabular-nums;
}

/* ——— Harmonização global de tipografia ——— */

/* Rótulos / eyebrow / caps — 10–11px */
.app-main :is(
    .page-eyebrow,
    .card-label,
    .kpi-card-title,
    .kpi-card-eyebrow,
    .meta-dia-v3-label,
    .sales-mini-title,
    .sales-mini-label,
    .commission-box-category,
    .commission-box-amount-label,
    .commission-bonus-card-label,
    .dashboard-hero-eyebrow,
    .dashboard-kpi-label,
    .category-box-item small,
    .meta-dia-v3-item small,
    .team-day-metric small,
    .kpi-card-foot span,
    .contas-field label,
    .rx-label,
    .rx-ring__label,
    .campaign-command-kicker span,
    .campaign-signal-label,
    .campaign-mini-trend-head span,
    .ranking-podium-copy span,
    .ranking-chaser-card .ranking-row-points span
){
    font-size:var(--text-2xs);
    font-weight:var(--font-semibold);
    line-height:var(--leading-snug);
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--text-secondary);
}

/* Valores principais — compactos (≈17–19px) */
.app-main :is(
    .value-md,
    .sales-mini-value,
    .meta-dia-v3-title,
    .dashboard-kpi-value,
    .meta-dia-v3-item strong,
    .team-day-metric strong,
    .commission-box-value-row strong,
    .category-box-item strong,
    .campaign-progress-copy > strong,
    .campaign-signal-value,
    .ranking-podium-score strong,
    .ranking-chaser-card .ranking-row-points strong
){
    font-weight:var(--font-bold);
    line-height:var(--leading-tight);
    letter-spacing:0;
    font-variant-numeric:tabular-nums;
}

.app-main .value-md,
.app-main .kpi-card-value,
.app-main .sales-mini-value{
    font-size:var(--text-lg);
}

.app-main .meta-dia-v3-title{
    font-size:var(--text-xl);
}

.app-main .dashboard-kpi-value,
.app-main .campaign-signal-value{
    font-size:var(--text-lg);
}

.app-main .ranking-podium-score strong,
.app-main .ranking-chaser-card .ranking-row-points strong{
    font-size:var(--text-md);
}

.app-main .campaign-progress-copy > strong{
    font-size:var(--text-xl);
}

/* Texto secundário / descrições */
.app-main :is(
    .muted-line,
    .page-head-subtitle,
    .dashboard-hero-text,
    .kpi-card > .muted-line,
    .sales-mini-sub,
    .dashboard-kpi-note,
    .meta-dia-v3-sub,
    .team-day-head-copy,
    .rx-copy,
    .comprador-factor-card p,
    .comprador-summary-card p,
    .campaign-progress-status,
    .campaign-signal p,
    .campaign-mini-trend-head strong,
    .ranking-podium-copy small,
    .ranking-chaser-card .product-row-copy span,
    .ranking-mini-copy span
){
    font-size:var(--text-sm);
    line-height:var(--leading-relaxed);
    color:var(--text-secondary);
}

/* Títulos de seção em cards */
.app-main :is(
    .section-head h3,
    .summary-card-clean h3,
    .sales-panel-head h3,
    .rx-title,
    .category-box-head h4,
    .campaign-progress-title,
    .ranking-chaser-card .product-row-copy strong
){
    font-size:var(--text-md);
    font-weight:var(--font-semibold);
    line-height:1.2;
    letter-spacing:0;
    color:var(--text-main);
}

/* Badges e pills — legíveis e sem quebrar */
.app-main :is(
    .sales-mini-delta,
    .category-box-badge,
    .commission-box-status,
    .commission-box-caption-pill,
    .meta-dia-v3-status,
    .sales-panel-badge,
    .rx-pill,
    .dashboard-chip,
    .representantes-pill,
    .campaign-signal-value-row .commission-box-caption-pill,
    .ranking-podium-score span
){
    font-size:var(--text-xs);
    font-weight:var(--font-semibold);
    line-height:1.2;
}

/* Rodapés de KPI / metadados */
.app-main :is(.kpi-card-foot strong, .kpi-card-foot span:last-child){
    font-size:var(--text-xs);
    font-weight:var(--font-semibold);
}

/* Nomes em tabelas e listas — permitir quebra */
.app-main :is(
    .team-day-row-head strong,
    .rx-seller strong,
    .rx-top-seller strong,
    .comprador-lab-title-row strong,
    .user-mini-card strong,
    .ranking-mini-copy strong
){
    font-size:var(--text-sm);
    font-weight:var(--font-semibold);
    line-height:var(--leading-snug);
    overflow-wrap:anywhere;
    word-break:break-word;
}

.app-main :is(
    .team-day-row-head strong,
    .rx-seller strong
){
    white-space:normal;
}

/* Sidebar — leitura confortável */
.minia-sidebar__label{
    font-size:var(--text-sm);
    font-weight:var(--font-medium);
    line-height:var(--leading-snug);
}

.minia-sidebar__section-title{
    font-size:var(--text-xs);
    font-weight:var(--font-semibold);
}

.minia-sidebar__sublink{
    font-size:var(--text-xs);
    line-height:var(--leading-snug);
}

/* Inputs e selects do topo */
.select-clean,
.dashboard-input,
.dashboard-select{
    font-size:var(--text-sm);
    font-weight:var(--font-medium);
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea){
    background:var(--bg-card-dark);
    color:var(--text-main);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-small);
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea)::placeholder{
    color:var(--text-muted);
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):focus{
    outline:none;
    border-color:var(--accent-cyan);
    box-shadow:var(--shadow-cyan);
}

html[data-theme="dark"] :is(.select-clean, select){
    color-scheme:dark;
    accent-color:var(--accent-cyan, #17C3FF);
}

html[data-theme="dark"] :is(.select-clean, select) option{
    background:var(--bg-card-dark);
    color:var(--text-main);
}

.scroll-surface{
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--text-muted) 55%,transparent) color-mix(in srgb,var(--bg-secondary) 55%,transparent);
}

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

.scroll-surface::-webkit-scrollbar-track{
    background:color-mix(in srgb,var(--bg-secondary) 45%,transparent);
    border-radius:999px;
    margin:4px 0;
}

.scroll-surface::-webkit-scrollbar-thumb{
    background:color-mix(in srgb,var(--text-muted) 70%,var(--bg-secondary));
    border-radius:999px;
    border:2px solid transparent;
    background-clip:padding-box;
}

.scroll-surface::-webkit-scrollbar-thumb:hover{
    background:color-mix(in srgb,var(--accent-cyan, #17C3FF) 35%,var(--text-muted));
}

html[data-theme="dark"] .scroll-surface{
    scrollbar-color:color-mix(in srgb,var(--accent-cyan, #17C3FF) 42%,var(--text-muted)) color-mix(in srgb,var(--bg-secondary) 72%,transparent);
}

html[data-theme="dark"] .scroll-surface::-webkit-scrollbar-track{
    background:color-mix(in srgb,var(--bg-secondary) 68%,transparent);
}

html[data-theme="dark"] .scroll-surface::-webkit-scrollbar-thumb{
    background:color-mix(in srgb,var(--accent-cyan, #17C3FF) 34%,var(--text-muted));
}

html[data-theme="dark"] .scroll-surface::-webkit-scrollbar-thumb:hover{
    background:color-mix(in srgb,var(--accent-cyan, #17C3FF) 58%,var(--text-muted));
}

html.global-lgpd-lock,
body.global-lgpd-lock{
    overflow:hidden;
}

.global-lgpd-modal{
    position:fixed;
    inset:0;
    z-index:9800;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(3,12,32,.72);
    backdrop-filter:blur(10px);
}

.global-lgpd-dialog{
    position:relative;
    z-index:1;
    width:min(100%, 620px);
    display:grid;
    gap:16px;
    padding:22px;
    border:1px solid var(--border-soft,#D8E6F3);
    border-radius:var(--dash-radius-xl,18px);
    background:var(--gradient-card,#fff);
    color:var(--text-main,#1B2340);
    box-shadow:0 28px 80px rgba(0,22,68,.28);
    pointer-events:auto;
}

.global-lgpd-icon{
    width:48px;
    height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid color-mix(in srgb,var(--accent-cyan,#17C3FF) 28%,transparent);
    border-radius:14px;
    background:color-mix(in srgb,var(--accent-cyan,#17C3FF) 12%,transparent);
    color:var(--accent-cyan,#0EA5E9);
}

.global-lgpd-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.global-lgpd-copy{
    display:grid;
    gap:8px;
}

.global-lgpd-copy span{
    width:max-content;
    padding:5px 10px;
    border-radius:999px;
    background:var(--bg-soft,#F3F5FA);
    color:var(--primary-dark,#3B6CF9);
    font-size:var(--text-xs);
    font-weight:var(--font-bold);
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.global-lgpd-copy h2{
    margin:0;
    font-size:var(--text-xl);
    font-weight:var(--font-bold);
    line-height:var(--leading-tight);
    color:var(--text-main,#1B2340);
}

.global-lgpd-copy p{
    margin:0;
    color:var(--text-secondary,#6F7A94);
    font-size:var(--text-sm);
    line-height:var(--leading-relaxed);
}

.global-lgpd-feedback{
    margin:0;
    padding:10px 12px;
    border-radius:12px;
    font-size:var(--text-sm);
    line-height:var(--leading-relaxed);
}

.global-lgpd-feedback--error{
    border:1px solid color-mix(in srgb,var(--danger,#FF4D4F) 28%,transparent);
    background:color-mix(in srgb,var(--danger,#FF4D4F) 10%,transparent);
    color:var(--danger,#FF4D4F);
}

.global-lgpd-feedback--success{
    border:1px solid color-mix(in srgb,var(--success,#16A34A) 28%,transparent);
    background:color-mix(in srgb,var(--success,#16A34A) 10%,transparent);
    color:var(--success,#16A34A);
}

.global-lgpd-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.global-lgpd-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border:1px solid transparent;
    border-radius:12px;
    font-size:var(--text-sm);
    font-weight:var(--font-bold);
    line-height:1;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.global-lgpd-button:hover{
    transform:translateY(-1px);
}

.global-lgpd-button:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px rgba(23,195,255,.18);
}

.global-lgpd-button--primary{
    background:var(--gradient-main,linear-gradient(135deg,#17C3FF 0%,#0061FF 55%,#0047C2 100%));
    color:#fff;
    box-shadow:var(--shadow-cyan,0 12px 26px rgba(0,97,255,.18));
}

.global-lgpd-button--secondary{
    border-color:var(--border-soft,#D8E6F3);
    background:var(--bg-card-dark,#fff);
    color:var(--text-main,#1B2340);
}

.global-lgpd-button--danger{
    border-color:color-mix(in srgb,var(--danger,#FF4D4F) 28%,transparent);
    background:color-mix(in srgb,var(--danger,#FF4D4F) 10%,transparent);
    color:var(--danger,#FF4D4F);
}

@media (max-width:1100px){
    .app-main{
        padding:0 16px 20px;
    }
}

@media (max-width:760px){
    html{
        font-size:100%;
    }

    .global-lgpd-modal{
        align-items:end;
        padding:14px;
    }

    .global-lgpd-dialog{
        padding:18px;
        border-radius:16px;
    }

    .global-lgpd-actions{
        align-items:stretch;
        justify-content:stretch;
    }

    .global-lgpd-button{
        width:100%;
    }
}
