/* JN ERP — Visual Final 2026
   Camada visual fiel às telas aprovadas.
   Não altera regras, rotas, permissões, validações, cálculos ou integrações. */

:root{
    --jn-primary:var(--brand-primary,#1267e8);
    --jn-primary-strong:color-mix(in srgb,var(--jn-primary) 82%,#063b86);
    --jn-primary-soft:color-mix(in srgb,var(--jn-primary) 9%,#fff);
    --jn-sidebar:#0b1d35;
    --jn-sidebar-soft:#102846;
    --jn-bg:#f3f6fb;
    --jn-surface:#ffffff;
    --jn-surface-soft:#f8fafc;
    --jn-border:#dfe7f1;
    --jn-border-soft:#edf2f7;
    --jn-text:#15263e;
    --jn-text-2:#34465f;
    --jn-muted:#75859a;
    --jn-muted-2:#95a1b0;
    --jn-success:#149968;
    --jn-success-soft:#eaf8f2;
    --jn-danger:#d43d4d;
    --jn-danger-soft:#fff0f2;
    --jn-warning:#c98208;
    --jn-warning-soft:#fff7e4;
    --jn-cyan:#0b9fb1;
    --jn-violet:#6a61d7;
    --jn-radius:14px;
    --jn-radius-sm:10px;
    --jn-shadow:0 7px 24px rgba(18,43,76,.06);
    --jn-shadow-hover:0 12px 32px rgba(18,43,76,.10);
    --segment-accent:var(--jn-primary);
}

body[data-business-profile="mercado"]{--segment-accent:#15946f}
body[data-business-profile="padaria"]{--segment-accent:#d88a06}
body[data-business-profile="posto_combustiveis"]{--segment-accent:#0797a8}
body[data-business-profile="oficina_mecanica"]{--segment-accent:#5d69d7}
body[data-business-profile="prestador_servicos"]{--segment-accent:#66788e}
body[data-business-profile="ti_assistencia"]{--segment-accent:var(--jn-primary)}
body[data-business-profile="loja_comercial"]{--segment-accent:#216fd6}

html,body{background:var(--jn-bg)!important;color:var(--jn-text)}
body.client-body,body.jn-admin-body{
    font-size:14px;
    letter-spacing:-.004em;
    background:var(--jn-bg)!important;
}
body.client-body .app-shell,body.jn-admin-body .app-shell{background:var(--jn-bg)}
body.client-body .main-area,body.jn-admin-body .main-area{min-width:0;background:var(--jn-bg)}
body.client-body .content,body.jn-admin-body .content{
    width:100%!important;
    max-width:none!important;
    min-width:0;
    padding:22px 26px 34px!important;
}

/* Navegação principal: apenas aparência. A largura/expansão permanece sob controle do menu-flyout.css. */
body.client-body .sidebar,body.jn-admin-body .sidebar{
    background:linear-gradient(180deg,var(--sidebar-bg,var(--jn-sidebar)) 0%,#0d223e 100%)!important;
    border-right:1px solid rgba(255,255,255,.045)!important;
    box-shadow:10px 0 26px rgba(8,24,47,.07);
}
body.client-body .sidebar-header,body.jn-admin-body .sidebar-header{
    min-height:72px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
}
body.client-body .sidebar-brand,body.jn-admin-body .sidebar-brand{
    gap:10px;
    min-height:48px;
    border-radius:12px;
}
body.client-body .sidebar-brand img,body.jn-admin-body .sidebar-brand img{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:10px!important;
    padding:3px;
    object-fit:contain;
    background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.16);
}
body.client-body .brand-mark-small,body.jn-admin-body .brand-mark-small{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:linear-gradient(145deg,color-mix(in srgb,var(--jn-primary) 86%,#fff),var(--jn-primary-strong));
    color:#fff;
    font-size:12px;
    font-weight:900;
}
body.client-body .brand-copy strong,body.jn-admin-body .brand-copy strong{
    font-size:12.5px!important;
    color:#fff!important;
}
body.client-body .brand-copy small,body.jn-admin-body .brand-copy small{
    font-size:9px!important;
    color:#8ea4bd!important;
}
body.client-body .nav-section-label,body.jn-admin-body .nav-section-label{
    margin-top:13px!important;
    color:#6f86a0!important;
    font-size:8.5px!important;
    letter-spacing:.13em!important;
}
body.client-body .sidebar nav,body.jn-admin-body .sidebar nav{
    gap:2px!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.14) transparent;
}
body.client-body .sidebar nav>a,body.jn-admin-body .sidebar nav>a{
    min-height:40px!important;
    border-radius:9px!important;
    color:#b6c5d7!important;
    font-size:11.5px!important;
    font-weight:650!important;
    opacity:.8!important;
    transition:background .15s ease,color .15s ease,opacity .15s ease!important;
}
body.client-body .sidebar nav>a:hover,body.jn-admin-body .sidebar nav>a:hover{
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
    opacity:1!important;
}
body.client-body .sidebar nav>a.active,body.jn-admin-body .sidebar nav>a.active{
    background:linear-gradient(90deg,color-mix(in srgb,var(--jn-primary) 33%,transparent),color-mix(in srgb,var(--jn-primary) 12%,transparent))!important;
    color:#fff!important;
    opacity:1!important;
    box-shadow:inset 3px 0 0 var(--jn-primary)!important;
}
body.client-body .sidebar nav>a b,body.jn-admin-body .sidebar nav>a b{
    color:#91a6bf!important;
    border-radius:7px!important;
}
body.client-body .sidebar nav>a.active b,body.jn-admin-body .sidebar nav>a.active b{color:#fff!important}
body.client-body .sidebar-footer,body.jn-admin-body .sidebar-footer{
    color:#8296ae!important;
    border-top-color:rgba(255,255,255,.06)!important;
    font-size:9px!important;
}

/* Flyout do módulo: aparência alinhada às telas aprovadas, sem alterar sua arquitetura. */
body.client-body .module-flyout{
    border-color:#dfe7f1!important;
    background:#fff!important;
    border-radius:14px!important;
    box-shadow:0 22px 58px rgba(8,25,48,.20)!important;
}
body.client-body .module-flyout .module-sidebar-head{
    padding:17px 15px 12px!important;
    background:#fff!important;
    border-bottom:1px solid var(--jn-border-soft)!important;
}
body.client-body .module-flyout .module-sidebar-head small{
    color:#9aa8b8!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
}
body.client-body .module-flyout .module-sidebar-head strong{
    color:var(--jn-text)!important;
    font-size:13px!important;
}
body.client-body .module-flyout .module-nav{padding:7px!important}
body.client-body .module-flyout .module-nav-row>a{
    min-height:38px!important;
    padding:8px 9px!important;
    border-radius:9px!important;
    color:#53667d!important;
    font-size:10.5px!important;
}
body.client-body .module-flyout .module-nav-row>a:hover,
body.client-body .module-flyout .module-nav-row>a.active{
    background:var(--jn-primary-soft)!important;
    color:var(--jn-primary-strong)!important;
}
body.client-body .module-flyout .module-nav-row>a b{
    background:#f2f6fb!important;
    color:#768ba4!important;
}

/* Barra superior */
body.client-body .topbar,body.jn-admin-body .topbar{
    min-height:62px!important;
    padding:9px 22px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid var(--jn-border)!important;
    box-shadow:0 2px 9px rgba(15,38,74,.025)!important;
    backdrop-filter:blur(14px);
}
body.client-body .topbar-context strong,body.jn-admin-body .topbar-context strong{
    font-size:12px!important;
    color:#26384f!important;
}
body.client-body .topbar-context small,body.jn-admin-body .topbar-context small{
    font-size:8px!important;
    color:#92a0b1!important;
    letter-spacing:.08em;
}
body.client-body .top-actions,body.jn-admin-body .top-actions{gap:7px!important}
body.client-body .top-search-button{
    min-width:178px!important;
    height:36px!important;
    padding:6px 10px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#53667d!important;
}
body.client-body .top-search-button:hover{border-color:#bfd5ef!important;background:#f9fbff!important}
body.client-body .top-search-button em{font-size:9.5px!important}
body.client-body .top-search-button kbd{
    border:1px solid #dfe7f1!important;
    background:#f5f8fc!important;
    color:#8795a6!important;
}
body.client-body .user-chip,body.jn-admin-body .user-chip{
    min-height:38px!important;
    padding:4px 9px 4px 5px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:11px!important;
    background:#fff!important;
}
body.client-body .user-avatar,body.jn-admin-body .user-avatar{
    width:29px!important;height:29px!important;flex:0 0 29px!important;
    border-radius:9px!important;
    background:var(--jn-primary-soft)!important;color:var(--jn-primary)!important;
    font-size:10px!important;
}
body.client-body .user-chip strong,body.jn-admin-body .user-chip strong{font-size:10.5px!important}
body.client-body .user-chip small,body.jn-admin-body .user-chip small{font-size:8.5px!important;color:#8493a6!important}

/* Avisos */
body.client-body .license-alert{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:0 0 16px!important;
    padding:12px 15px!important;
    border:1px solid #f0d797!important;
    border-radius:12px!important;
    background:#fffaf0!important;
    color:#725400!important;
}
body.client-body .license-alert>div{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    column-gap:10px!important;
    align-items:baseline!important;
}
body.client-body .license-alert strong{font-size:11px!important}
body.client-body .license-alert span{font-size:10px!important}
body.client-body .license-alert a{
    flex:0 0 auto;
    color:#815d00!important;
    font-size:10px!important;
    font-weight:800!important;
}
body.client-body .notice,body.client-body .error-summary,
body.jn-admin-body .notice,body.jn-admin-body .error-summary{
    margin-bottom:14px!important;
    padding:11px 13px!important;
    border-radius:11px!important;
    box-shadow:none!important;
}
body.client-body .notice{background:#f1f8ff!important;border-color:#d7e9ff!important}
body.client-body .error-summary{background:#fff3f4!important;border-color:#ffdadd!important}

/* Cabeçalhos */
body.client-body .page-heading,body.jn-admin-body .page-heading,
body.client-body .experience-heading{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
    width:100%!important;
    margin:0 0 16px!important;
}
body.client-body .page-heading>div:first-child,
body.client-body .experience-heading>div:first-child,
body.jn-admin-body .page-heading>div:first-child{min-width:0!important}
body.client-body .page-heading h1,body.jn-admin-body .page-heading h1,
body.client-body .experience-heading h1{
    margin:2px 0 4px!important;
    color:#13243b!important;
    font-size:22px!important;
    line-height:1.1!important;
    letter-spacing:-.035em!important;
}
body.client-body .page-heading p,body.jn-admin-body .page-heading p,
body.client-body .experience-heading p{
    max-width:740px!important;
    margin:0!important;
    color:var(--jn-muted)!important;
    font-size:10.5px!important;
    line-height:1.5!important;
}
body.client-body .experience-kicker,body.jn-admin-body .jn-kicker,
body.client-body .dashboard-eyebrow{
    display:block!important;
    margin-bottom:3px!important;
    color:var(--segment-accent)!important;
    font-size:8.5px!important;
    font-weight:850!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
}
body.client-body .quick-actions,body.client-body .experience-heading-actions,
body.jn-admin-body .quick-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    flex-wrap:wrap!important;
}

/* Botões */
body.client-body .button,body.jn-admin-body .button,
body.client-body .btn{
    min-height:35px!important;
    border-radius:9px!important;
    padding:7px 12px!important;
    font-size:10px!important;
    font-weight:750!important;
    line-height:1.2!important;
    box-shadow:none!important;
    transition:.15s ease!important;
}
body.client-body .button.primary,body.jn-admin-body .button.primary,
body.client-body .btn-primary{
    background:linear-gradient(180deg,color-mix(in srgb,var(--jn-primary) 92%,#fff),var(--jn-primary))!important;
    border-color:var(--jn-primary)!important;
    color:#fff!important;
    box-shadow:0 4px 11px color-mix(in srgb,var(--jn-primary) 18%,transparent)!important;
}
body.client-body .button.primary:hover,body.jn-admin-body .button.primary:hover{
    transform:translateY(-1px);
    box-shadow:0 7px 16px color-mix(in srgb,var(--jn-primary) 23%,transparent)!important;
}
body.client-body .button.secondary,body.jn-admin-body .button.secondary,
body.client-body .btn-light{
    background:#fff!important;
    border-color:var(--jn-border)!important;
    color:#42556d!important;
}
body.client-body .button.ghost,body.jn-admin-body .button.ghost{
    background:#f8fafc!important;
    border-color:#edf1f6!important;
    color:#53667e!important;
}
body.client-body .button.success{
    background:var(--jn-success)!important;border-color:var(--jn-success)!important;color:#fff!important;
}
body.client-body .button.danger{
    background:#fff2f3!important;border-color:#ffd5da!important;color:#bf3243!important;
}
body.client-body .button.small,body.jn-admin-body .button.small{min-height:31px!important;padding:6px 9px!important;font-size:9px!important}

/* Superfícies */
body.client-body .panel,body.jn-admin-body .panel,
body.client-body .card,body.jn-admin-body .card,
body.client-body .dashboard-panel{
    background:var(--jn-surface)!important;
    border:1px solid var(--jn-border)!important;
    border-radius:var(--jn-radius)!important;
    box-shadow:0 2px 8px rgba(15,38,74,.025)!important;
}
body.client-body .panel,body.jn-admin-body .panel{padding:15px!important}
body.client-body .panel-title,body.jn-admin-body .panel-title{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:11px!important;
}
body.client-body .panel-title h2,body.jn-admin-body .panel-title h2{
    margin:0!important;color:#1c2e46!important;font-size:13px!important;letter-spacing:-.015em!important;
}
body.client-body .panel-title p,body.jn-admin-body .panel-title p{
    margin:3px 0 0!important;color:#8290a2!important;font-size:9.5px!important;
}
body.client-body .panel-title a,body.jn-admin-body .panel-title a{
    color:var(--jn-primary)!important;font-size:9.5px!important;font-weight:800!important;
}

/* Indicadores */
body.client-body .cards,body.jn-admin-body .cards,
body.client-body .admin-overview{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:11px!important;
    margin:0 0 14px!important;
}
body.client-body .metric-card,body.jn-admin-body .metric-card{
    position:relative!important;
    min-width:0!important;
    min-height:102px!important;
    padding:14px 15px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    box-shadow:none!important;
}
body.client-body .metric-card::before,body.jn-admin-body .metric-card::before{
    content:""!important;
    position:absolute!important;
    left:0!important;top:0!important;bottom:0!important;
    width:3px!important;height:auto!important;
    background:var(--segment-accent)!important;
}
body.client-body .metric-card::after,body.jn-admin-body .metric-card::after{display:none!important}
body.client-body .metric-card span,body.jn-admin-body .metric-card span{
    position:relative!important;z-index:1!important;
    display:block!important;
    color:#78889d!important;
    font-size:8.5px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.055em!important;
}
body.client-body .metric-card strong,body.jn-admin-body .metric-card strong{
    position:relative!important;z-index:1!important;
    display:block!important;
    margin:8px 0 4px!important;
    color:#172942!important;
    font-size:19px!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
}
body.client-body .metric-card small,body.jn-admin-body .metric-card small{
    position:relative!important;z-index:1!important;
    color:#8997a8!important;
    font-size:8.8px!important;
    line-height:1.4!important;
}

/* Formulários */
body.client-body label,body.jn-admin-body label{
    color:#34475f!important;
    font-size:9.8px!important;
    font-weight:700!important;
}
body.client-body input:not([type=checkbox]):not([type=radio]):not([type=color]),
body.client-body select,body.client-body textarea,
body.jn-admin-body input:not([type=checkbox]):not([type=radio]):not([type=color]),
body.jn-admin-body select,body.jn-admin-body textarea{
    min-height:38px!important;
    border:1px solid #d7e1ed!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#23354d!important;
    padding:8px 10px!important;
    font-size:10px!important;
    box-shadow:inset 0 1px 1px rgba(15,38,74,.015)!important;
}
body.client-body textarea,body.jn-admin-body textarea{min-height:84px!important;line-height:1.45!important}
body.client-body input:focus,body.client-body select:focus,body.client-body textarea:focus,
body.jn-admin-body input:focus,body.jn-admin-body select:focus,body.jn-admin-body textarea:focus{
    outline:0!important;
    border-color:#98bdef!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--jn-primary) 9%,transparent)!important;
}
body.client-body form.quick-actions{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) repeat(4,auto)!important;
    gap:7px!important;
    align-items:center!important;
}
body.client-body .checkbox{
    display:flex!important;align-items:center!important;gap:7px!important;
    min-height:36px!important;padding:0 2px!important;
}
body.client-body input[type=checkbox],body.client-body input[type=radio]{accent-color:var(--jn-primary)}
body.client-body .field-note{font-size:9px!important;color:#8795a6!important}

/* Tabelas */
body.client-body .table-wrap,body.jn-admin-body .table-wrap{
    width:100%!important;
    border:1px solid var(--jn-border-soft)!important;
    border-radius:10px!important;
    overflow:auto!important;
    background:#fff!important;
}
body.client-body .erp-table,body.client-body .data-table,
body.jn-admin-body .erp-table,body.jn-admin-body .data-table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}
body.client-body .erp-table th,body.client-body .data-table th,
body.jn-admin-body .erp-table th,body.jn-admin-body .data-table th{
    background:#f7f9fc!important;
    color:#74849a!important;
    padding:9px 10px!important;
    border-bottom:1px solid #e7edf4!important;
    font-size:8px!important;
    font-weight:850!important;
    text-transform:uppercase!important;
    letter-spacing:.065em!important;
    white-space:nowrap!important;
}
body.client-body .erp-table td,body.client-body .data-table td,
body.jn-admin-body .erp-table td,body.jn-admin-body .data-table td{
    padding:9px 10px!important;
    border-bottom:1px solid #eef2f7!important;
    color:#35485f!important;
    font-size:9.8px!important;
    vertical-align:middle!important;
}
body.client-body .erp-table tbody tr:hover,body.client-body .data-table tbody tr:hover,
body.jn-admin-body .erp-table tbody tr:hover,body.jn-admin-body .data-table tbody tr:hover{
    background:#f9fbfe!important;
}
body.client-body .erp-table tr:last-child td,body.client-body .data-table tr:last-child td,
body.jn-admin-body .erp-table tr:last-child td,body.jn-admin-body .data-table tr:last-child td{
    border-bottom:0!important;
}
body.client-body .erp-table td small,body.client-body .data-table td small,
body.jn-admin-body .erp-table td small,body.jn-admin-body .data-table td small{
    display:block!important;margin-top:2px!important;color:#8d99a9!important;font-size:8.5px!important;
}
body.client-body .money,body.jn-admin-body .money{text-align:right!important;font-variant-numeric:tabular-nums!important}
body.client-body .empty-row,body.jn-admin-body .empty-row{
    padding:26px!important;text-align:center!important;color:#8a98aa!important;
}
body.client-body .text-link,body.jn-admin-body .text-link{
    color:var(--jn-primary)!important;font-size:9.5px!important;font-weight:800!important;
}

/* Status */
body.client-body .status-pill,body.jn-admin-body .status-pill,
body.client-body .badge,body.jn-admin-body .badge,
body.client-body .erp-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-height:22px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:#eef3f8!important;
    color:#5a6d83!important;
    font-size:8px!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
body.client-body .status-pill.on,body.jn-admin-body .status-pill.on{background:var(--jn-success-soft)!important;color:#0f7f58!important}
body.client-body .status-pill.off,body.jn-admin-body .status-pill.off{background:var(--jn-danger-soft)!important;color:#bb3343!important}
body.client-body .status-pill.warning,body.jn-admin-body .status-pill.warning{background:var(--jn-warning-soft)!important;color:#9e6700!important}

/* Atalhos de módulos */
body.client-body .module-shortcuts{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:14px!important;
}
body.client-body .module-shortcuts>a{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:72px!important;
    padding:11px 12px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
    transition:.15s ease!important;
}
body.client-body .module-shortcuts>a::after{
    content:"→"!important;
    position:absolute!important;
    top:11px!important;right:11px!important;
    color:#9babbd!important;
    font-size:11px!important;
}
body.client-body .module-shortcuts>a:hover{
    transform:translateY(-1px)!important;
    border-color:#bfd5ef!important;
    box-shadow:var(--jn-shadow)!important;
}
body.client-body .module-shortcuts strong{
    padding-right:18px!important;
    color:#263950!important;
    font-size:10px!important;
}
body.client-body .module-shortcuts small{
    margin-top:4px!important;
    color:#8896a8!important;
    font-size:8.5px!important;
    line-height:1.35!important;
}

/* Dashboard */
body.client-body .erp-dashboard{
    display:flex!important;
    flex-direction:column!important;
    gap:13px!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
}
body.client-body .dashboard-hero,
body.client-body .dashboard-hero.dashboard-hero-compact{
    min-height:auto!important;
    padding:0 0 3px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
}
body.client-body .dashboard-hero::after{display:none!important}
body.client-body .dashboard-hero-copy h1{
    margin:2px 0 3px!important;
    color:#13243b!important;
    font-size:22px!important;
}
body.client-body .dashboard-hero-meta{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    color:#7d8b9e!important;
    font-size:9.5px!important;
}
body.client-body .dashboard-hero-meta i{width:3px!important;height:3px!important;background:#c5d0dd!important}
body.client-body .dashboard-hero-side{gap:7px!important}
body.client-body .dashboard-hero .button.secondary{
    background:#fff!important;border-color:var(--jn-border)!important;color:#42556d!important;
}
body.client-body .dashboard-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:11px!important;
}
body.client-body .dashboard-kpi{
    position:relative!important;
    min-height:106px!important;
    padding:13px 14px!important;
    display:grid!important;
    gap:6px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
    color:inherit!important;
}
body.client-body .dashboard-kpi::before{
    content:""!important;
    position:absolute!important;
    left:0!important;top:12px!important;bottom:12px!important;
    width:3px!important;height:auto!important;
    border-radius:0 3px 3px 0!important;
    background:var(--segment-accent)!important;
}
body.client-body .dashboard-kpi-top span{
    color:#7b8a9e!important;font-size:8.5px!important;font-weight:800!important;
}
body.client-body .dashboard-kpi-top i{
    width:7px!important;height:7px!important;
    background:color-mix(in srgb,var(--segment-accent) 72%,#fff)!important;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--segment-accent) 9%,transparent)!important;
}
body.client-body .dashboard-kpi>strong{
    margin:5px 0 1px!important;
    color:#172941!important;
    font-size:19px!important;
}
body.client-body .dashboard-kpi>small{
    min-height:24px!important;color:#8b98a8!important;font-size:8.5px!important;
}
body.client-body .dashboard-kpi>a{
    margin-top:2px!important;color:var(--jn-primary)!important;font-size:8.5px!important;font-weight:800!important;
}
body.client-body .dashboard-main-grid{
    display:grid!important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)!important;
    gap:12px!important;
}
body.client-body .dashboard-panel{
    padding:14px!important;
    border-radius:12px!important;
}
body.client-body .dashboard-panel-heading{margin-bottom:10px!important}
body.client-body .dashboard-panel-heading>div>span{
    color:var(--segment-accent)!important;font-size:8px!important;font-weight:850!important;
}
body.client-body .dashboard-panel-heading h2{
    margin:3px 0 3px!important;color:#1d2f47!important;font-size:13px!important;
}
body.client-body .dashboard-panel-heading p{
    margin:0!important;color:#8492a4!important;font-size:8.8px!important;
}
body.client-body .dashboard-summary-row{
    min-height:66px!important;
    grid-template-columns:32px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:8px 2px!important;
}
body.client-body .dashboard-summary-icon{width:32px!important;height:32px!important;border-radius:10px!important}
body.client-body .dashboard-summary-row small{font-size:8px!important}
body.client-body .dashboard-summary-row strong{font-size:13px!important}
body.client-body .dashboard-summary-row p{font-size:8px!important}
body.client-body .dashboard-summary-row>a{width:28px!important;height:28px!important;border-radius:8px!important}
body.client-body .dashboard-operation-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
}
body.client-body .dashboard-operation-card{
    min-height:98px!important;
    padding:11px!important;
    gap:5px!important;
    border:1px solid #e7edf4!important;
    border-radius:10px!important;
    background:#fbfcfe!important;
}
body.client-body .dashboard-operation-card>span{font-size:7.8px!important}
body.client-body .dashboard-operation-card>strong{font-size:17px!important}
body.client-body .dashboard-operation-card>small{font-size:8px!important;min-height:22px!important}
body.client-body .dashboard-operation-card>a{font-size:8px!important}
body.client-body .dashboard-bottom-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)!important;
    gap:12px!important;
}
body.client-body .dashboard-module-chips{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
body.client-body .dashboard-module-chips a,
body.client-body .dashboard-module-chips span{
    padding:6px 8px!important;
    border:1px solid #e3eaf2!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    color:#566980!important;
    font-size:8.8px!important;
}
body.client-body .dashboard-module-count{
    padding:4px 7px!important;font-size:8px!important;
}
body.client-body .dashboard-settings-actions{gap:6px!important}

/* Financeiro */
body[data-route="financeiro.index"] .financial-cards{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body[data-route="financeiro.index"] .financial-cards .metric-card:nth-child(3)::before{background:var(--jn-success)!important}
body[data-route="financeiro.index"] .financial-cards .metric-card:nth-child(4)::before{background:var(--jn-danger)!important}
body[data-route="financeiro.index"] .financial-cards .metric-card:nth-child(5)::before{background:var(--jn-violet)!important}
body.client-body .panel-grid.finance-panels{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    margin-top:12px!important;
}
body[data-route^="financeiro."] .legacy-finance-page,
body[data-route^="financeiro."] .account-finance-page{gap:12px!important}
body[data-route^="financeiro."] .legacy-filter-panel,
body[data-route^="financeiro."] .account-list-panel{
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    background:#fff!important;
}
body[data-route^="financeiro."] .legacy-period-summary{
    border-radius:11px!important;box-shadow:none!important;
}
body[data-route^="financeiro."] .legacy-summary-head{
    background:#163b62!important;
}
body[data-route^="financeiro."] .account-summary-grid{
    gap:10px!important;
}
body[data-route^="financeiro."] .account-summary-card{
    min-height:100px!important;
    padding:14px 15px!important;
    border-radius:12px!important;
    box-shadow:none!important;
}

/* Vendas, compras e listagens */
body[data-route^="vendas."] .panel,
body[data-route^="compras."] .panel,
body[data-route^="estoque."] .panel,
body[data-route^="cadastros."] .panel,
body[data-route^="servicos."] .panel,
body[data-route^="nota-fiscal."] .panel{
    margin-bottom:11px!important;
}
body[data-route^="vendas."] .experience-heading-actions,
body[data-route^="servicos."] .experience-heading-actions{flex-shrink:0!important}
body[data-route^="vendas."] .list-toolbar,
body[data-route^="compras."] .list-toolbar,
body[data-route^="cadastros."] .list-toolbar,
body[data-route^="servicos."] .list-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:9px!important;
}
body.client-body .selection-count{color:#78889c!important;font-size:9px!important}
body.client-body .selection-count strong{color:#263950!important;font-size:11px!important}
body[data-route="estoque.index"] .cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body[data-route="estoque.index"] .cards .metric-card:nth-child(1)::before{background:var(--jn-danger)!important}
body[data-route="estoque.index"] .cards .metric-card:nth-child(2)::before{background:var(--jn-warning)!important}
body[data-route="estoque.index"] .cards .metric-card:nth-child(3)::before{background:var(--jn-success)!important}

/* Serviços / OS */
body.client-body .service-legacy-page{display:grid!important;gap:12px!important}
body.client-body .service-status-legend{
    display:flex!important;gap:6px!important;flex-wrap:wrap!important;
}
body.client-body .service-status-legend span{
    display:inline-flex!important;align-items:center!important;gap:5px!important;
    padding:5px 8px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#60738a!important;
    font-size:8px!important;
}
body.client-body .service-status-legend i{width:6px!important;height:6px!important;border-radius:50%!important}
body.client-body .service-status-legend .aberta i{background:#3987ea!important}
body.client-body .service-status-legend .aprovada i{background:#d88a06!important}
body.client-body .service-status-legend .andamento i{background:#7466d9!important}
body.client-body .service-status-legend .concluida i{background:#129b68!important}
body.client-body .service-status-legend .cancelada i{background:#dc3f4f!important}
body.client-body .service-code-link{color:var(--jn-primary)!important;font-weight:850!important}
body.client-body .service-actions{display:flex!important;gap:6px!important}
body.client-body .service-actions a{font-size:8.8px!important;color:var(--jn-primary)!important;font-weight:800!important}
body.client-body .service-legacy-table tbody tr{background:#fff!important}

/* Fiscal */
body[data-route^="nota-fiscal."] .note-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body[data-route^="nota-fiscal."] .note-cards .metric-card:nth-child(1)::before{background:var(--jn-primary)!important}
body[data-route^="nota-fiscal."] .note-cards .metric-card:nth-child(2)::before{background:var(--jn-cyan)!important}
body[data-route^="nota-fiscal."] .note-cards .metric-card:nth-child(3)::before{background:var(--jn-violet)!important}
body[data-route^="nota-fiscal."] .note-cards .metric-card:nth-child(4)::before{background:var(--jn-success)!important}

/* Workspaces e cadastros genéricos */
body.client-body .erp-page-heading{
    display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin-bottom:13px!important;
}
body.client-body .erp-page-heading h1{margin:2px 0!important;font-size:20px!important;color:#15263e!important}
body.client-body .erp-page-heading p{margin:0!important;font-size:9.5px!important;color:#7d8ca0!important}
body.client-body .erp-breadcrumb{font-size:8px!important;color:#8392a5!important}
body.client-body .erp-page-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
body.client-body .erp-tabs,
body.client-body .product-tabs{
    display:flex!important;
    gap:3px!important;
    width:max-content!important;
    max-width:100%!important;
    margin-bottom:11px!important;
    padding:3px!important;
    overflow:auto!important;
    border:1px solid #e4ebf3!important;
    border-radius:9px!important;
    background:#f3f6fa!important;
}
body.client-body .erp-tabs a,
body.client-body .product-tab{
    min-height:29px!important;
    padding:5px 9px!important;
    border:0!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#65778d!important;
    font-size:8.8px!important;
    font-weight:750!important;
}
body.client-body .erp-tabs a.active,
body.client-body .product-tab.active{
    background:#fff!important;
    color:var(--jn-primary)!important;
    box-shadow:0 1px 4px rgba(15,38,74,.08)!important;
}
body.client-body .erp-summary-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
    margin:0 0 12px!important;
}
body.client-body .erp-summary-card{
    padding:12px 13px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .erp-summary-card small{font-size:8px!important;color:#8291a4!important}
body.client-body .erp-summary-card strong{font-size:17px!important;color:#20334b!important}
body.client-body .erp-summary-card span{font-size:8.5px!important;color:#8b98a8!important}
body.client-body .erp-workspace-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.7fr) minmax(220px,.55fr)!important;
    gap:11px!important;
}
body.client-body .erp-panel{
    padding:14px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .erp-panel-toolbar{
    display:flex!important;gap:6px!important;align-items:center!important;
    margin-bottom:10px!important;padding:0!important;border:0!important;
}
body.client-body .erp-search-box{
    flex:1!important;
    display:flex!important;align-items:center!important;gap:7px!important;
    border:1px solid #d8e2ed!important;border-radius:9px!important;background:#fff!important;padding:0 9px!important;
}
body.client-body .erp-search-box input{
    min-height:35px!important;border:0!important;box-shadow:none!important;padding-left:0!important;
}
body.client-body .erp-panel-side h3{margin:0 0 8px!important;font-size:10.5px!important;color:#263950!important}
body.client-body .erp-panel-side>a{
    display:flex!important;gap:7px!important;padding:8px 6px!important;border-bottom:1px solid #eef2f6!important;color:#53677f!important;
}
body.client-body .erp-panel-side>a strong{font-size:9.5px!important}
body.client-body .erp-panel-side>a small{font-size:8px!important;color:#8a98aa!important}

/* PDV comum */
body.jn-pdv-full-layout .content{
    height:100vh!important;
    padding:0!important;
    overflow:auto!important;
    background:#f1f5f9!important;
}
body.client-body .pdv-screen{
    --pdv-border:var(--jn-border);
    --pdv-muted:#718198;
    max-width:none!important;
    padding:12px 14px 70px!important;
    background:#f3f6fa!important;
}
body.client-body .pdv-hero{
    min-height:auto!important;
    margin-bottom:10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
body.client-body .pdv-hero h1{
    margin:2px 0!important;
    color:#14243b!important;
    font-size:20px!important;
    letter-spacing:-.03em!important;
}
body.client-body .pdv-hero p{margin:0!important;color:#7c8b9e!important;font-size:9.5px!important}
body.client-body .pdv-kicker{color:var(--segment-accent)!important;font-size:8px!important;letter-spacing:.1em!important}
body.client-body .pdv-context-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:10px!important;
}
body.client-body .pdv-context-card{
    min-height:68px!important;
    padding:10px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .pdv-context-icon{
    width:29px!important;height:29px!important;border-radius:8px!important;
    background:var(--jn-primary-soft)!important;color:var(--segment-accent)!important;
}
body.client-body .pdv-context-card small{font-size:7.5px!important}
body.client-body .pdv-context-card strong{font-size:10px!important;color:#263950!important}
body.client-body .pdv-context-card span{font-size:8px!important;color:#8694a6!important}
body.client-body .pdv-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.65fr) minmax(340px,.7fr)!important;
    gap:10px!important;
    align-items:start!important;
}
body.client-body .pdv-panel{
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .pdv-catalog-panel{padding:12px!important}
body.client-body .pdv-panel-head{
    display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:8px!important;
}
body.client-body .pdv-panel-head h2,
body.client-body .pdv-checkout-head h2{
    margin:0!important;color:#1b2d45!important;font-size:12px!important;
}
body.client-body .pdv-panel-head p,
body.client-body .pdv-checkout-head p{
    margin:2px 0 0!important;color:#8795a7!important;font-size:8.5px!important;
}
body.client-body .pdv-count{
    min-height:22px!important;padding:4px 7px!important;border-radius:999px!important;background:#f0f5fa!important;color:#61748b!important;font-size:8px!important;
}
body.client-body .pdv-search-wrap{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:8px 0 6px!important;
    min-height:44px!important;
    padding:0 11px!important;
    border:1px solid #cbdcf1!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--jn-primary) 5%,transparent)!important;
}
body.client-body .pdv-search-wrap>span{font-size:16px!important;color:#6f84a0!important}
body.client-body .pdv-search{
    min-height:42px!important;border:0!important;box-shadow:none!important;font-size:11px!important;
}
body.client-body .pdv-search-hint{margin-bottom:7px!important;color:#8b98a8!important;font-size:7.5px!important}
body.client-body .pdv-filter-row{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin-bottom:8px!important}
body.client-body .pdv-filter{
    min-height:29px!important;
    padding:5px 9px!important;
    border:1px solid #e1e8f0!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    color:#66778d!important;
    font-size:8px!important;
    font-weight:750!important;
}
body.client-body .pdv-filter.active{
    background:var(--jn-primary)!important;border-color:var(--jn-primary)!important;color:#fff!important;
}
body.client-body .pdv-product-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    max-height:calc(100vh - 260px)!important;
    padding:1px!important;
    overflow:auto!important;
}
body.client-body .pdv-product{
    min-height:92px!important;
    padding:10px!important;
    border:1px solid #e4ebf3!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
    transition:.14s ease!important;
}
body.client-body .pdv-product:hover{
    transform:translateY(-1px)!important;
    border-color:#aac8ee!important;
    box-shadow:0 6px 15px rgba(20,61,110,.07)!important;
}
body.client-body .pdv-product-name{font-size:9.5px!important;color:#20334b!important;line-height:1.35!important}
body.client-body .pdv-product-price{font-size:12px!important;color:var(--jn-primary)!important;font-weight:850!important}
body.client-body .pdv-product small{font-size:7.5px!important;color:#8896a7!important}
body.client-body .pdv-checkout-panel{
    position:sticky!important;
    top:10px!important;
    padding:12px!important;
    max-height:calc(100vh - 20px)!important;
    overflow:auto!important;
}
body.client-body .pdv-cart-zone{
    margin-top:8px!important;
    min-height:98px!important;
    max-height:260px!important;
    overflow:auto!important;
}
body.client-body .pdv-cart-zone .empty-state{
    min-height:98px!important;
    margin:0!important;
    border:1px dashed #d4dfeb!important;
    border-radius:9px!important;
    background:#fbfcfe!important;
    color:#8a98aa!important;
    font-size:9px!important;
}
body.client-body .pdv-total-box{
    margin:10px 0!important;
    padding:12px!important;
    border:1px solid #dbe9fb!important;
    border-radius:10px!important;
    background:#f5f9ff!important;
}
body.client-body .pdv-total-box>span{font-size:8.5px!important;color:#6f8094!important}
body.client-body .pdv-total-box strong{font-size:21px!important;color:var(--jn-primary)!important}
body.client-body .pdv-total-box small{font-size:7.5px!important;color:#8e9bab!important}
body.client-body .pdv-payment-form{padding-top:10px!important;border-top:1px solid var(--jn-border-soft)!important}
body.client-body .pdv-section-label{
    margin-bottom:5px!important;
    color:#65778d!important;
    font-size:7.5px!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
}
body.client-body .pdv-payment-methods{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
}
body.client-body .pdv-payment-option span{
    min-height:34px!important;
    padding:7px 6px!important;
    border:1px solid #dce5ef!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#52667e!important;
    font-size:8px!important;
}
body.client-body .pdv-payment-option input:checked+span{
    background:var(--jn-primary)!important;border-color:var(--jn-primary)!important;color:#fff!important;
}
body.client-body .pdv-payment-area{
    margin-top:8px!important;
    padding:10px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:10px!important;
    background:#fafcfe!important;
}
body.client-body .pdv-submit{
    width:100%!important;
    min-height:42px!important;
    margin-top:8px!important;
    font-size:10.5px!important;
}

/* Barra de atalhos do PDV */
body.jn-pdv-full-layout .pdv-shortcut-dock{
    background:#102943!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
}
body.jn-pdv-full-layout .pdv-shortcut-dock kbd{
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.15)!important;
    color:#fff!important;
}

/* Posto */
body.client-body .posto-screen{max-width:none!important}
body.client-body .posto-commandbar,
body.client-body .posto-pumps-panel,
body.client-body .posto-pending-panel{
    border:1px solid var(--jn-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .posto-commandbar{margin-bottom:9px!important}
body.client-body .posto-pumps-panel,
body.client-body .posto-pending-panel{padding:12px!important}
body.client-body .posto-pump-card,
body.client-body .posto-pending-card{
    border:1px solid #e3eaf2!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.client-body .posto-pump-card.tone-ok{border-left:3px solid var(--jn-success)!important}
body.client-body .posto-pump-card.tone-active{border-left:3px solid var(--jn-primary)!important}
body.client-body .posto-pump-card.tone-attention{border-left:3px solid var(--jn-warning)!important}
body.client-body .posto-pump-card.tone-danger{border-left:3px solid var(--jn-danger)!important}
body.client-body .posto-sale-shell{gap:10px!important}
body.client-body .posto-unified-checkout{border-top:3px solid var(--jn-primary)!important}
body.client-body .posto-total-breakdown{
    border:1px solid var(--jn-border-soft)!important;
    border-radius:9px!important;
    background:#fafcfe!important;
}

/* Painel JN */
body.jn-admin-body{--segment-accent:var(--jn-primary)}
body.jn-admin-body .jn-home-hero{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin-bottom:14px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
body.jn-admin-body .jn-home-hero h1{
    margin:2px 0!important;color:#14243b!important;font-size:22px!important;letter-spacing:-.035em!important;
}
body.jn-admin-body .jn-home-hero p{margin:3px 0 0!important;color:#78889c!important;font-size:9.8px!important}
body.jn-admin-body .jn-home-hero-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
body.jn-admin-body .jn-home-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.jn-admin-body .jn-home-section{margin:12px 0!important}
body.jn-admin-body .jn-section-heading h2{margin:2px 0!important;font-size:13px!important;color:#1c2d45!important}
body.jn-admin-body .jn-section-heading p{margin:0!important;font-size:9px!important;color:#8392a5!important}
body.jn-admin-body .jn-shortcuts{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:8px!important;
}
body.jn-admin-body .jn-shortcut-card{
    min-height:110px!important;
    padding:11px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:11px!important;
    background:#fff!important;
    box-shadow:none!important;
}
body.jn-admin-body .jn-shortcut-card:hover{
    transform:translateY(-1px)!important;border-color:#bad2f0!important;box-shadow:var(--jn-shadow)!important;
}
body.jn-admin-body .jn-shortcut-icon{
    width:28px!important;height:28px!important;border-radius:8px!important;background:var(--jn-primary-soft)!important;color:var(--jn-primary)!important;
}
body.jn-admin-body .jn-shortcut-card strong{font-size:10px!important;color:#21344d!important}
body.jn-admin-body .jn-shortcut-card p{font-size:8px!important;color:#8493a6!important}
body.jn-admin-body .jn-shortcut-card em{font-size:8px!important;color:var(--jn-primary)!important}
body.jn-admin-body .jn-home-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.8fr) minmax(240px,.62fr)!important;
    gap:12px!important;
}
body.jn-admin-body .jn-status-stack{display:flex!important;flex-direction:column!important;gap:10px!important}

/* Login */
.auth-page{background:#f3f6fb!important;color:#17243a!important}
.auth-page .auth-shell{grid-template-columns:minmax(420px,.9fr) minmax(430px,1.1fr)!important}
.auth-page .auth-hero{
    background:
      radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--jn-primary) 22%,transparent),transparent 30%),
      linear-gradient(145deg,#091a31 0%,#102d52 58%,#0d3970 100%)!important;
    padding:clamp(36px,5.2vw,72px)!important;
}
.auth-page .auth-brand-mark{
    width:46px!important;height:46px!important;border-radius:13px!important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--jn-primary) 88%,#fff),var(--jn-primary-strong))!important;
}
.auth-page .auth-hero-copy h1{font-size:clamp(31px,4vw,50px)!important;line-height:1.03!important;letter-spacing:-.045em!important}
.auth-page .auth-hero-copy p{max-width:560px!important;color:#b9c9da!important;font-size:13px!important}
.auth-page .auth-form-side{background:#f5f7fb!important;padding:34px!important}
.auth-page .auth-card{
    width:min(440px,100%)!important;
    padding:30px!important;
    border:1px solid var(--jn-border)!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(17,42,77,.10)!important;
}

/* Responsividade */
@media(max-width:1320px){
    body.client-body .module-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    body[data-route="financeiro.index"] .financial-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    body.jn-admin-body .jn-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1180px){
    body.client-body .dashboard-kpi-grid,
    body.client-body .cards,body.jn-admin-body .cards,
    body.client-body .admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.client-body .dashboard-main-grid,
    body.client-body .dashboard-bottom-grid,
    body.client-body .panel-grid.finance-panels,
    body.jn-admin-body .jn-home-grid{grid-template-columns:1fr!important}
    body.client-body .pdv-layout{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)!important}
    body.client-body .pdv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
    body.client-body .pdv-layout{grid-template-columns:1fr!important}
    body.client-body .pdv-checkout-panel{position:static!important;max-height:none!important}
    body.client-body .pdv-product-grid{max-height:430px!important}
}
@media(max-width:860px){
    body.client-body .content,body.jn-admin-body .content{padding:16px!important}
    body.client-body .topbar,body.jn-admin-body .topbar{padding:9px 12px!important}
    body.client-body .top-search-button{min-width:40px!important;width:40px!important}
    body.client-body .top-search-button em,body.client-body .top-search-button kbd{display:none!important}
    body.client-body .user-chip span:last-child,body.jn-admin-body .user-chip span:last-child{display:none!important}
    body.client-body .page-heading,body.jn-admin-body .page-heading,
    body.client-body .experience-heading,body.client-body .erp-page-heading,
    body.jn-admin-body .jn-home-hero{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
    body.client-body form.quick-actions{
        display:flex!important;
        flex-wrap:wrap!important;
    }
    body.client-body form.quick-actions>input,
    body.client-body form.quick-actions>select{flex:1 1 190px!important}
    body.client-body .erp-workspace-grid{grid-template-columns:1fr!important}
    body.client-body .pdv-context-grid{grid-template-columns:1fr!important}
}
@media(max-width:680px){
    body.client-body .cards,body.jn-admin-body .cards,
    body.client-body .dashboard-kpi-grid,
    body.client-body .financial-cards,
    body.client-body .module-shortcuts,
    body.client-body .erp-summary-row,
    body.jn-admin-body .jn-shortcuts,
    body.client-body .admin-overview{grid-template-columns:1fr!important}
    body.client-body .dashboard-operation-grid{grid-template-columns:1fr!important}
    body.client-body .pdv-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.client-body .pdv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.client-body .panel,body.jn-admin-body .panel{padding:12px!important}
    .auth-page .auth-shell{grid-template-columns:1fr!important}
    .auth-page .auth-hero{min-height:42vh!important;padding:28px!important}
    .auth-page .auth-form-side{padding:18px!important}
    .auth-page .auth-card{padding:22px!important}
}
@media(max-width:460px){
    body.client-body .pdv-product-grid{grid-template-columns:1fr!important}
    body.client-body .content,body.jn-admin-body .content{padding:12px!important}
}


/* =========================================================
   FIDELIDADE 100 — PASSAGEM FINAL
   Ajustes de proporção, tipografia, ritmo e densidade.
   Não interfere no comportamento funcional do ERP.
   ========================================================= */

body.client-body,body.jn-admin-body{
    font-size:14.5px!important;
}

/* Área principal e topo */
body.client-body .content,body.jn-admin-body .content{
    padding:24px 28px 38px!important;
}
body.client-body .topbar,body.jn-admin-body .topbar{
    min-height:66px!important;
    padding:10px 24px!important;
}
body.client-body .topbar-context strong,body.jn-admin-body .topbar-context strong{
    font-size:12.5px!important;
    font-weight:760!important;
}
body.client-body .top-search-button{
    min-width:184px!important;
    height:38px!important;
}
body.client-body .top-search-button em{font-size:10px!important}
body.client-body .user-chip,body.jn-admin-body .user-chip{min-height:40px!important}
body.client-body .user-chip strong,body.jn-admin-body .user-chip strong{font-size:11px!important}
body.client-body .user-chip small,body.jn-admin-body .user-chip small{font-size:9px!important}

/* Sidebar — aparência mais legível sem alterar o mecanismo retrátil */
body.client-body .sidebar nav>a,body.jn-admin-body .sidebar nav>a{
    min-height:42px!important;
    font-size:12px!important;
}
body.client-body .sidebar nav>a b,body.jn-admin-body .sidebar nav>a b{
    width:29px!important;
    min-width:29px!important;
    height:29px!important;
}
body.client-body .sidebar-adaptive .sidebar > nav > a > b::before{
    width:18px!important;
    height:18px!important;
}
body.client-body .sidebar-adaptive .sidebar:hover nav a em,
body.client-body .sidebar-adaptive .sidebar:focus-within nav a em,
body:has(.module-flyout:not([hidden])) .sidebar-adaptive .sidebar nav a em{
    font-size:12px!important;
    line-height:1.2!important;
}
body.client-body .sidebar-adaptive .sidebar:hover .brand-copy strong,
body.client-body .sidebar-adaptive .sidebar:focus-within .brand-copy strong,
body:has(.module-flyout:not([hidden])) .sidebar-adaptive .brand-copy strong{
    font-size:13px!important;
}
body.client-body .sidebar-adaptive .sidebar:hover .brand-copy small,
body.client-body .sidebar-adaptive .sidebar:focus-within .brand-copy small,
body:has(.module-flyout:not([hidden])) .sidebar-adaptive .brand-copy small{
    font-size:9.5px!important;
}

/* Banner de licença */
body.client-body .license-alert{
    min-height:46px!important;
    padding:12px 16px!important;
    margin-bottom:18px!important;
}
body.client-body .license-alert strong{font-size:11.5px!important}
body.client-body .license-alert span{font-size:10.5px!important}
body.client-body .license-alert a{font-size:10.5px!important}

/* Títulos das páginas */
body.client-body .page-heading,
body.client-body .experience-heading,
body.jn-admin-body .page-heading{
    margin-bottom:18px!important;
}
body.client-body .page-heading h1,
body.client-body .experience-heading h1,
body.jn-admin-body .page-heading h1{
    font-size:25px!important;
    line-height:1.08!important;
}
body.client-body .page-heading p,
body.client-body .experience-heading p,
body.jn-admin-body .page-heading p{
    font-size:11.5px!important;
    line-height:1.5!important;
}
body.client-body .experience-kicker,
body.client-body .dashboard-eyebrow,
body.jn-admin-body .jn-kicker{
    font-size:9px!important;
}

/* Botões */
body.client-body .button,body.jn-admin-body .button,body.client-body .btn{
    min-height:37px!important;
    padding:8px 13px!important;
    font-size:10.5px!important;
}
body.client-body .button.small,body.jn-admin-body .button.small{
    min-height:32px!important;
    font-size:9.5px!important;
}

/* Cards e painéis */
body.client-body .panel,body.jn-admin-body .panel{
    padding:17px!important;
}
body.client-body .panel-title,body.jn-admin-body .panel-title{margin-bottom:13px!important}
body.client-body .panel-title h2,body.jn-admin-body .panel-title h2{
    font-size:14.5px!important;
}
body.client-body .panel-title p,body.jn-admin-body .panel-title p{
    font-size:10px!important;
}

/* Métricas */
body.client-body .metric-card,body.jn-admin-body .metric-card{
    min-height:112px!important;
    padding:16px 17px!important;
}
body.client-body .metric-card span,body.jn-admin-body .metric-card span{
    font-size:9.2px!important;
}
body.client-body .metric-card strong,body.jn-admin-body .metric-card strong{
    margin:9px 0 5px!important;
    font-size:21px!important;
}
body.client-body .metric-card small,body.jn-admin-body .metric-card small{
    font-size:9.4px!important;
}

/* Tabelas */
body.client-body .erp-table th,body.client-body .data-table th,
body.jn-admin-body .erp-table th,body.jn-admin-body .data-table th{
    padding:10px 11px!important;
    font-size:8.6px!important;
}
body.client-body .erp-table td,body.client-body .data-table td,
body.jn-admin-body .erp-table td,body.jn-admin-body .data-table td{
    padding:11px!important;
    font-size:10.4px!important;
}
body.client-body .erp-table td small,body.client-body .data-table td small,
body.jn-admin-body .erp-table td small,body.jn-admin-body .data-table td small{
    font-size:8.8px!important;
}

/* Inputs */
body.client-body input:not([type=checkbox]):not([type=radio]):not([type=color]),
body.client-body select,body.client-body textarea,
body.jn-admin-body input:not([type=checkbox]):not([type=radio]):not([type=color]),
body.jn-admin-body select,body.jn-admin-body textarea{
    min-height:40px!important;
    padding:9px 11px!important;
    font-size:10.7px!important;
}
body.client-body label,body.jn-admin-body label{font-size:10.3px!important}

/* Atalhos */
body.client-body .module-shortcuts{
    gap:10px!important;
    margin-bottom:16px!important;
}
body.client-body .module-shortcuts>a{
    min-height:80px!important;
    padding:13px 14px!important;
}
body.client-body .module-shortcuts strong{font-size:10.8px!important}
body.client-body .module-shortcuts small{font-size:9px!important}

/* Dashboard — proporções finais */
body.client-body .erp-dashboard{gap:15px!important}
body.client-body .dashboard-hero,
body.client-body .dashboard-hero.dashboard-hero-compact{
    padding-bottom:5px!important;
}
body.client-body .dashboard-hero-copy h1{
    font-size:26px!important;
    margin:3px 0 4px!important;
}
body.client-body .dashboard-hero-meta{font-size:10.2px!important}
body.client-body .dashboard-kpi-grid{gap:12px!important}
body.client-body .dashboard-kpi{
    min-height:118px!important;
    padding:15px 16px!important;
    gap:7px!important;
}
body.client-body .dashboard-kpi-top span{font-size:9.2px!important}
body.client-body .dashboard-kpi>strong{
    font-size:22px!important;
    margin:6px 0 2px!important;
}
body.client-body .dashboard-kpi>small{
    min-height:26px!important;
    font-size:9.2px!important;
}
body.client-body .dashboard-kpi>a{font-size:9px!important}
body.client-body .dashboard-main-grid{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr)!important;
    gap:13px!important;
}
body.client-body .dashboard-panel{padding:16px!important}
body.client-body .dashboard-panel-heading h2{font-size:14.5px!important}
body.client-body .dashboard-panel-heading p{font-size:9.5px!important}
body.client-body .dashboard-summary-row{
    min-height:72px!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
}
body.client-body .dashboard-summary-icon{
    width:34px!important;height:34px!important;
}
body.client-body .dashboard-summary-row small{font-size:8.5px!important}
body.client-body .dashboard-summary-row strong{font-size:14px!important}
body.client-body .dashboard-summary-row p{font-size:8.5px!important}
body.client-body .dashboard-operation-card{
    min-height:108px!important;
    padding:13px!important;
}
body.client-body .dashboard-operation-card>span{font-size:8.3px!important}
body.client-body .dashboard-operation-card>strong{font-size:18.5px!important}
body.client-body .dashboard-operation-card>small{font-size:8.5px!important}
body.client-body .dashboard-operation-card>a{font-size:8.5px!important}
body.client-body .dashboard-module-chips a,
body.client-body .dashboard-module-chips span{
    padding:7px 9px!important;
    font-size:9.2px!important;
}

/* Financeiro */
body[data-route="financeiro.index"] .financial-cards{gap:11px!important}
body[data-route="financeiro.index"] .financial-cards .metric-card{
    min-height:116px!important;
}
body.client-body .panel-grid.finance-panels{
    gap:13px!important;
    margin-top:13px!important;
}

/* Vendas / compras / estoque / serviços */
body[data-route^="vendas."] .panel,
body[data-route^="compras."] .panel,
body[data-route^="estoque."] .panel,
body[data-route^="cadastros."] .panel,
body[data-route^="servicos."] .panel,
body[data-route^="nota-fiscal."] .panel{
    margin-bottom:13px!important;
}
body.client-body .selection-count{font-size:9.5px!important}
body.client-body .selection-count strong{font-size:12px!important}

/* Workspaces e cadastros */
body.client-body .erp-page-heading h1{font-size:23px!important}
body.client-body .erp-page-heading p{font-size:10.5px!important}
body.client-body .erp-tabs a,body.client-body .product-tab{
    min-height:31px!important;
    padding:6px 10px!important;
    font-size:9.2px!important;
}
body.client-body .erp-summary-card{
    padding:13px 14px!important;
}
body.client-body .erp-summary-card strong{font-size:18px!important}
body.client-body .erp-summary-card span{font-size:9px!important}
body.client-body .erp-panel{padding:16px!important}

/* Serviços */
body.client-body .service-status-legend span{
    padding:6px 9px!important;
    font-size:8.5px!important;
}
body.client-body .service-actions a{font-size:9.2px!important}

/* PDV — hierarquia final */
body.client-body .pdv-screen{
    padding:14px 16px 72px!important;
}
body.client-body .pdv-hero h1{font-size:23px!important}
body.client-body .pdv-hero p{font-size:10px!important}
body.client-body .pdv-context-card{
    min-height:74px!important;
    padding:11px!important;
}
body.client-body .pdv-context-card strong{font-size:10.5px!important}
body.client-body .pdv-context-card span{font-size:8.5px!important}
body.client-body .pdv-layout{
    grid-template-columns:minmax(0,1.7fr) minmax(355px,.72fr)!important;
    gap:12px!important;
}
body.client-body .pdv-panel{border-radius:13px!important}
body.client-body .pdv-catalog-panel{padding:14px!important}
body.client-body .pdv-panel-head h2,
body.client-body .pdv-checkout-head h2{font-size:13.5px!important}
body.client-body .pdv-panel-head p,
body.client-body .pdv-checkout-head p{font-size:9px!important}
body.client-body .pdv-search-wrap{
    min-height:48px!important;
    margin:9px 0 7px!important;
    padding:0 12px!important;
}
body.client-body .pdv-search{min-height:46px!important;font-size:11.5px!important}
body.client-body .pdv-filter{
    min-height:31px!important;
    font-size:8.5px!important;
}
body.client-body .pdv-product-grid{
    gap:8px!important;
    max-height:calc(100vh - 272px)!important;
}
body.client-body .pdv-product{
    min-height:103px!important;
    padding:11px!important;
}
body.client-body .pdv-product-name{font-size:10.2px!important}
body.client-body .pdv-product-price{font-size:13.2px!important}
body.client-body .pdv-product small{font-size:8px!important}
body.client-body .pdv-checkout-panel{padding:14px!important}
body.client-body .pdv-cart-zone{
    min-height:112px!important;
    max-height:280px!important;
}
body.client-body .pdv-cart-zone .empty-state{
    min-height:112px!important;
    font-size:9.5px!important;
}
body.client-body .pdv-total-box{
    padding:13px 14px!important;
}
body.client-body .pdv-total-box strong{font-size:23px!important}
body.client-body .pdv-payment-methods{gap:6px!important}
body.client-body .pdv-payment-option span{
    min-height:36px!important;
    font-size:8.5px!important;
}
body.client-body .pdv-submit{
    min-height:44px!important;
    font-size:11px!important;
}

/* Posto */
body.client-body .posto-commandbar,
body.client-body .posto-pumps-panel,
body.client-body .posto-pending-panel{
    border-radius:13px!important;
}
body.client-body .posto-pumps-panel,
body.client-body .posto-pending-panel{padding:14px!important}

/* Painel JN */
body.jn-admin-body .jn-home-hero h1{font-size:25px!important}
body.jn-admin-body .jn-home-hero p{font-size:10.5px!important}
body.jn-admin-body .jn-shortcut-card{
    min-height:118px!important;
    padding:13px!important;
}
body.jn-admin-body .jn-shortcut-card strong{font-size:10.7px!important}
body.jn-admin-body .jn-shortcut-card p{font-size:8.7px!important}
body.jn-admin-body .jn-shortcut-card em{font-size:8.7px!important}

/* Busca global */
body.client-body .global-search-dialog{
    border:1px solid var(--jn-border)!important;
    border-radius:16px!important;
    box-shadow:0 28px 70px rgba(7,28,55,.22)!important;
}
body.client-body .global-search-help{font-size:9px!important}
body.client-body .global-search-item strong{font-size:10.5px!important}
body.client-body .global-search-item small{font-size:9px!important}

/* Responsive de fidelidade */
@media(max-width:1320px){
    body.client-body .content,body.jn-admin-body .content{padding:22px 24px 34px!important}
    body.client-body .dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    body.client-body .dashboard-kpi{padding:14px!important}
    body.client-body .dashboard-kpi>strong{font-size:20px!important}
}
@media(max-width:1160px){
    body.client-body .dashboard-kpi-grid,
    body.client-body .cards,body.jn-admin-body .cards,
    body.client-body .admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.client-body .pdv-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)!important}
}
@media(max-width:860px){
    body.client-body .content,body.jn-admin-body .content{padding:16px!important}
    body.client-body .page-heading h1,
    body.client-body .experience-heading h1,
    body.jn-admin-body .page-heading h1{font-size:22px!important}
}
