[hidden] { display: none !important; }





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


img, svg, video, canvas, iframe, embed, object {
    max-width: 100%;
    height: auto;
}


body { overflow-wrap: break-word; }


.tabela-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}


.grade > *, .flex > *, .page-body > *, .card, .page-section, .secao-conteudo {
    min-width: 0;
}


.card, .page-section, .modal, .pdv-modal, .alerta, .form-grade > .campo {
    max-width: 100%;
}


input, select, textarea { max-width: 100%; }


@media (pointer: coarse) {
    .btn, .pdv-forma, .pdv-tecla, .menu_item .link { min-height: 44px; }
}


html { min-width: 256px; }

:root {
    
    
    --marca-azul:          #062E62;
    
    --marca-azul-logo:     #042A5C;
    --marca-azul-escuro:   #04203f;
    --marca-azul-medio:    #0a4a99;
    --marca-azul-claro:    #2f78d4;
    --marca-amarelo:       #efd04a;
    --marca-amarelo-forte: #d9b62f;

    --primary:      var(--marca-azul);
    --primary-rgb:  6, 46, 98;
    --primary-5:    rgba(6, 46, 98, .05);
    --primary-10:   rgba(6, 46, 98, .10);
    --primary-20:   rgba(6, 46, 98, .20);

    
    --primary-hover: var(--marca-azul-medio);

    
    --page-bg:      #f1f4f9;
    --surface:      #ffffff;
    --surface-2:    #f7f9fc;
    --surface-3:    #eef2f8;
    --border:       #dde4ee;
    --border-forte: #c7d2e3;

    --sidebar-bg:      var(--marca-azul);
    --sidebar-bg-2:    var(--marca-azul-escuro);
    --sidebar-text:    rgba(255, 255, 255, .82);
    --sidebar-text-on: #ffffff;

    
    --text-base:      #10203a;
    --text-secondary: #44566f;
    --text-muted:     #7c8ca3;

    
    --sucesso:      #0f9d58;
    --sucesso-soft: rgba(15, 157, 88, .12);
    --perigo:       #dc3545;
    --perigo-soft:  rgba(220, 53, 69, .12);
    --aviso:        #e08c00;
    --aviso-soft:   rgba(224, 140, 0, .14);
    --info:         #1668c9;
    --info-soft:    rgba(22, 104, 201, .12);
    --neutro:       #64748b;
    --neutro-soft:  rgba(100, 116, 139, .12);

    
    
    --border-suave: #eef1f4;

    --radius-sm: 6px;
    --radius:    10px;
    --radius-lg: 16px;

    --shadow-xs: 0 1px 2px rgba(13, 43, 94, .06), 0 1px 3px rgba(13, 43, 94, .05);
    --shadow-sm: 0 4px 12px rgba(13, 43, 94, .08);
    --shadow-md: 0 10px 28px rgba(13, 43, 94, .12);
    --shadow-lg: 0 20px 48px rgba(13, 43, 94, .18);

    --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
    --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;

    --font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', 'Consolas', 'DM Mono', monospace;
    --ease: cubic-bezier(.4, 0, .2, 1);

    
    --sidebar-w:         262px;
    --sidebar-compact-w: 76px;
    --header-h:          62px;
    --transition:        .28s cubic-bezier(.4, 0, .2, 1);

    
    
    --sb-bg:      var(--marca-azul-logo);
    --sb-bg-2:    var(--marca-azul-escuro);
    --sb-border:  rgba(255, 255, 255, .08);
    --sb-txt:     rgba(255, 255, 255, .62);
    --sb-txt-dim: rgba(255, 255, 255, .34);
    --sb-hover:   rgba(255, 255, 255, .07);

    --accent:        var(--marca-amarelo);
    --accent-dim:    rgba(239, 208, 74, .13);
    --accent-border: rgba(239, 208, 74, .35);
    --red:           #e5484d;
    --red-dim:       rgba(229, 72, 77, .12);
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    background: var(--page-bg);
    color: var(--text-base);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}


a { color: var(--primary); text-decoration: none; }

a:hover { color: var(--primary-hover); }

a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 3px;
}

h1, h2, h3, h4 { margin: 0 0 var(--sp-3); font-weight: 700; letter-spacing: -.2px; line-height: 1.25; }
h1 { font-size: 22px; }
h2 { font-size: 18px; }
h3 { font-size: 15px; }




body.tem-sidebar {
    padding-left: var(--sidebar-w);
    transition: padding-left var(--transition);
}

body.tem-sidebar.sidebar-compact { padding-left: var(--sidebar-compact-w); }

.flex-linha { display: flex; align-items: center; }

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: var(--sidebar-w);
    
    background: var(--sb-bg);
    padding: 16px 12px;
    border-right: 1px solid var(--sb-border);
    transition: all .4s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    z-index: 1000;
}

.sidebar.close { width: var(--sidebar-compact-w); }



.logo_items {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    justify-content: space-between;
    flex-shrink: 0;
}


.brand_lockup {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    text-decoration: none;
}
.brand_lockup:hover { text-decoration: none; }


.nav_image { display: flex; min-width: 52px; justify-content: center; }
.brand_lockup .nav_image { width: 100%; }


.brand-logo {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.brand-logo-completo { max-width: 200px; }
.brand-logo-compacto { display: none; max-width: 52px; }

.logo_name strong { color: var(--accent); font-weight: 800; }

#lock-icon {
    background: none;
    border: 0;
    padding: 9px;
    color: var(--accent);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, opacity .3s ease;
}
#lock-icon:hover { background: var(--sb-hover); }
#lock-icon i { font-size: 15px; }

.sidebar-mobile-close,
.sidebar-backdrop { display: none; }


.sidebar.close .brand-logo-completo { display: none; }

.sidebar.close .brand-logo-compacto { display: block; }



.menu_container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 18px;
    overflow: hidden;
    flex: 1;
    min-height: 0;
}

.menu_items {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}
.menu_items::-webkit-scrollbar { display: none; }
.menu_items { scrollbar-width: none; }

.menu_item { list-style: none; margin: 0; padding: 0; }

.menu_title {
    position: relative;
    height: 44px;
    width: 52px;
    display: flex;
    align-items: center;
}

.menu_title .title {
    margin-left: 14px;
    color: var(--sb-txt-dim);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: opacity .3s ease;
}

.menu_title .line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 3px;
    width: 18px;
    border-radius: 25px;
    background: var(--sb-txt-dim);
    opacity: 0;
    transition: opacity .3s ease;
}

.sidebar.close .menu_title .title { opacity: 0; }
.sidebar.close .menu_title .line { opacity: 1; }

.item { list-style: none; }

.link {
    display: flex;
    align-items: center;
    border-radius: var(--radius);
    margin-bottom: 6px;
    color: var(--sb-txt);
    min-height: 46px;
    font-size: .9rem;
    font-weight: 500;
    transition: background .2s ease, color .2s ease;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
}


.link:hover {
    color: var(--marca-amarelo);
    background: var(--accent-dim);
    text-decoration: none;
}
.link:hover .link-icon { color: var(--marca-amarelo); }

.link.active {
    color: var(--marca-azul-escuro);
    background: var(--accent);
    font-weight: 700;
}

.link .link-icon {
    height: 46px;
    min-width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}
.link .link-icon i { font-size: 16px; }

.nav-badge {
    margin-left: auto;
    margin-right: 12px;
    background: var(--red);
    color: #fff;
    font-size: .64rem;
    font-weight: 800;
    border-radius: 99px;
    min-width: 20px;
    padding: 1px 6px;
    text-align: center;
    line-height: 1.6;
    flex-shrink: 0;
}
.link.active .nav-badge { background: #fff; color: var(--red); }


.link-dot {
    position: absolute;
    top: 9px;
    right: 11px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--red);
    border: 2px solid var(--sb-bg);
    opacity: 0;
    transition: opacity .2s ease;
}
.sidebar.close .link-dot { opacity: 1; }
.sidebar.close .nav-badge { opacity: 0; width: 0; padding: 0; margin: 0; overflow: hidden; }

.link span:not(.link-icon) { transition: opacity .2s ease; }

.sidebar.close .link span:not(.link-icon),
.sidebar.close .data_text {
    opacity: 0;
    pointer-events: none;
}


.menu-direto { padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--sb-border); }
.menu-modulo { margin-bottom: 4px; }
.menu-modulo-botao {
    width: 100%; border: 0; padding: 0 12px 0 0; margin-bottom: 0;
    background: transparent; text-align: left; font-family: inherit; cursor: pointer;
}
.menu-modulo-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.menu-modulo-seta { margin-left: 8px; font-size: 10px; opacity: .65; transition: transform .18s ease; }
.menu-modulo-botao[aria-expanded="true"] { background: var(--sb-hover); color: #fff; }
.menu-modulo-botao[aria-expanded="true"] .menu-modulo-seta { transform: rotate(180deg); }
.menu-modulo-botao.modulo-ativo { color: var(--accent); }
.menu-modulo-botao:focus-visible,
.menu-subitens .link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.menu-modulo-titulo { display: none; }
.menu-subitens { padding: 6px 0 6px 25px; }
.menu-subitens > .item { position: relative; border-left: 1px solid var(--sb-border); padding-left: 12px; }
.menu-subitens > .item::before {
    content: ''; position: absolute; left: 0; top: 19px;
    width: 9px; height: 1px; background: var(--sb-border);
}
.menu-subitens .link {
    min-height: 38px; padding: 8px 10px; margin-bottom: 2px;
    border-radius: 6px; font-size: .82rem; line-height: 1.4; white-space: normal;
}
.menu-subitens .link-icon { display: none; }
.menu-modulo-painel[hidden] { display: none !important; }
.sidebar-flyout {
    position: fixed; z-index: 1100; width: 252px; max-width: calc(100vw - 100px);
    max-height: calc(100dvh - 16px); overflow: auto; overscroll-behavior: contain;
    padding: 10px 10px 8px; border: 1px solid var(--sb-border); border-radius: 10px;
    background: var(--sb-bg); color: var(--sb-txt);
    box-shadow: 0 10px 26px rgba(8, 29, 67, .22);
}
.sidebar-flyout .menu-modulo-titulo {
    display: block; padding: 6px 12px 10px;
    color: #fff; font-size: .88rem; font-weight: 600;
}
.sidebar-flyout .menu-subitens { padding: 0 0 0 10px; }
@media (min-width: 801px) {
    .sidebar.close .brand_lockup { flex: none; width: 52px; }
    .sidebar.close #lock-icon { display: none; }
    .sidebar.close .menu-modulo-botao { padding: 0; }
    .sidebar.close .menu-modulo-nome, .sidebar.close .menu-modulo-seta { display: none; }
}



.sidebar_footer {
    padding-top: 10px;
    margin-top: 12px;
    border-top: 1px solid var(--sb-border);
    overflow: hidden;
    flex-shrink: 0;
}

.logout_form { width: 100%; }

.logout_link {
    background: none;
    border: 0;
    width: 100%;
    text-align: left;
    margin-bottom: 4px;
    cursor: pointer;
    font-family: inherit;
}
.logout_link:hover { background: var(--red-dim); color: #f87171; }


.sidebar_profile {
    display: flex; align-items: center; gap: 0;
    overflow: hidden; min-width: 0;
    padding: 6px; margin: -6px;
    border-radius: 10px;
    text-decoration: none; color: inherit;
    transition: background .18s var(--ease);
}
.sidebar_profile:hover,
.sidebar_profile:focus-visible {
    background: rgba(255, 255, 255, .09);
    text-decoration: none; color: inherit;
}
.sidebar_profile:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

.sidebar-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--accent-dim);
    border: 1.5px solid var(--accent-border);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .9rem;
    flex-shrink: 0;
}

.sidebar_profile .data_text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: opacity .2s ease;
}

.sidebar_profile .name {
    font-size: .88rem;
    color: #fff;
    font-weight: 600;
    max-width: 128px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar_profile .role { font-size: .72rem; color: var(--sb-txt); white-space: nowrap; }



.main-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.topbar {
    height: var(--header-h);
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: 0 var(--sp-6);
    position: sticky;
    top: 0;
    z-index: 30;
    box-shadow: var(--shadow-xs);
}

.topbar-toggle {
    display: none;
    background: none;
    border: 0;
    cursor: pointer;
    font-size: 18px;
    color: var(--text-secondary);
    padding: 6px;
}

.seletor-unidade { position: relative; }
.seletor-unidade select {
    appearance: none;
    background: var(--surface-2) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%2344566f' d='M6 8L2 4h8z'/%3E%3C/svg%3E") no-repeat right 10px center;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 7px 30px 7px 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-base);
    font-family: inherit;
    cursor: pointer;
    max-width: 280px;
}
.seletor-unidade select:focus { outline: 2px solid var(--primary-20); border-color: var(--primary); }

.topbar-espaco { flex: 1; }

.topbar-usuario { display: flex; align-items: center; gap: var(--sp-3); }
.usuario-avatar {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--marca-azul); color: #fff;
    display: grid; place-items: center;
    font-weight: 700; font-size: 13px; flex-shrink: 0;
}
.usuario-info { line-height: 1.2; }
.usuario-nome { font-size: 13px; font-weight: 600; }
.usuario-perfil { font-size: 11px; color: var(--text-muted); }

.app-conteudo { padding: var(--sp-6); flex: 1; }







.card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-xs);
    margin-bottom: var(--sp-5);
    overflow: hidden;
}
.card-cabecalho {
    padding: var(--sp-4) var(--sp-5);
    border-bottom: 1px solid var(--border);
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
    background: var(--surface-2);
    flex-wrap: wrap;
}
.card-titulo { font-size: 14px; font-weight: 700; margin: 0; }
.card-corpo { padding: var(--sp-5); }
.card-corpo.sem-padding { padding: 0; }

.grade { display: grid; gap: var(--sp-4); }
.grade-2 { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.grade-3 { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.grade-4 { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }









.tabela-wrap { overflow-x: auto; }

table.tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
table.tabela th {
    text-align: left;   
    padding: 10px var(--sp-4);
    background: var(--surface-2);
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-secondary);
    white-space: nowrap;
}
table.tabela td {
    padding: 10px var(--sp-4);
    border-bottom: 1px solid var(--surface-3);
    vertical-align: middle;
}


table.tabela th.num,
table.tabela td.num,
table.tabela th.texto-direita,
table.tabela td.texto-direita { text-align: right; }

table.tabela th.texto-centro,
table.tabela td.texto-centro { text-align: center; }
table.tabela tbody tr:hover { background: var(--primary-5); }
table.tabela tbody tr:last-child td { border-bottom: 0; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mono { font-family: var(--font-mono); font-size: 12px; }

.vazio {
    padding: var(--sp-10) var(--sp-5);
    text-align: center;
    color: var(--text-muted);
}
.vazio .vazio-ico { font-size: 30px; opacity: .35; display: block; margin-bottom: var(--sp-3); }



.badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}
.badge-sucesso { background: var(--sucesso-soft); color: var(--sucesso); }
.badge-perigo  { background: var(--perigo-soft);  color: var(--perigo); }
.badge-aviso   { background: var(--aviso-soft);   color: var(--aviso); }
.badge-info    { background: var(--info-soft);    color: var(--info); }
.badge-neutro  { background: var(--neutro-soft);  color: var(--neutro); }
.badge-marca   { background: rgba(239, 208, 74, .22); color: #8a6d00; }

.chip-tipo {
    display: inline-block; padding: 2px 8px; border-radius: var(--radius-sm);
    font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px;
}
.chip-matriz { background: var(--marca-azul); color: #fff; }
.chip-cdi    { background: var(--marca-amarelo); color: #4a3c00; }
.chip-filial { background: var(--info-soft); color: var(--info); }



.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s var(--ease);
    white-space: nowrap;
    text-decoration: none;
    line-height: 1.4;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.btn:active { transform: translateY(0); }
.btn:disabled, .btn.desabilitado { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }

.btn-primario   { background: var(--primary); color: #fff; }
.btn-primario:hover { background: #12407f; color: #fff; }
.btn-marca      { background: var(--marca-amarelo); color: #4a3c00; }
.btn-marca:hover { background: var(--marca-amarelo-forte); color: #3b2f00; }
.btn-secundario { background: var(--surface); color: var(--text-secondary); border-color: var(--border-forte); }
.btn-secundario:hover { background: var(--surface-2); color: var(--text-base); }
.btn-perigo     { background: var(--perigo); color: #fff; }
.btn-perigo:hover { background: #b52d3a; color: #fff; }
.btn-sucesso    { background: var(--sucesso); color: #fff; }
.btn-sucesso:hover { background: #0b7f46; color: #fff; }
.btn-pequeno    { padding: 5px 11px; font-size: 12px; }
.btn-bloco      { width: 100%; }

.acoes-linha { display: flex; gap: 6px; justify-content: flex-end; }



.form-grade { display: grid; gap: 16px; grid-template-columns: repeat(12, 1fr); }
.canais-form-novo { align-items: end; }
.canais-coluna-id { width: 80px; }
.canais-form-edicao { display: flex; gap: 10px; align-items: center; }
.canais-form-edicao > input[type="text"] { min-width: 190px; flex: 1 1 240px; }
.canais-status-edicao { white-space: nowrap; }
.campo { display: flex; flex-direction: column; gap: 5px; grid-column: span 12; }
.c-2 { grid-column: span 2; } .c-3 { grid-column: span 3; } .c-4 { grid-column: span 4; }
.c-5 { grid-column: span 5; } .c-6 { grid-column: span 6; } .c-8 { grid-column: span 8; }
.c-9 { grid-column: span 9; } .c-12 { grid-column: span 12; }

.campo label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
}
.campo label .obrig { color: var(--perigo); }

.campo input:not([type]), .campo input[type="text"], .campo input[type="password"], .campo input[type="number"],
.campo input[type="email"], .campo input[type="date"], .campo input[type="datetime-local"],
.campo input[type="tel"], .campo input[type="search"], .campo input[type="url"],
.campo input[type="time"], .campo input[type="month"], .campo input[type="week"],
.campo input[type="file"], .campo select, .campo textarea {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--border-forte);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-base);
    background: var(--surface);
    transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.campo textarea { min-height: 80px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-10);
}
.campo input:disabled, .campo select:disabled { background: var(--surface-3); color: var(--text-muted); }
.campo .ajuda { font-size: 11.5px; color: var(--text-muted); }
.campo .erro-campo { font-size: 11.5px; color: var(--perigo); font-weight: 600; }
.campo.tem-erro input, .campo.tem-erro select, .campo.tem-erro textarea { border-color: var(--perigo); }

.form-acoes {
    display: flex; gap: var(--sp-3); justify-content: flex-end;
    padding-top: var(--sp-4); margin-top: var(--sp-4);
    border-top: 1px solid var(--border);
}

.check-linha { display: flex; align-items: center; gap: 8px; }
.campo > .check-linha { min-height: 40px; }
.check-linha input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--primary); cursor: pointer; }
.check-linha label { font-size: 13px; font-weight: 500; color: var(--text-base); cursor: pointer; }


.page-container form:not(.filtros) .campo > label {
    font-size: 11.5px;
    font-weight: 700;
}

.page-container form:not(.filtros) .btn {
    min-height: 36px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 700;
}

.page-container form:not(.filtros) .form-acoes {
    gap: 10px;
}

.filtros {
    display: flex; gap: var(--sp-3); align-items: flex-end; flex-wrap: wrap;
    padding: var(--sp-4) var(--sp-5);
    background: var(--surface-2);
    border-bottom: 1px solid var(--border);
}
.filtros .campo { flex: 1 1 170px; grid-column: auto; min-width: 150px; }



.alerta {
    display: flex; align-items: flex-start; gap: var(--sp-3);
    padding: 11px var(--sp-4);
    border-radius: var(--radius-sm);
    margin-bottom: var(--sp-4);
    font-size: 13px;
    font-weight: 500;
    border-left: 4px solid;
}
.alerta-sucesso { background: var(--sucesso-soft); color: #0a6b3c; border-color: var(--sucesso); }
.alerta-erro    { background: var(--perigo-soft);  color: #9b2530; border-color: var(--perigo); }
.alerta-aviso   { background: var(--aviso-soft);   color: #8a5600; border-color: var(--aviso); }
.alerta-info    { background: var(--info-soft);    color: #10508f; border-color: var(--info); }



.paginacao {
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-5);
    border-top: 1px solid var(--border);
    background: var(--surface-2);
    font-size: 12.5px;
    color: var(--text-muted);
    flex-wrap: wrap;
}
.paginacao-links { display: flex; gap: 4px; }
.paginacao-links a, .paginacao-links span {
    padding: 5px 10px;
    border: 1px solid var(--border-forte);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-secondary);
    font-weight: 600;
}
.paginacao-links a:hover { background: var(--primary-5); border-color: var(--primary); text-decoration: none; }
.paginacao-links .atual { background: var(--primary); color: #fff; border-color: var(--primary); }



.modal-fundo {
    position: fixed; inset: 0; z-index: 100;
    background: rgba(8, 29, 67, .55);
    display: none; align-items: center; justify-content: center;
    padding: var(--sp-5);
    backdrop-filter: blur(2px);
}
.modal-fundo.aberto { display: flex; }
.modal {
    background: var(--surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    width: 100%; max-width: 620px;
    max-height: 90vh; display: flex; flex-direction: column;
    overflow: hidden;
    animation: modalEntra .2s var(--ease);
}
.modal > form {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    max-height: inherit;
}
.modal-grande { max-width: 900px; }
@keyframes modalEntra { from { opacity: 0; transform: translateY(-14px) scale(.98); } to { opacity: 1; transform: none; } }
.modal-cabecalho {
    padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--border);
    display: flex; align-items: center; justify-content: space-between;
    flex: 0 0 auto;
}
.modal-corpo { padding: var(--sp-5); overflow-y: auto; flex: 1 1 auto; min-height: 0; }
.modal-rodape { padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--border); display: flex; gap: var(--sp-3); justify-content: flex-end; flex: 0 0 auto; }
.modal-fechar { background: none; border: 0; font-size: 22px; line-height: 1; cursor: pointer; color: var(--text-muted); }



.texto-mudo { color: var(--text-muted); }
.texto-secundario {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.55;
}
.texto-perigo { color: var(--perigo); }
.texto-sucesso { color: var(--sucesso); }
.texto-forte { font-weight: 700; }
.texto-pequeno { font-size: 12px; }
.texto-centro { text-align: center; }
.texto-direita { text-align: right; }
.oculto { display: none !important; }
.mt-0 { margin-top: 0; } .mt-2 { margin-top: var(--sp-2); } .mt-4 { margin-top: var(--sp-4); }
.mb-0 { margin-bottom: 0; }
.mb-3 { margin-bottom: var(--sp-3); } .mb-4 { margin-bottom: var(--sp-4); } .mb-5 { margin-bottom: var(--sp-5); }
.flex { display: flex; } .flex-entre { justify-content: space-between; } .flex-centro { align-items: center; }
.gap-2 { gap: var(--sp-2); } .gap-3 { gap: var(--sp-3); } .gap-4 { gap: var(--sp-4); }
.largura-total { width: 100%; }


.passo-a-passo {
    display: grid;
    gap: var(--sp-3);
    margin: 0;
    padding-left: 20px;
    color: var(--text-base);
    font-size: 13px;
    line-height: 1.5;
}
.passo-a-passo li { padding-left: 3px; }
.passo-a-passo li::marker { color: var(--text-muted); font-weight: 700; }
.passo-a-passo p { margin: 3px 0 0; line-height: 1.5; }

.ajuda-instalacoes-page .ajuda-problema-coluna { width: 38%; }
.fiscal-notas-recebidas-page .coluna-acao { width: 44px; }
.fiscal-notas-recebidas-page .abas + .page-section {
    margin-top: var(--sp-5);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--border-suave, var(--border));
}




@media (max-width: 800px) {
    body,
    body.sidebar-compact,
    body.tem-sidebar,
    body.tem-sidebar.sidebar-compact { padding-left: 0; }

    body.sidebar-mobile-open { overflow: hidden; }

    .sidebar,
    .sidebar.close {
        left: 0;
        width: min(88vw, 330px);
        padding: 16px 12px;
        transform: translateX(-105%);
        box-shadow: 18px 0 42px rgba(8, 29, 67, .32);
        transition: transform var(--transition);
    }

    .sidebar.mobile-open,
    .sidebar.close.mobile-open { transform: translateX(0); }

    .logo_items { width: 100%; justify-content: space-between; }
    .brand_lockup { width: auto; justify-content: flex-start; }
    .nav_image { width: auto; min-width: 52px; justify-content: center; }
    .sidebar.close .brand-logo-completo { display: block; }
    .sidebar.close .brand-logo-compacto { display: none; }

    
    .logo_name,
    .menu_title .title,
    .link span:not(.link-icon),
    .data_text,
    .sidebar.close .menu_title .title,
    .sidebar.close .link span:not(.link-icon),
    .sidebar.close .data_text { opacity: 1; pointer-events: auto; width: auto; overflow: visible; }

    .sidebar.close .menu_title .line { opacity: 0; }
    .sidebar.close .link-dot { opacity: 0; }
    .sidebar.close .nav-badge { opacity: 1; width: auto; padding: 1px 6px; margin-left: auto; margin-right: 12px; }

    #lock-icon { display: none; }

    .sidebar-mobile-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        border: 0;
        border-radius: 9px;
        background: var(--sb-hover);
        color: #fff;
        cursor: pointer;
        font-size: 16px;
    }

    .sidebar-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        border: 0;
        padding: 0;
        background: rgba(8, 29, 67, .55);
        z-index: 999;
        cursor: pointer;
    }
    .sidebar-backdrop[hidden] { display: none; }

    .topbar-toggle { display: block; }
    .app-conteudo { padding: var(--sp-4); }
}

@media (max-width: 640px) {
    .form-grade > .campo { grid-column: span 12 !important; }
    .usuario-info { display: none; }
    .canais-form-edicao { min-width: 390px; }
}

@media print {
    .sidebar, .topbar, .pagina-acoes, .form-acoes, .paginacao,
    .sidebar-backdrop { display: none !important; }

    body, body.sidebar-compact { padding-left: 0; }
    .card { box-shadow: none; border-color: #ccc; }
    body { background: #fff; }
}


.produto-imagem-linha { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }

.produto-imagem-previa {
    width: 148px; height: 148px; flex: 0 0 148px;
    border: 1px dashed var(--border); border-radius: 10px;
    background: var(--surface-3);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.produto-imagem-previa img { width: 100%; height: 100%; object-fit: contain; }
.produto-imagem-vazia { font-size: 34px; color: var(--text-muted); opacity: .5; }

.produto-imagem-controles { flex: 1 1 280px; min-width: 260px; }
.produto-imagem-controles input[type="file"] {
    width: 100%; padding: 7px 10px;
    border: 1px solid var(--border); border-radius: 8px;
    background: var(--surface-2); color: var(--text-base);
}


.produto-miniatura {
    width: 38px; height: 38px; border-radius: 6px; object-fit: cover;
    background: var(--surface-3); border: 1px solid var(--border);
}
.produto-miniatura-vazia {
    width: 38px; height: 38px; border-radius: 6px;
    background: var(--surface-3); border: 1px dashed var(--border);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--text-muted); opacity: .45; font-size: 13px;
}


.cracha-foto-mini {
    width: 34px; height: 34px; border-radius: 50%; object-fit: cover;
    border: 1px solid var(--border); background: var(--surface-3);
}
.cracha-foto-mini.vazia {
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--text-muted); opacity: .45; font-size: 13px;
    border-style: dashed;
}


.cracha-opcao {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px; margin-bottom: 8px;
    border: 1px solid var(--border); border-radius: 10px;
    cursor: pointer; transition: border-color .12s, background .12s;
}
.cracha-opcao:hover { border-color: var(--primary); }
.cracha-opcao.escolhida { border-color: var(--marca-azul); background: var(--primary-10); }
.cracha-opcao input { margin-top: 3px; flex: none; }
.cracha-opcao > span:last-child { display: flex; flex-direction: column; gap: 3px; }

.cracha-opcao-arte { display: flex; gap: 3px; flex: none; align-items: center; }
.cracha-opcao-arte .peca {
    display: block; border: 1px solid var(--border); border-radius: 3px;
    background: var(--surface-3);
}
.cracha-opcao-arte.vertical .peca { width: 17px; height: 27px; }
.cracha-opcao-arte.horizontal .peca { width: 27px; height: 17px; }
.cracha-opcao.escolhida .cracha-opcao-arte .peca {
    border-color: var(--marca-azul); background: var(--marca-azul);
}


.abas { margin-top: 18px; }

.abas-nav {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid var(--border);
    margin-bottom: 18px;
    overflow-x: auto;
    scrollbar-width: none;
}
.abas-nav::-webkit-scrollbar { display: none; }

.aba-botao {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    color: var(--text-secondary);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: color .2s, border-color .2s;
}
.aba-botao:hover { color: var(--text-base); }
.aba-botao.ativa { color: var(--marca-azul); border-bottom-color: var(--marca-azul); }

.aba-contador {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px;
    border-radius: 10px; background: var(--surface-3);
    font-size: 11px; font-weight: 800;
}
.aba-botao.ativa .aba-contador { background: var(--primary-10); color: var(--marca-azul); }

.aba-painel[hidden] { display: none; }

.aba-painel-cabecalho { margin-bottom: 18px; }
.aba-painel-cabecalho h2 { font-size: 17px; margin-bottom: 3px; }
.aba-painel-cabecalho p { font-size: 13px; color: var(--text-secondary); }



.loja-seletor { position: relative; padding: 0 14px 12px; }

.loja-seletor__rotulo {
    display: block; margin-bottom: 6px;
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .8px; color: var(--sb-txt-dim, #93a3b8);
}



.loja-seletor__gatilho {
    width: 100%;
    display: flex; align-items: center; gap: 10px;
    padding: 9px 10px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    color: #fff; font-family: inherit; text-align: left;
    cursor: pointer;
    transition: background .18s var(--ease), border-color .18s var(--ease);
}
.loja-seletor__gatilho:hover {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .22);
}
.loja-seletor__gatilho:focus-visible {
    outline: 2px solid var(--marca-amarelo);
    outline-offset: 2px;
}


.loja-seletor__texto {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; line-height: 1.25;
}
.loja-seletor__titulo {
    font-size: 13.5px; font-weight: 700;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.loja-seletor__sub {
    font-size: 11px; color: var(--sb-txt-dim, #93a3b8);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.loja-seletor__icones {
    flex: none; display: flex; align-items: center; gap: 7px;
    color: var(--sb-txt-dim, #93a3b8); font-size: 11px;
}
.loja-seletor__chevron { transition: transform .2s var(--ease); }
.loja-seletor[aria-expanded="true"] .loja-seletor__chevron,
.loja-seletor.is-aberto .loja-seletor__chevron { transform: rotate(180deg); }


.loja-seletor.is-trocando .loja-seletor__sync {
    animation: lojaGirando .8s linear infinite;
}
@keyframes lojaGirando { to { transform: rotate(360deg); } }



.loja-avatar {
    flex: none;
    width: 34px; height: 34px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--marca-amarelo, #f59e0b);
    color: #3b2f00;
    font-size: 12px; font-weight: 800; letter-spacing: -.3px;
}
.loja-avatar--todas { background: rgba(255, 255, 255, .16); color: #fff; }
.loja-avatar--cdi   { background: #64748b; color: #fff; }



.loja-menu {
    position: absolute;
    top: calc(100% - 6px); left: 14px; right: 14px;
    z-index: 60;
    padding: 6px;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(4, 16, 40, .28);

    display: flex; flex-direction: column; gap: 2px;
    max-height: 320px; overflow-y: auto;
}
.loja-menu[hidden] { display: none; }

.loja-menu__item {
    width: 100%;
    display: flex; align-items: center; gap: 10px;
    padding: 8px 9px;
    background: transparent; border: 0; border-radius: 9px;
    color: var(--text-base); font-family: inherit; text-align: left;
    cursor: pointer;
    transition: background .15s var(--ease);
}
.loja-menu__item:hover { background: var(--surface-3, #f1f5f9); }
.loja-menu__item:focus-visible { outline: 2px solid var(--marca-azul); outline-offset: -2px; }


.loja-menu__item.is-ativa { background: #fef3c7; }
.loja-menu__item.is-ativa:hover { background: #fde68a; }

.loja-menu__texto { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.loja-menu__titulo {
    font-size: 13px; font-weight: 700;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.loja-menu__sub {
    font-size: 11px; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.loja-badge {
    flex: none;
    padding: 2px 7px; border-radius: 999px;
    font-size: 9px; font-weight: 800; letter-spacing: .5px;
}
.loja-badge--ativa   { background: #dcfce7; color: #166534; }
.loja-badge--inativa { background: var(--surface-3, #e2e8f0); color: var(--text-muted); }
.loja-badge--grupo   { background: #dbeafe; color: #1e40af; }


.sidebar.close .loja-seletor,
.sidebar.hoverable:not(:hover) .loja-seletor { display: none; }

@media (prefers-reduced-motion: reduce) {
    .loja-seletor__chevron,
    .loja-seletor__gatilho,
    .loja-menu__item { transition: none; }
    .loja-seletor.is-trocando .loja-seletor__sync { animation: none; }
}



.mobile-app-nav { display: none; }

@media (max-width: 800px) {
    .mobile-app-nav {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        display: flex; justify-content: space-around; align-items: stretch;
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
        background: var(--surface);
        border-top: 1px solid var(--border);
        box-shadow: 0 -2px 14px rgba(0,0,0,.08);
    }

    .mobile-app-nav-item {
        flex: 1;
        display: flex; flex-direction: column; align-items: center; gap: 3px;
        padding: 6px 2px;
        border: 0; background: none;
        color: var(--text-secondary);
        font-family: inherit; font-size: 10px; font-weight: 700;
        text-decoration: none; cursor: pointer;
    }
    .mobile-app-nav-item i { font-size: 17px; }
    .mobile-app-nav-item.active { color: var(--marca-azul); }

    .mobile-app-nav-create .mobile-app-nav-plus {
        display: flex; align-items: center; justify-content: center;
        width: 40px; height: 40px; margin-top: -14px;
        border-radius: 50%;
        background: var(--marca-azul); color: #fff;
        box-shadow: 0 3px 10px rgba(6, 46, 98, .35);
    }
    .mobile-app-nav-create .mobile-app-nav-plus i { font-size: 17px; }

    
    .app-conteudo { padding-bottom: 74px; }
}



.page-container {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-xs);
    overflow: hidden;
    margin-bottom: var(--sp-5);
}



.page-header {
    padding: var(--sp-5) var(--sp-6);
    border-bottom: 1px solid var(--border-suave, var(--border));
}

.page-header-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-4);
    flex-wrap: wrap;
}

.page-eyebrow {
    display: block;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 4px;
}

.page-title { font-size: 20px; font-weight: 800; margin: 0; letter-spacing: -.3px; }
.page-subtitle { font-size: 13px; color: var(--text-muted); margin: 3px 0 0; max-width: 70ch; }

.page-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; }



.page-tabs {
    padding: 0 var(--sp-6);
    border-bottom: 1px solid var(--border-suave, var(--border));
    background: var(--surface-2);
}


.page-tabs .abas-nav { border-bottom: 0; margin-bottom: 0; }
.page-tabs .abas { margin-top: 0; }



.page-toolbar {
    padding: var(--sp-4) var(--sp-6);
    border-bottom: 1px solid var(--border-suave, var(--border));
    background: var(--surface-2);
}

.page-toolbar .filtros { margin: 0; }



.page-body { padding: var(--sp-5) var(--sp-6); }


.page-body.sem-padding { padding: 0; }
.page-body > .tabela-wrap:only-child { margin: 0 calc(var(--sp-6) * -1) calc(var(--sp-5) * -1); }



.page-section { }

.page-section + .page-section {
    border-top: 1px solid var(--border-suave, var(--border));
    padding-top: var(--sp-5);
    margin-top: var(--sp-5);
}


.page-section-apartada {
    margin-top: var(--sp-6);
    padding-top: var(--sp-5);
    border-top: 2px solid var(--border);
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    flex-wrap: wrap;
    margin-bottom: var(--sp-4);
}
.section-header h2,
.section-title { font-size: 14px; font-weight: 700; margin: 0; }
.section-header .texto-pequeno { margin: 0; }
.section-subtitle {
    margin: 3px 0 0;
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.45;
}



.page-footer {
    padding: var(--sp-4) var(--sp-6);
    border-top: 1px solid var(--border-suave, var(--border));
    background: var(--surface-2);
    display: flex;
    gap: var(--sp-3);
    justify-content: flex-end;
    flex-wrap: wrap;
}



.page-body > .grade,
.page-section > .grade { margin-bottom: var(--sp-5); }
.page-section > .grade:last-child { margin-bottom: 0; }



@media (max-width: 900px) {
    .page-header  { padding: var(--sp-4) var(--sp-4); }
    .page-tabs    { padding: 0 var(--sp-4); }
    .page-toolbar { padding: var(--sp-3) var(--sp-4); }
    .page-body    { padding: var(--sp-4); }
    .page-footer  { padding: var(--sp-3) var(--sp-4); }

    .page-body > .tabela-wrap:only-child {
        margin: 0 calc(var(--sp-4) * -1) calc(var(--sp-4) * -1);
    }

    
    .page-header-content { flex-direction: column; align-items: stretch; }
    .page-actions { width: 100%; }
    .page-actions .btn { flex: 1 1 auto; justify-content: center; }

    .page-title { font-size: 18px; }
}

@media (max-width: 600px) {
    .page-container { border-radius: 12px; }
    .form-grade { grid-template-columns: 1fr; }
    .form-grade > [class*="c-"] { grid-column: 1 / -1; }
}


.page-body > .card,
.page-section > .card {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: visible;
}

.page-body > .card + .card,
.page-body > .card + .page-section,
.page-body > .page-section + .card {
    border-top: 1px solid var(--border-suave);
    padding-top: var(--sp-5);
    margin-top: var(--sp-5);
}


.page-body > .card > .card-cabecalho,
.page-body > .page-section > .section-header {
    background: none;
    border-bottom: 0;
    padding: 0 0 var(--sp-3);
}


.page-body > .card > .card-corpo,
.page-body > .page-section > .secao-conteudo { padding: 0; }


.page-body > .card.mb-4 { margin-bottom: var(--sp-4); }
.grade > .card { min-width: 0; }
.sessao-detalhe-secoes { display: grid; gap: var(--sp-5); min-width: 0; }
.sessao-detalhe-secoes > .card { min-width: 0; }
.sessao-resumo-pagamentos { width: 100%; max-width: 640px; }
.caixa-detalhe-linha { display: block; margin-top: 4px; color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.caixa-data { white-space: nowrap; }
.tabela-movimentos-caixa { min-width: 760px; }
.sessao-detalhe-secoes .card-cabecalho p { margin: 6px 0 0; }
.sessao-detalhe .grade-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1200px) { .sessao-detalhe .grade-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sessao-detalhe .grade-4 { grid-template-columns: minmax(0, 1fr); } }

.page-body > .card > .card-corpo.sem-padding,
.page-body > .page-section > .secao-conteudo { padding: 0; }

.page-body > .tabela-wrap {
    margin-left: calc(var(--sp-6) * -1);
    margin-right: calc(var(--sp-6) * -1);
}
.page-body .tabela-wrap table.tabela th:first-child,
.page-body .tabela-wrap table.tabela td:first-child { padding-left: var(--sp-6); }
.page-body .tabela-wrap table.tabela th:last-child,
.page-body .tabela-wrap table.tabela td:last-child { padding-right: var(--sp-6); }

@media (max-width: 900px) {
    .page-body > .tabela-wrap {
        margin-left: calc(var(--sp-4) * -1);
        margin-right: calc(var(--sp-4) * -1);
    }
    .page-body .tabela-wrap table.tabela th:first-child,
    .page-body .tabela-wrap table.tabela td:first-child { padding-left: var(--sp-4); }
    .page-body .tabela-wrap table.tabela th:last-child,
    .page-body .tabela-wrap table.tabela td:last-child { padding-right: var(--sp-4); }
}


.page-section > .secao-conteudo,
.page-section > .card-corpo { padding: 0; }
.page-section > .section-header {
    background: none;
    border-bottom: 0;
    padding: 0 0 var(--sp-3);
}



.page-container,
.card,
.kpi,
.chart-card {
    box-shadow: none;
}

.card,
.chart-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 18px;
    overflow: hidden;
    min-width: 0;
}


.card:has(> .card-cabecalho),
.card:has(> .section-header) { padding: 0; }

.card-eyebrow,
.chart-card-eyebrow {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--primary);
}

.card-nome,
.chart-card-title {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.2px;
}

.card-sub,
.chart-card-sub {
    margin-top: 3px;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--text-muted);
}



.charts-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 14px;
    margin-bottom: var(--sp-5);
}

.chart-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}


.chart-wrap { position: relative; height: 260px; }
.chart-wrap-baixo { height: 180px; }

.chart-badge {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border: 1px solid var(--border-forte);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-secondary);
    white-space: nowrap;
}


.chart-barras {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    height: 100%;
}

.chart-coluna {
    flex: 1;
    min-width: 0;

    
    max-width: 72px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}


.chart-barra {
    flex: none;
    width: 100%;
    border-radius: 3px 3px 0 0;
    background: var(--primary);
    transition: opacity .2s;
}


.chart-barra-degrade {
    background: linear-gradient(180deg, var(--primary), var(--marca-azul));
    border-radius: 5px 5px 0 0;
}

.chart-rotulo {
    font-size: 9px;
    text-align: center;
    color: var(--text-muted);
    margin-top: 4px;
}
.chart-barra:hover { opacity: .75; }

.chart-legenda {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    font-size: 11px;
    color: var(--text-muted);
}
.chart-legenda-item { display: inline-flex; align-items: center; gap: 6px; }
.chart-legenda-cor { width: 10px; height: 10px; border-radius: 3px; }




.sidebar .link.ativo,
.sidebar .link.active {
    position: relative;
    background: var(--marca-amarelo);
    color: var(--marca-azul-escuro);
    font-weight: 700;
}


.sidebar .link.ativo .link-icon,
.sidebar .link.active .link-icon { color: var(--marca-azul-escuro); }

.sidebar .link.ativo:hover,
.sidebar .link.active:hover {
    background: var(--marca-amarelo);
    color: var(--marca-azul-escuro);
}
.sidebar .link.ativo:hover .link-icon,
.sidebar .link.active:hover .link-icon { color: var(--marca-azul-escuro); }

.sidebar .link.ativo::before,
.sidebar .link.active::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--marca-azul-escuro);
}

@media (max-width: 900px) {
    .charts-row { grid-template-columns: 1fr; }
    .chart-wrap { height: 220px; }
}



.kpi {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 16px 18px;
    color: inherit;
    text-decoration: none;
    transition: border-color .18s, background .18s;
}


a.kpi,
a.card {
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

a.kpi:hover,
a.kpi:focus-visible,
a.card:hover,
a.card:focus-visible {
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(6, 46, 98, .10);
    border-color: var(--border-forte);
}


a.kpi:active,
a.card:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(6, 46, 98, .10);
}


@media (prefers-reduced-motion: reduce) {
    a.kpi, a.card { transition: border-color .16s ease, box-shadow .16s ease; }
    a.kpi:hover, a.card:hover { transform: none; }
}

.kpi-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 12px;
    background: var(--primary-10);
    color: var(--primary);
    font-size: 17px;
}

.kpi-texto { display: flex; flex-direction: column; min-width: 0; flex: 1; }

.kpi-valor {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.4px;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kpi-rotulo {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-top: 3px;
}
.kpi-nota {
    font-size: 11.5px;
    color: var(--text-muted);
    margin-top: 2px;
}

.kpi-seta { color: var(--border-forte); font-size: 13px; flex: none; }


.kpi-sucesso .kpi-icone { background: var(--sucesso-soft); color: var(--sucesso); }
.kpi-aviso   .kpi-icone { background: var(--aviso-soft);   color: var(--aviso); }
.kpi-perigo  .kpi-icone { background: var(--perigo-soft);  color: var(--perigo); }
.kpi-marca   .kpi-icone { background: #f3e8ff;             color: #a855f7; }
.kpi-neutro  .kpi-icone { background: var(--surface-3);    color: var(--text-secondary); }


.kpi:not(:has(.kpi-icone)) { gap: 0; }

@media (max-width: 600px) {
    .kpi { padding: 14px; gap: 12px; }
    .kpi-icone { width: 38px; height: 38px; flex-basis: 38px; border-radius: 10px; font-size: 15px; }
    .kpi-valor { font-size: 18px; }
}



.abas-nav {
    display: flex;
    gap: 4px;
    padding: 8px;
    border-bottom: 0;
    margin-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.abas-nav::-webkit-scrollbar { display: none; }

.aba-botao {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 0;
    border-radius: 10px;
    background: none;
    color: var(--text-secondary);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s, color .18s;
}
.aba-botao i { font-size: 14px; opacity: .85; }
.aba-botao:hover { background: var(--surface-3); color: var(--text-base); }

.aba-botao.ativa {
    background: var(--primary-10);
    color: var(--marca-azul);
    font-weight: 700;
}
.aba-botao.ativa i { opacity: 1; }

.aba-contador {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px;
    border-radius: 10px; background: var(--surface-3);
    font-size: 11px; font-weight: 800;
}
.aba-botao.ativa .aba-contador { background: #fff; color: var(--marca-azul); }


.page-tabs { padding: 0 8px; background: var(--surface); }


.tela-marca {
    flex: 1; min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
}

.tela-marca__conteudo {
    display: grid; place-items: center;
    padding: clamp(20px, 3vw, 48px);
    overflow-y: auto;
    background: var(--surface);
}

.tela-marca__forma { width: 100%; max-width: 460px; }



.tela-marca__painel {
    position: relative;
    display: grid; place-items: center;
    padding: clamp(24px, 4vw, 80px);
    overflow: hidden;
    background:
        radial-gradient(1100px 620px at 78% -12%, rgba(47, 111, 208, .40), transparent 62%),
        linear-gradient(158deg, var(--marca-azul) 0%, var(--marca-azul-escuro) 100%);
}


.tela-marca__painel::before {
    content: '';
    position: absolute; inset: -30% -10% auto -40%;
    height: 150%;
    background: linear-gradient(104deg, transparent 42%, rgba(255, 255, 255, .055) 50%, transparent 58%);
    pointer-events: none;
}

.tela-marca__marca {
    position: relative;
    display: flex; flex-direction: column; align-items: center;
    gap: clamp(18px, 2.4vw, 40px);
    width: 100%;
    text-align: center;
}


.tela-marca__marca img {
    width: min(100%, 74vh * 4.8);
    max-width: 100%;
    height: auto;
    display: block;
}

.tela-marca__fallback {
    color: #fff; font-weight: 800; letter-spacing: -1.5px;
    font-size: clamp(38px, 6vw, 92px); line-height: 1;
}
.tela-marca__fallback em { color: var(--marca-amarelo); font-style: normal; }

.tela-marca__assinatura {
    color: rgba(255, 255, 255, .62);
    font-size: clamp(11px, .85vw, 15px);
    letter-spacing: clamp(2px, .3vw, 5px);
    text-transform: uppercase; font-weight: 600;
    margin: 0;
}


@media (max-width: 900px) {
    .tela-marca {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    
    .tela-marca__painel { order: -1; padding: clamp(18px, 5vw, 34px); }
    .tela-marca__painel::before { display: none; }
    .tela-marca__marca { gap: 10px; }
    .tela-marca__marca img { width: min(72%, 340px); }
    .tela-marca__conteudo { padding: clamp(18px, 5vw, 32px); }
}


@media (max-height: 620px) and (min-width: 901px) {
    .tela-marca__painel { padding: 20px; }
    .tela-marca__marca { gap: 14px; }
    .tela-marca__conteudo { padding: 20px; }
}


.perfil-identidade {
    display: flex; align-items: center; gap: 14px;
}

.perfil-avatar {
    width: 56px; height: 56px; flex: none;
    border-radius: 50%;
    background: var(--primary-10);
    border: 2px solid rgba(var(--primary-rgb), .25);
    color: var(--marca-azul);
    display: grid; place-items: center;
    font-size: 22px; font-weight: 700;
}

.perfil-identidade-dados { display: flex; flex-direction: column; min-width: 0; }
.perfil-nome { font-size: 17px; font-weight: 700; color: var(--text-base); }
.perfil-login {
    font-size: 13px; color: var(--text-muted);
    font-family: var(--font-mono);
}



.totem-instalador {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: var(--sp-5); flex-wrap: wrap;
}

.totem-instalador-texto { flex: 1 1 420px; min-width: 0; }
.totem-instalador-texto p { margin: 0 0 var(--sp-3); }
.totem-instalador-texto p:last-child { margin-bottom: 0; }

.totem-instalador-lista {
    margin: 0 0 var(--sp-3); padding-left: 18px;
    font-size: 13px; color: var(--text-secondary);
}
.totem-instalador-lista li { margin-bottom: 4px; }

.totem-instalador kbd {
    background: var(--surface-3); color: var(--text-base);
    padding: 1px 6px; border-radius: 4px;
    font-family: var(--font-mono); font-size: 11.5px;
}


.totem-instalador > .btn { flex: none; align-self: flex-start; }


.senha-gerada {
    margin-top: var(--sp-3);
    padding: var(--sp-3) var(--sp-4);
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-left: 3px solid var(--sucesso);
    border-radius: 8px;
}

.senha-gerada-rotulo {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .5px; color: var(--text-secondary);
    margin-bottom: var(--sp-2);
}
.senha-gerada-rotulo i { color: var(--sucesso); }

.senha-gerada-linha {
    display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap;
}


.senha-gerada code {
    user-select: all;
    font-family: var(--font-mono);
    font-size: 18px; font-weight: 700; letter-spacing: 1px;
    color: var(--text-base);
    background: var(--surface);
    padding: 8px 14px; border-radius: 6px;
    border: 1px dashed var(--border-forte);
    word-break: break-all;
}

.senha-gerada-aviso {
    margin-top: var(--sp-2);
    font-size: 12px; color: var(--perigo); font-weight: 600;
}

.senha-gerar-bloco { margin-top: var(--sp-4); }
.senha-gerar-bloco .ajuda { display: block; margin-top: 6px; }


.preco-resultado {
    margin-top: var(--sp-5);
    padding: var(--sp-5);
    border-radius: 12px;
    text-align: center;
    background: linear-gradient(135deg, var(--marca-azul) 0%, var(--marca-azul-escuro) 100%);
    color: #fff;
}

.preco-resultado-rotulo {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1.2px; color: rgba(255, 255, 255, .72);
}

.preco-resultado-valor {
    font-size: clamp(34px, 4vw, 52px); font-weight: 800;
    letter-spacing: -1.5px; line-height: 1.1;
    color: var(--marca-amarelo);
    font-variant-numeric: tabular-nums;
    margin: 4px 0;
}

.preco-resultado-nota { font-size: 13px; color: rgba(255, 255, 255, .82); }
.preco-resultado-nota strong { color: #fff; font-variant-numeric: tabular-nums; }


.entrada-valor { text-align: right; font-variant-numeric: tabular-nums; }


.campo-com-botao { display: flex; flex-direction: column; justify-content: flex-end; }


.backup-topo {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--sp-5); flex-wrap: wrap;
}
.backup-ultimo { flex: 1 1 280px; min-width: 0; }
.backup-ultimo-data {
    font-size: 20px; font-weight: 700; line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
.backup-topo form { flex: none; }


.loja-menu.is-enviando { pointer-events: none; opacity: .6; }


.usuario-editor-piloto,
.usuario-editor-piloto > .page-header,
.usuario-editor-piloto > .page-tabs,
.usuario-editor-piloto > .page-body,
.usuario-editor-piloto .usuario-card,
.usuario-editor-piloto .page-footer {
    position: static;
    transform: none;
    box-shadow: none;
}


.multicanal-page > .page-tabs { padding: 0 8px; }
.multicanal-page .aba-botao { text-decoration: none; }
.multicanal-page .multicanal-resumo {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-bottom: var(--sp-4);
}
.multicanal-page .multicanal-resumo dl { margin: 0; padding: var(--sp-4); }
.multicanal-page .multicanal-resumo dl + dl { border-left: 1px solid var(--border); }
.multicanal-page .multicanal-resumo dt { color: var(--text-secondary); font-size: 12px; margin-bottom: 5px; }
.multicanal-page .multicanal-resumo dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.multicanal-page .multicanal-acoes { flex-wrap: wrap; }
.multicanal-page .acoes-linha.mt-4,
.multicanal-page .ajuda.mt-4 { margin-top: var(--sp-4); }
.multicanal-page .multicanal-qr { margin-top: var(--sp-5); border-top: 1px solid var(--border); padding-top: var(--sp-5); }
.multicanal-page .multicanal-qr img { display: block; width: min(280px, 100%); margin-top: var(--sp-3); border: 1px solid var(--border); border-radius: var(--radius); }
.multicanal-page .multicanal-pareamento { margin-top: var(--sp-4); display: flex; align-items: center; gap: var(--sp-3); }
.multicanal-page .multicanal-pareamento[hidden] { display: none; }
.multicanal-page .multicanal-pareamento code { font-size: 18px; letter-spacing: .08em; padding: 7px 10px; border: 1px solid var(--border); border-radius: 6px; }
.multicanal-page .multicanal-kpis { margin-bottom: var(--sp-5); }


.multicanal-templates-page,
.multicanal-config-page {
    --whatsapp-green: #128c7e;
    --whatsapp-green-dark: #075e54;
    --whatsapp-bubble: #005c4b;
    --whatsapp-chat: #0b141a;
    --whatsapp-text: #e9edef;
}

.multicanal-templates-page .multicanal-conexao-aviso {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
}

.multicanal-templates-page .multicanal-conexao-aviso > span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-secondary);
}

.multicanal-template-tabs {
    display: flex;
    gap: 6px;
    padding: 8px;
    overflow-x: auto;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
    scrollbar-width: none;
}

.multicanal-scroll-arrastavel {
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.multicanal-scroll-arrastavel::-webkit-scrollbar { display: none; }
.multicanal-scroll-arrastavel.is-arrastando {
    cursor: grabbing;
    scroll-behavior: auto;
    user-select: none;
}

.multicanal-page > .page-tabs { overflow: hidden; }
.multicanal-page > .page-tabs .abas-nav {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.multicanal-template-tab {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.multicanal-template-tab:hover {
    border-color: var(--border);
    background: var(--surface-2);
    color: var(--text-base);
}

.multicanal-template-tab.ativa {
    border-color: rgba(18, 140, 126, .24);
    background: rgba(18, 140, 126, .09);
    color: var(--whatsapp-green-dark);
}

.multicanal-template-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(min(300px, 100%), .85fr);
    gap: 18px;
    align-items: start;
}

.multicanal-template-panel {
    position: static;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: none;
}

.multicanal-template-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-4);
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
}

.multicanal-template-panel-header h2 {
    margin: 0;
    color: var(--text-base);
    font-size: 14px;
    font-weight: 800;
}

.multicanal-template-panel-header p {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.5;
}

.multicanal-template-panel-header.compacto { padding: 14px 16px; }

.multicanal-template-status {
    flex: 0 0 auto;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text-secondary);
    background: var(--surface-2);
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.multicanal-template-status.ativo {
    border-color: rgba(18, 140, 126, .25);
    color: var(--whatsapp-green-dark);
    background: rgba(18, 140, 126, .08);
}

.multicanal-template-editor > form { padding: 18px; }

.multicanal-template-agenda {
    display: grid;
    grid-template-columns: 110px 110px minmax(0, 1fr);
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
}

.multicanal-template-agenda legend {
    padding: 0 5px;
    font-size: 12px;
    font-weight: 800;
}

.multicanal-template-agenda-diaria {
    grid-template-columns: 140px minmax(0, 1fr);
}

.multicanal-template-agenda .campo { grid-column: auto; margin: 0; }
.multicanal-template-agenda > p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--text-secondary);
    font-size: 11.5px;
}

.multicanal-templates-page .multicanal-dias {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 13px;
    min-height: 36px;
}

.multicanal-templates-page .multicanal-dias label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 400;
}

.multicanal-template-mensagem { margin: 0; }
.multicanal-template-mensagem textarea {
    min-height: 340px;
    resize: vertical;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.6;
}

.multicanal-template-opcoes {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.multicanal-template-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.multicanal-template-toggle input { margin-top: 3px; }
.multicanal-template-toggle span { display: grid; gap: 2px; }
.multicanal-template-toggle strong { font-size: 12.5px; }
.multicanal-template-toggle small { color: var(--text-secondary); font-size: 11.5px; font-weight: 400; }

.multicanal-template-destino {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 11.5px;
    line-height: 1.5;
}

.multicanal-template-destino i { margin-top: 2px; color: var(--whatsapp-green-dark); }

.multicanal-template-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.multicanal-btn-whatsapp {
    border-color: var(--whatsapp-green);
    background: var(--whatsapp-green);
    color: #fff;
}

.multicanal-btn-whatsapp:hover {
    border-color: var(--whatsapp-green-dark);
    background: var(--whatsapp-green-dark);
    color: #fff;
}

.multicanal-template-lateral { display: grid; gap: 18px; }

.multicanal-chat {
    display: flex;
    justify-content: flex-end;
    min-height: 210px;
    padding: 16px;
    background: var(--whatsapp-chat);
}

.multicanal-chat-bubble {
    align-self: flex-start;
    max-width: 100%;
    padding: 11px 13px 7px;
    border-radius: 12px 2px 12px 12px;
    background: var(--whatsapp-bubble);
    color: var(--whatsapp-text);
    font-size: 12.5px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.multicanal-chat-meta {
    display: block;
    margin-top: 4px;
    color: rgba(233, 237, 239, .68);
    font-size: 10px;
    line-height: 1;
    text-align: right;
}

.multicanal-chat-meta i { color: #53bdeb; font-size: 10px; }

.multicanal-template-variaveis {
    display: grid;
    margin: 0;
    padding: 6px 16px;
}

.multicanal-template-variaveis > div {
    display: grid;
    grid-template-columns: minmax(min(110px, 100%), auto) 1fr;
    gap: 10px;
    align-items: baseline;
    padding: 10px 0;
}

.multicanal-template-variaveis > div + div { border-top: 1px solid var(--border); }
.multicanal-template-variaveis dt {
    color: var(--whatsapp-green-dark);
    font-family: Consolas, "Courier New", monospace;
    font-size: 11.5px;
    font-weight: 700;
}
.multicanal-template-variaveis dd { margin: 0; color: var(--text-secondary); font-size: 11.5px; }


.multicanal-config-health {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

.multicanal-config-health-item {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 180px;
}

.multicanal-health-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--text-muted);
}

.multicanal-config-health-item.ok .multicanal-health-dot {
    background: var(--whatsapp-green);
    box-shadow: 0 0 0 4px rgba(18, 140, 126, .10);
}

.multicanal-config-health-item > div { display: grid; gap: 1px; }
.multicanal-config-health-item strong { color: var(--text-base); font-size: 12px; }
.multicanal-config-health-item small { color: var(--text-secondary); font-size: 11px; }

.multicanal-config-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(min(320px, 100%), .75fr);
    gap: 18px;
    align-items: start;
}

.multicanal-config-panel {
    position: static;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: none;
}

.multicanal-config-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
}

.multicanal-config-panel-header.compacto { padding: 14px 16px; }
.multicanal-config-panel-header h2 {
    margin: 0;
    color: var(--text-base);
    font-size: 14px;
    font-weight: 800;
}
.multicanal-config-panel-header p {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.5;
}

.multicanal-config-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.multicanal-config-status.ativo {
    border-color: rgba(18, 140, 126, .25);
    background: rgba(18, 140, 126, .08);
    color: var(--whatsapp-green-dark);
}

.multicanal-config-status.pendente {
    border-color: rgba(202, 138, 4, .25);
    background: rgba(202, 138, 4, .08);
    color: #8a6500;
}

.multicanal-config-editor > form { padding: 18px; }
.multicanal-config-group + .multicanal-config-group {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.multicanal-config-group-title { margin-bottom: 14px; }
.multicanal-config-group-title h3 {
    margin: 0;
    color: var(--text-base);
    font-size: 12.5px;
    font-weight: 800;
}
.multicanal-config-group-title p {
    margin: 3px 0 0;
    color: var(--text-secondary);
    font-size: 11.5px;
    line-height: 1.5;
}

.multicanal-config-page .campo input {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--border-forte);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text-base);
    font-family: inherit;
    font-size: 13px;
}

.multicanal-config-page .campo input:focus {
    outline: none;
    border-color: var(--whatsapp-green);
    box-shadow: 0 0 0 3px rgba(18, 140, 126, .10);
}

.multicanal-config-page .campo input[readonly] {
    background: var(--surface-2);
    color: var(--text-secondary);
}

.multicanal-config-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
    cursor: pointer;
}
.multicanal-config-option input { margin-top: 3px; }
.multicanal-config-option span { display: grid; gap: 2px; }
.multicanal-config-option strong { font-size: 12.5px; }
.multicanal-config-option small { color: var(--text-secondary); font-size: 11.5px; font-weight: 400; line-height: 1.5; }

.multicanal-config-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 18px;
}

.multicanal-config-side { display: grid; gap: 18px; }
.multicanal-config-connection { padding: 16px; }

.multicanal-config-empty {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 14px 10px 20px;
    color: var(--text-secondary);
    text-align: center;
}
.multicanal-config-empty i { color: var(--whatsapp-green); font-size: 30px; }
.multicanal-config-empty strong { color: var(--text-base); font-size: 13px; }
.multicanal-config-empty p { max-width: 300px; margin: 0; font-size: 11.5px; line-height: 1.5; }

.multicanal-config-summary { display: grid; margin: 0; }
.multicanal-config-summary > div {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 0;
}
.multicanal-config-summary > div + div { border-top: 1px solid var(--border); }
.multicanal-config-summary dt { color: var(--text-secondary); font-size: 11.5px; }
.multicanal-config-summary dd { min-width: 0; margin: 0; color: var(--text-base); font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.multicanal-config-summary code { font-size: 11px; font-weight: 400; }

.multicanal-config-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}
.multicanal-config-buttons .btn { min-width: 0; white-space: normal; }
.multicanal-config-buttons .multicanal-btn-whatsapp { grid-column: 1 / -1; }

.multicanal-config-qr {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    text-align: center;
}
.multicanal-config-qr[hidden],
.multicanal-config-pairing[hidden] { display: none; }
.multicanal-config-qr strong { font-size: 12.5px; }
.multicanal-config-qr p { margin: 3px 0 12px; color: var(--text-secondary); font-size: 11.5px; }
.multicanal-config-qr img {
    display: block;
    width: min(250px, 100%);
    margin: 0 auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.multicanal-config-pairing {
    display: grid;
    gap: 6px;
    margin-top: 14px;
    text-align: center;
}
.multicanal-config-pairing span { color: var(--text-secondary); font-size: 11.5px; }
.multicanal-config-pairing code { font-size: 18px; font-weight: 800; letter-spacing: .12em; }

.multicanal-config-webhook { padding: 14px 16px; }
.multicanal-config-webhook strong,
.multicanal-config-webhook span { display: block; }
.multicanal-config-webhook strong {
    color: var(--text-base);
    font-size: 12.5px;
    line-height: 1.4;
}
.multicanal-config-webhook span {
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: 11.5px;
    line-height: 1.45;
}
.multicanal-config-webhook code {
    display: block;
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
    .multicanal-config-shell { grid-template-columns: 1fr; }
    .multicanal-config-side { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 720px) {
    .multicanal-config-side { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .multicanal-config-health { align-items: flex-start; flex-direction: column; gap: 12px; }
    .multicanal-config-editor > form,
    .multicanal-config-connection { padding: 14px; }
    .multicanal-config-panel-header { padding: 14px; }
    .multicanal-config-buttons { grid-template-columns: 1fr; }
    .multicanal-config-buttons .multicanal-btn-whatsapp { grid-column: auto; }
    .multicanal-config-actions .btn { width: 100%; }
}


.central-caixas .page-body { display: block; container: central / inline-size; }
.central-filtros { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; width: 100%; }
.central-filtros .campo { min-width: 170px; margin: 0; }
.central-filtros .campo:first-child { min-width: 230px; }
.central-filtros label { display: block; margin-bottom: 5px; color: var(--text-secondary); font-size: 11px; font-weight: 700; }
.central-filtros select,
.central-filtros input { min-height: 38px; }

.central-live-status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 10px 13px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 11.5px;
}
.central-live-status > strong { color: var(--text-base); }
.central-live-pulso { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--sucesso); box-shadow: 0 0 0 4px color-mix(in srgb, var(--sucesso) 14%, transparent); }
.central-live-hora { margin-left: auto; }
.central-live-hora strong { color: var(--text-base); font-variant-numeric: tabular-nums; }
.central-kpis-agora,
.central-kpis-analise { gap: 14px; margin-bottom: 24px; }
.central-kpis-agora { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.central-kpis-analise { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.central-caixas .kpi { position: relative; display: block; padding: 18px; container-type: inline-size; }
.central-caixas .kpi-icone { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border-radius: 9px; font-size: 14px; }
.central-caixas .kpi-rotulo { order: -1; min-height: 32px; margin: 0 42px 10px 0; display: flex; align-items: center; font-size: 12px; }
.central-caixas .kpi-valor { font-size: clamp(18px, 8cqi, 28px); line-height: 1.3; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.central-caixas .kpi-nota { margin-top: 6px; overflow-wrap: anywhere; }

.central-live-layout { display: flex; flex-direction: column; gap: 24px; margin-bottom: 24px; }
.central-abertos-section,
.central-caixas .central-alertas-section { width: 100%; margin: 0; padding: 0; border: 0; }
.central-alertas-section { order: -1; }
.central-abertos-acoes { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.central-carrossel-controles { display: flex; align-items: center; gap: 8px; }
.central-carrossel-controles .btn { width: 40px; min-height: 40px; padding: 8px; justify-content: center; }
.central-carrossel-controles .btn:disabled { opacity: .4; cursor: default; }
.central-carrossel-posicao { min-width: 64px; text-align: center; color: var(--text-secondary); font-size: 12px; font-variant-numeric: tabular-nums; }
.central-carrossel-detalhe { margin: 0; padding: 8px 16px; border-top: 1px solid var(--border); color: var(--text-secondary); font-size: 10.5px; }
.central-lojas { display: grid; gap: 20px; }
.central-loja-caixas { touch-action: pan-y pinch-zoom; }
.central-loja-caixas:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.central-carrossel-ativo .central-caixa-card { border-top: 0; }
.central-loja { min-width: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.central-loja-cabecalho { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 16px; border-radius: 12px 12px 0 0; background: var(--surface-2); border-bottom: 1px solid var(--border); }
.central-loja-cabecalho > i { color: var(--primary); }
.central-loja-cabecalho h3 { flex: 1; min-width: 0; margin: 0; color: var(--primary); font-size: 13px; overflow-wrap: anywhere; }
.central-loja-cabecalho .badge { flex: 0 0 auto; }
.central-caixa-card { display: grid; grid-template-columns: 1.1fr 1.2fr 1.1fr 1fr 1fr 1.1fr; align-items: start; gap: 16px; min-width: 0; padding: 16px; font-variant-numeric: tabular-nums; }
.central-caixa-card + .central-caixa-card { border-top: 1px solid var(--border); }
.central-caixa-card > div { min-width: 0; }
.central-caixa-card strong { display: block; color: var(--text-base); font-size: 12px; overflow-wrap: anywhere; }
.central-caixa-card small { display: block; margin-top: 4px; font-size: 10.5px; color: var(--text-secondary); }
.central-caixa-legenda { display: block; margin-bottom: 4px; color: var(--text-secondary); font-size: 10.5px; font-weight: 400; }
.central-caixa-topo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.central-caixa-topo h4 { margin: 0; color: var(--text-base); font-size: 13px; overflow-wrap: anywhere; }
.central-situacao { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border-radius: 999px; background: var(--surface-2); color: var(--text-secondary); font-size: 10px; font-weight: 700; }
.central-situacao > span { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.central-situacao-operando { background: color-mix(in srgb, var(--sucesso) 10%, white); color: var(--sucesso); }
.central-situacao-ocioso,
.central-situacao-sem_movimento,
.central-situacao-turno_longo { background: color-mix(in srgb, var(--aviso) 12%, white); color: #8a5a00; }
.central-caixa-operador { display: flex; align-items: flex-start; gap: 8px; }
.central-caixa-operador > div { min-width: 0; }
.central-avatar { display: inline-flex; width: 30px; height: 30px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary-10); color: var(--primary); font-size: 11px; font-weight: 800; }
.central-caixa-total strong { color: var(--primary); font-size: 14px; }
.central-caixa-metricas { display: grid; gap: 8px; }
.central-caixa-rodape { color: var(--text-secondary); font-size: 10.5px; }
.central-caixa-rodape > span { display: block; overflow-wrap: anywhere; }
.central-caixa-rodape a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin-top: 6px; color: var(--primary); font-size: 11px; font-weight: 700; text-decoration: none; }
.central-caixa-rodape a:hover { color: var(--primary-hover); }

.central-alertas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: 10px; }
.central-alerta { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-base); font-size: 10.5px; line-height: 1.45; text-decoration: none; }
.central-alerta > span { min-width: 0; overflow-wrap: anywhere; }
.central-alerta strong { display: block; margin-bottom: 3px; color: var(--text-secondary); font-size: 10px; }
.central-alerta:hover { border-color: var(--border-forte); background: var(--surface-2); }
.central-alerta i { margin-top: 2px; color: var(--aviso); }
.central-alerta-vazio { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-secondary); font-size: 11px; }
.central-alerta-vazio i { color: var(--sucesso); }
.central-vazio { grid-column: 1 / -1; display: grid; justify-items: center; gap: 7px; padding: 42px 18px; color: var(--text-secondary); text-align: center; }
.central-vazio i { font-size: 24px; color: var(--primary); }
.central-vazio strong { color: var(--text-base); font-size: 13px; }
.central-vazio span { font-size: 11px; }

.central-periodo-resumo,
.central-fechamento-resumo { display: flex; align-items: stretch; gap: 0; margin-bottom: 18px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); overflow: hidden; }
.central-periodo-resumo > div,
.central-fechamento-resumo > div { display: grid; gap: 3px; min-width: 150px; padding: 11px 16px; }
.central-periodo-resumo > div + div,
.central-fechamento-resumo > div + div { border-left: 1px solid var(--border); }
.central-periodo-resumo span,
.central-fechamento-resumo span { color: var(--text-secondary); font-size: 9.5px; text-transform: uppercase; letter-spacing: .03em; }
.central-periodo-resumo strong,
.central-fechamento-resumo strong { color: var(--text-base); font-size: 13px; font-variant-numeric: tabular-nums; }
.central-fechamento-resumo { display: grid; grid-template-columns: repeat(4, 1fr); }

.central-analise-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(min(320px, 100%), .65fr); gap: 18px; margin-bottom: 18px; align-items: start; }
.central-analise-grid-igual { grid-template-columns: minmax(0, 1fr); }
.central-caixas .tabela-wrap { border: 1px solid var(--border); border-radius: 10px; }
.central-analise-grid .page-section { margin: 0; }
.central-barras-hora { height: 185px; padding-bottom: 20px; gap: 5px; }
.central-barras-hora .chart-coluna { position: relative; min-width: 0; }
.central-barras-hora .chart-coluna > span { position: absolute; bottom: -18px; left: 50%; color: var(--text-secondary); font-size: 8px; transform: translateX(-50%); }
.central-composicao { display: grid; gap: 13px; padding: 15px; }
.central-composicao-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; }
.central-composicao-item > div:first-child strong,
.central-composicao-item > div:first-child span,
.central-composicao-valor strong,
.central-composicao-valor span { display: block; }
.central-composicao-item strong { color: var(--text-base); font-size: 11px; }
.central-composicao-item span { margin-top: 2px; color: var(--text-secondary); font-size: 9.5px; }
.central-composicao-valor { text-align: right; }
.central-progresso { grid-column: 1 / -1; height: 5px; border-radius: 999px; background: var(--surface-3); overflow: hidden; }
.central-progresso span { display: block; height: 100%; margin: 0; border-radius: inherit; background: var(--primary); }
.central-detalhe-linha { display: block; margin-top: 2px; color: var(--text-secondary); font-size: 9.5px; font-weight: 400; }
.central-sessoes-tabela table { min-width: 1180px; }
.central-caixas [aria-busy="true"] { cursor: progress; }
.central-caixas [data-central-atualizar].carregando i { animation: central-girar .8s linear infinite; }
@keyframes central-girar { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
    .central-analise-grid,
    .central-analise-grid-igual { grid-template-columns: 1fr; }
}
@container central (max-width: 1050px) {
    .central-kpis-analise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .central-caixa-card { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@container central (max-width: 800px) {
    .central-kpis-agora { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container central (max-width: 520px) {
    .central-kpis-agora,
    .central-kpis-analise { grid-template-columns: minmax(0, 1fr); }
}
@container central (max-width: 580px) {
    .central-caixa-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .central-caixa-topo,
    .central-caixa-operador { grid-column: 1 / -1; }
    .central-caixa-topo { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; }
    .central-loja-cabecalho h3 { flex-basis: calc(100% - 35px); }
    .central-analise-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .central-live-status { align-items: flex-start; flex-wrap: wrap; }
    .central-live-hora { width: 100%; margin-left: 16px; }
    .central-alertas { grid-template-columns: 1fr; }
    .central-periodo-resumo { display: grid; grid-template-columns: 1fr; }
    .central-periodo-resumo > div + div { border-top: 1px solid var(--border); border-left: 0; }
    .central-fechamento-resumo { grid-template-columns: repeat(2, 1fr); }
    .central-fechamento-resumo > div:nth-child(3) { border-left: 0; }
    .central-fechamento-resumo > div:nth-child(n+3) { border-top: 1px solid var(--border); }
}
@media (max-width: 540px) {
    .central-filtros .campo,
    .central-filtros .campo:first-child,
    .central-filtros .btn { width: 100%; }
    .central-fechamento-resumo { grid-template-columns: 1fr; }
    .central-fechamento-resumo > div + div,
    .central-fechamento-resumo > div:nth-child(3) { border-top: 1px solid var(--border); border-left: 0; }
}

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

@media (max-width: 720px) {
    .multicanal-templates-page .multicanal-conexao-aviso { align-items: flex-start; flex-direction: column; }
    .multicanal-template-agenda { grid-template-columns: 1fr 1fr; }
    .multicanal-template-dias-campo { grid-column: 1 / -1; }
    .multicanal-template-lateral { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .multicanal-template-panel-header { padding: 14px; }
    .multicanal-template-editor > form { padding: 14px; }
    .multicanal-template-agenda { grid-template-columns: 1fr; }
    .multicanal-template-dias-campo { grid-column: auto; }
    .multicanal-template-acoes .btn { width: 100%; }
}
@media (max-width: 900px) {
    .multicanal-page .multicanal-resumo { grid-template-columns: 1fr 1fr; }
    .multicanal-page .multicanal-resumo dl:nth-child(3) { border-left: 0; border-top: 1px solid var(--border); }
    .multicanal-page .multicanal-resumo dl:nth-child(4) { border-top: 1px solid var(--border); }
}
@media (max-width: 560px) {
    .multicanal-page .multicanal-resumo { grid-template-columns: 1fr; }
    .multicanal-page .multicanal-resumo dl + dl { border-left: 0; border-top: 1px solid var(--border); }
}

.usuario-editor-piloto .abas { margin: 0; }
.usuario-editor-piloto .aba-painel { min-width: 0; }

.usuario-editor-piloto .aba-botao {
    min-height: 38px;
    padding: 8px 15px;
    font-size: 12.5px;
    font-weight: 700;
}

.usuario-editor-piloto .aba-botao.ativa {
    color: var(--marca-azul-medio);
    box-shadow: inset 0 0 0 1px var(--primary-20);
}

.usuario-editor-piloto .usuario-card {
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.usuario-editor-piloto .usuario-card + .usuario-card {
    margin-top: var(--sp-5);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--border-suave);
}

.usuario-editor-piloto .usuario-card .section-header { margin-bottom: 14px; }
.usuario-editor-piloto .usuario-card .section-title {
    font-size: 13.5px;
    font-weight: 800;
}

.usuario-editor-piloto .form-grade { gap: 16px; }
.usuario-editor-piloto .campo > label {
    font-size: 11.5px;
    font-weight: 700;
}

.usuario-editor-piloto .campo input[type="text"],
.usuario-editor-piloto .campo input[type="password"],
.usuario-editor-piloto .campo input[type="number"],
.usuario-editor-piloto .campo input[type="email"],
.usuario-editor-piloto .campo input[type="tel"],
.usuario-editor-piloto .campo select,
.usuario-editor-piloto .campo textarea {
    min-height: 40px;
    padding: 9px 11px;
    border-radius: 8px;
    font-size: 13px;
}

.usuario-editor-piloto .check-linha input[type="checkbox"] {
    width: 17px;
    height: 17px;
}

.usuario-editor-piloto .btn {
    min-height: 36px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 700;
}

.usuario-editor-piloto .usuario-unidades-tabela {
    border: 1px solid var(--border-suave);
    border-radius: 8px;
}

.usuario-editor-piloto .usuario-unidades-tabela table.tabela th,
.usuario-editor-piloto .usuario-unidades-tabela table.tabela td {
    padding: 10px 12px;
}

.usuario-editor-piloto .usuario-unidades-tabela table.tabela th {
    color: var(--text-muted);
    font-size: 10.5px;
    letter-spacing: .05em;
}

.usuario-editor-piloto .usuario-unidades-tabela .check-linha {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.usuario-editor-piloto .usuario-unidade-selecao { width: 76px; text-align: center; }
.usuario-editor-piloto .usuario-unidade-selecao .check-linha { justify-content: center; }
.usuario-editor-piloto .usuario-unidade-nome {
    display: block;
    margin: 0;
    color: var(--text-base);
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
}

.usuario-editor-piloto .usuario-unidades-ajuda {
    margin: 12px 0 0;
    font-size: 11.5px;
    color: var(--text-muted);
}

.usuario-editor-piloto .usuario-card-senha { margin: 0; padding: 0; border: 0; }

.usuario-editor-piloto .usuario-aviso-operacional {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: var(--sp-4);
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.45;
}

.usuario-editor-piloto .usuario-aviso-operacional-icone {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: var(--primary-10);
    color: var(--marca-azul-medio);
}

.usuario-editor-piloto .usuario-aviso-operacional strong {
    display: block;
    margin-bottom: 2px;
    color: var(--text-base);
    font-size: 12px;
}

.usuario-editor-piloto .usuario-aviso-operacional > div > span { display: block; }


.usuario-editor-piloto:has(#painel-senha-seguranca:not([hidden]))
    .usuario-form-principal > .page-footer { display: none; }

.usuario-editor-piloto .usuario-card-senha .senha-gerar-bloco {
    padding-top: var(--sp-4);
    border-top: 1px solid var(--border-suave);
}


.usuario-editor-piloto .senha-gerada {
    margin-top: var(--sp-4);
    padding: var(--sp-4) 0 0;
    border: 0;
    border-top: 1px solid var(--border-suave);
    border-radius: 0;
    background: transparent;
}

.usuario-editor-piloto .senha-gerada-rotulo {
    margin-bottom: 9px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.usuario-editor-piloto .senha-gerada-rotulo i { color: var(--text-muted); }
.usuario-editor-piloto .senha-gerada-linha { gap: 8px; }

.usuario-editor-piloto .senha-gerada code {
    padding: 8px 12px;
    border: 1px solid var(--border-forte);
    border-radius: 8px;
    background: var(--surface-2);
    font-size: 16px;
    letter-spacing: .6px;
}

.usuario-editor-piloto .senha-gerada-aviso {
    margin-top: 9px;
    padding: 0;
    font-size: 11.5px;
    line-height: 1.45;
}

@media (max-width: 600px) {
    .usuario-editor-piloto .usuario-unidades-tabela table.tabela { min-width: 430px; }
    .usuario-editor-piloto .page-footer .btn { flex: 1 1 100%; width: 100%; }
    .usuario-editor-piloto .usuario-aviso-operacional { padding: 10px; }
}


.relatorio-vendas > .page-header,
.relatorio-vendas > .page-tabs,
.relatorio-vendas > .page-toolbar,
.relatorio-vendas > .page-body,
.relatorio-vendas .kpi {
    position: static;
    transform: none;
    box-shadow: none;
}

.relatorio-vendas .relatorio-vendas-abas { margin: 0; }
.relatorio-vendas .aba-painel { min-width: 0; }

.relatorio-vendas .aba-botao {
    min-height: 38px;
    padding: 8px 15px;
    font-size: 12.5px;
    font-weight: 700;
}

.relatorio-vendas .aba-botao.ativa {
    color: var(--marca-azul-medio);
    box-shadow: inset 0 0 0 1px var(--primary-20);
}

.relatorio-vendas .relatorio-vendas-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
}

.relatorio-vendas .relatorio-vendas-evolucao {
    margin-top: var(--sp-5);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--border-suave);
}

.relatorio-vendas .relatorio-vendas-eixos {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
}

.relatorio-vendas .relatorio-vendas-section-header > div { min-width: 0; }
.relatorio-vendas .relatorio-vendas-section-header p { margin: 3px 0 0; }

.relatorio-vendas .relatorio-vendas-limite {
    margin: 0 0 var(--sp-4);
    padding: 9px 11px;
    border: 1px solid var(--border-suave);
    border-radius: 8px;
    background: var(--surface-2);
}

.relatorio-vendas .relatorio-vendas-analitico-tabela table { min-width: 1160px; }

.relatorio-vendas .relatorio-vendas-detalhe-secundario {
    display: block;
    margin-top: 2px;
    color: var(--text-muted);
    font-size: 11.5px;
}

@media (max-width: 900px) {
    .relatorio-vendas .relatorio-vendas-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .relatorio-vendas .relatorio-vendas-kpis { grid-template-columns: 1fr; }
    .relatorio-vendas .page-toolbar .filtros .btn { flex: 1 1 auto; }
    .relatorio-vendas .relatorio-vendas-section-header > span { width: 100%; }
}


.saude-page > .page-header,
.saude-page > .page-tabs,
.saude-page > .page-toolbar,
.saude-page > .page-body,
.saude-page .saude-panel,
.saude-page .kpi {
    position: static;
    transform: none;
    box-shadow: none;
}

.saude-page .abas-nav { margin: 0; }
.saude-page .aba-botao {
    min-height: 38px;
    padding: 8px 15px;
    font-size: 12.5px;
    font-weight: 700;
}
.saude-page .aba-botao.ativa {
    color: var(--marca-azul-medio);
    box-shadow: inset 0 0 0 1px var(--primary-20);
}

.saude-status-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.saude-status-principal {
    display: flex;
    align-items: center;
    gap: 10px;
}
.saude-status-icone {
    display: inline-flex;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sucesso-soft);
    color: var(--sucesso);
}
.saude-status-bar.critico .saude-status-icone { background: var(--perigo-soft); color: var(--perigo); }
.saude-status-principal > div { display: grid; gap: 2px; }
.saude-status-principal strong { font-size: 12.5px; }
.saude-status-principal small { color: var(--text-secondary); font-size: 11.5px; }

.saude-atualizacao {
    display: grid;
    justify-items: end;
    gap: 2px;
    flex: 0 0 auto;
}
.saude-atualizacao span { color: var(--text-secondary); font-size: 10.5px; }
.saude-atualizacao strong { font-family: var(--font-mono); font-size: 11.5px; }

.saude-page-body .aba-painel { min-width: 0; }
.saude-kpis { margin: 0 0 18px; }

.saude-summary-grid,
.saude-operation-grid,
.saude-config-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.saude-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
}

.saude-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--border);
}
.saude-panel-header h2 { margin: 0; color: var(--text-base); font-size: 13.5px; font-weight: 800; }
.saude-panel-header p { margin: 3px 0 0; color: var(--text-secondary); font-size: 11.5px; line-height: 1.5; }
.saude-panel-header > a { flex: 0 0 auto; color: var(--primary); font-size: 11.5px; font-weight: 700; text-decoration: none; }
.saude-panel-header > a:hover { color: var(--primary-hover); }

.saude-metric-list { display: grid; margin: 0; padding: 5px 17px; }
.saude-metric-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
}
.saude-metric-list > div + div { border-top: 1px solid var(--border); }
.saude-metric-list dt { color: var(--text-secondary); font-size: 12px; }
.saude-metric-list dd { margin: 0; color: var(--text-base); font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.saude-metric-list .com-alerta dd { color: var(--aviso); }
.saude-metric-list .com-erro dd { color: var(--perigo); }

.saude-operation-grid .tabela td { padding-top: 11px; padding-bottom: 11px; }
.saude-subsection + .saude-subsection { border-top: 1px solid var(--border); }
.saude-subsection h3 {
    margin: 0;
    padding: 11px 17px 7px;
    color: var(--text-secondary);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.saude-errors-panel { margin-top: 18px; }
.saude-errors-panel table { min-width: 760px; }

.saude-config-form { padding: 18px; }
.saude-config-actions { display: flex; margin-top: 16px; }
.saude-permission-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 16px 0 0;
    padding: 10px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 11.5px;
}

.saude-totem { display: grid; gap: 14px; padding: 18px; }
.saude-totem-intro { display: flex; align-items: center; gap: 11px; }
.saude-totem-intro > span {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--primary-10);
    color: var(--primary);
}
.saude-totem-intro strong { font-size: 12.5px; }
.saude-totem-intro p { margin: 2px 0 0; color: var(--text-secondary); font-size: 11.5px; }
.saude-totem ul { display: grid; gap: 6px; margin: 0; padding-left: 18px; color: var(--text-secondary); font-size: 11.5px; line-height: 1.5; }
.saude-totem-note { margin: 0; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
.saude-totem .btn { justify-self: start; }

@media (max-width: 900px) {
    .saude-summary-grid,
    .saude-operation-grid,
    .saude-config-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .saude-status-bar { align-items: flex-start; flex-direction: column; }
    .saude-atualizacao { justify-items: start; }
    .saude-config-form,
    .saude-totem { padding: 14px; }
    .saude-config-actions .btn { width: 100%; }
}


.central-produtos .page-body { display: block; }
.central-produtos-filtros { display: flex; width: 100%; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.central-produtos-filtros .campo { min-width: 150px; margin: 0; }
.central-produtos-filtros .campo:first-child { min-width: 230px; }
.central-produtos-filtros label { display: block; margin-bottom: 5px; color: var(--text-secondary); font-size: 11px; font-weight: 700; }
.central-produtos-filtros select,
.central-produtos-filtros input { min-height: 38px; }
.campo-sufixo { display: flex; align-items: stretch; }
.campo-sufixo input { width: 88px; border-radius: 7px 0 0 7px; }
.campo-sufixo span { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--border); border-left: 0; border-radius: 0 7px 7px 0; background: var(--surface-2); color: var(--text-secondary); font-size: 10.5px; }
.central-produtos-kpis { margin-bottom: 18px; }
.central-produtos-duas-colunas { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(min(300px, 100%), .75fr); gap: 18px; margin-bottom: 18px; align-items: start; }
.central-produtos-duas-colunas .page-section { margin: 0; }
.central-ranking { display: grid; }
.central-ranking-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 14px; border-top: 1px solid var(--border); }
.central-ranking-item:first-child { border-top: 0; }
.central-ranking-posicao { display: inline-flex; width: 23px; height: 23px; align-items: center; justify-content: center; border-radius: 50%; background: var(--surface-2); color: var(--text-secondary); font-size: 10px; font-weight: 800; }
.central-ranking-item strong,
.central-ranking-item small { display: block; }
.central-ranking-item strong { color: var(--text-base); font-size: 11px; }
.central-ranking-item small { margin-top: 2px; color: var(--text-secondary); font-size: 9.5px; }
.central-ranking-valor { text-align: right; }
.central-ranking-valor strong { color: var(--primary); font-variant-numeric: tabular-nums; }
.central-prioridades { display: grid; padding: 6px 14px 14px; }
.central-prioridades button { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 0; border: 0; border-top: 1px solid var(--border); background: transparent; color: var(--text-base); text-align: left; cursor: pointer; }
.central-prioridades button:first-child { border-top: 0; }
.central-prioridades button:hover strong { color: var(--primary); }
.central-prioridades button > i { color: var(--text-muted); font-size: 10px; }
.central-prioridade-icone { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 7px; background: var(--surface-2); color: var(--text-secondary); }
.central-prioridades strong,
.central-prioridades small { display: block; }
.central-prioridades strong { font-size: 11.5px; }
.central-prioridades small { margin-top: 2px; color: var(--text-secondary); font-size: 9.5px; }
.central-produtos-titulo-filtro { gap: 18px; }
.central-busca { position: relative; width: min(310px, 100%); }
.central-busca i { position: absolute; top: 50%; left: 11px; color: var(--text-secondary); font-size: 11px; transform: translateY(-50%); }
.central-busca input { width: 100%; min-height: 36px; padding-left: 31px; }
.central-produtos-tabela table { min-width: 1480px; }
.central-abc { display: inline-flex; min-width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 6px; background: var(--surface-2); color: var(--text-secondary); font-size: 10px; font-weight: 800; }
.central-abc-a { background: var(--primary-10); color: var(--primary); }
.central-abc-b { background: var(--info-soft); color: var(--info); }
.central-alertas-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); overflow: hidden; }
.central-alertas-resumo > div { display: grid; gap: 3px; padding: 11px 16px; }
.central-alertas-resumo > div + div { border-left: 1px solid var(--border); }
.central-alertas-resumo span { color: var(--text-secondary); font-size: 9.5px; text-transform: uppercase; letter-spacing: .03em; }
.central-alertas-resumo strong { color: var(--text-base); font-size: 14px; font-variant-numeric: tabular-nums; }
.central-matriz table { min-width: 920px; }
.central-matriz th small,
.central-matriz td small { display: block; margin-top: 3px; color: var(--text-secondary); font-size: 8.5px; font-weight: 400; white-space: nowrap; }

@media (max-width: 1000px) {
    .central-produtos-duas-colunas { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .central-alertas-resumo { grid-template-columns: repeat(2, 1fr); }
    .central-alertas-resumo > div:nth-child(3) { border-left: 0; }
    .central-alertas-resumo > div:nth-child(n+3) { border-top: 1px solid var(--border); }
    .central-produtos-titulo-filtro { align-items: stretch; flex-direction: column; }
    .central-busca { width: 100%; }
}
@media (max-width: 540px) {
    .central-produtos-filtros .campo,
    .central-produtos-filtros .campo:first-child,
    .central-produtos-filtros .btn { width: 100%; }
    .campo-sufixo input { width: 100%; }
}




.ajuda-fab {
    position: fixed;
    right: 22px; bottom: 22px;
    width: 52px; height: 52px;
    border-radius: 50%;
    border: 0;
    background: var(--marca-azul-escuro);
    color: var(--marca-amarelo);
    font-size: 21px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,.28);
    z-index: 900;
    transition: transform .16s var(--ease), box-shadow .16s var(--ease);
}
.ajuda-fab:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.34); }

.ajuda-pop { position: fixed; inset: 0; z-index: 1200; display: flex;
             align-items: flex-end; justify-content: flex-end; padding: 22px; }
.ajuda-fundo { position: absolute; inset: 0; background: rgba(0,0,0,.35); border: 0; cursor: default; }

.ajuda-card {
    position: relative;
    width: min(420px, 100%);
    max-height: min(620px, 88vh);
    display: flex; flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(0,0,0,.32);
    overflow: hidden;
}
.ajuda-card-topo { display: flex; align-items: flex-start; justify-content: space-between;
                   gap: 10px; padding: 16px 16px 10px; }
.ajuda-card-topo h2 { font-size: 17px; margin: 2px 0 0; }
.ajuda-eyebrow { font-size: 10.5px; text-transform: uppercase; letter-spacing: .8px;
                 color: var(--marca-amarelo); font-weight: 700; }

.ajuda-busca { position: relative; padding: 0 16px 12px; }
.ajuda-busca i {
    position: absolute; left: 28px; top: 20px; z-index: 1;
    color: var(--text-muted); font-size: 12px;
    transform: translateY(-50%); pointer-events: none;
}
.ajuda-busca input {
    appearance: none;
    width: 100%; min-height: 40px;
    padding: 8px 36px 8px 34px;
    border: 1px solid var(--border-forte);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text-base);
    font-family: inherit; font-size: 13.5px;
    transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.ajuda-busca input::placeholder { color: var(--text-muted); opacity: 1; }
.ajuda-busca input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-10);
}
.ajuda-busca input::-webkit-search-cancel-button { cursor: pointer; }

.ajuda-card-corpo { flex: 1; overflow-y: auto; padding: 0 10px 10px; min-height: 0; }
.ajuda-secao { font-size: 10.5px; text-transform: uppercase; letter-spacing: .8px;
               color: var(--text-muted); margin: 12px 6px 6px; }

.ajuda-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 10px; border-radius: 10px;
    color: var(--text-base); text-decoration: none;
}
.ajuda-item:hover { background: var(--surface-3); text-decoration: none; }
.ajuda-item-tipo {
    flex: none; font-size: 9.5px; text-transform: uppercase; letter-spacing: .5px;
    padding: 3px 7px; border-radius: 6px;
    background: var(--accent-dim); color: var(--marca-amarelo); font-weight: 700;
}
.ajuda-item-txt { flex: 1; min-width: 0; }
.ajuda-item-txt strong { display: block; font-size: 13.5px; }
.ajuda-item-txt small { display: block; color: var(--text-muted); font-size: 11.5px; line-height: 1.45; }
.ajuda-item > i { color: var(--text-muted); font-size: 11px; }

.ajuda-card-rodape { display: flex; gap: 8px; justify-content: space-between;
                     padding: 12px 16px; border-top: 1px solid var(--border); }


.ajuda-tour { position: fixed; inset: 0; z-index: 1300; }
.ajuda-tour-escuro { position: absolute; inset: 0; background: rgba(0,0,0,.55); }


.ajuda-holofote {
    position: fixed;
    border-radius: 10px;
    border: 2px solid var(--marca-amarelo);
    box-shadow: 0 0 0 9999px rgba(0,0,0,.55);
    pointer-events: none;
    transition: all .2s var(--ease);
}

.ajuda-tour-card {
    position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%);
    width: min(520px, calc(100% - 32px));
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(0,0,0,.4);
    overflow: hidden;
}
.ajuda-tour-barra { height: 3px; background: var(--surface-3); }
.ajuda-tour-barra span { display: block; height: 100%; width: 0;
                         background: var(--marca-amarelo); transition: width .25s var(--ease); }
.ajuda-tour-topo { display: flex; align-items: flex-start; gap: 12px; padding: 16px 16px 8px; }
.ajuda-tour-topo h2 { font-size: 17px; margin: 2px 0 0; }
.ajuda-tour-icone {
    flex: none; width: 38px; height: 38px; border-radius: 10px;
    display: grid; place-items: center;
    background: var(--accent-dim); color: var(--marca-amarelo);
}
.ajuda-tour-corpo { padding: 0 16px 14px; line-height: 1.65; color: var(--text-secondary); }
.ajuda-tour-rodape { display: flex; justify-content: space-between; align-items: center;
                     gap: 8px; padding: 12px 16px; border-top: 1px solid var(--border); }

@media (max-width: 640px) {
    .ajuda-fab { width: 44px; height: 44px; font-size: 17px; right: 14px; bottom: 14px; }
    .ajuda-pop { padding: 0; align-items: stretch; }
    .ajuda-card { width: 100%; max-height: 100%; border-radius: 0; }
}


@media (max-width: 800px) {
    .ajuda-fab { bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
}



.topbar-busca {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 auto;

    
    min-width: 0;
    max-width: 620px;

    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}

.topbar-busca:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-10);
    background: var(--surface);
}

.topbar-busca__botao {
    background: none;
    border: 0;
    cursor: pointer;
    padding: 0 10px 0 12px;
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1;
    display: grid;
    place-items: center;
}

.topbar-busca__botao:hover { color: var(--primary); }
.topbar-busca__camera { flex:0 0 40px; min-height:40px; padding:8px; border-left:1px solid var(--border); }
.topbar-camera-painel { position:absolute; top:calc(100% + 6px); left:0; width:min(420px,calc(100vw - 40px)); padding:12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); box-shadow:var(--shadow-md); z-index:1100; }
.topbar-camera-painel[hidden] { display:none; }
.topbar-camera-titulo { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.topbar-camera-painel p { font-size:12px; color:var(--text-muted); margin:8px 0; }
.topbar-camera-video { display:block; width:100%; max-height:240px; object-fit:cover; border-radius:4px; }

.topbar-busca input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: none;
    padding: 9px 12px 9px 0;
    font: inherit;
    font-size: 13.5px;
    color: var(--text-base);
}

.topbar-busca input[type="search"]:focus { outline: none; }


.topbar-busca input[type="search"]::-webkit-search-cancel-button { appearance: none; }



.topbar-busca__resultados {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 60;

    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-lg);

    
    max-height: min(70vh, 460px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
}

.busca-grupo + .busca-grupo { margin-top: 4px; }

.busca-grupo__titulo {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.busca-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    color: var(--text-base);
    text-decoration: none;
    border: 0;
    background: none;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.busca-item:hover,
.busca-item.is-marcado {
    background: var(--primary-5);
}


.busca-item.is-marcado { box-shadow: inset 2px 0 0 var(--primary); }

.busca-item__icone {
    width: 28px; height: 28px;
    border-radius: 7px;
    background: var(--primary-10);
    color: var(--primary);
    display: grid; place-items: center;
    font-size: 12px;
    flex-shrink: 0;
}

.busca-item__texto { min-width: 0; line-height: 1.3; }

.busca-item__titulo {
    display: block;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.busca-item__detalhe {
    display: block;
    font-size: 11.5px;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.busca-vazio,
.busca-carregando {
    padding: 18px 12px;
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
}

.busca-rodape {
    border-top: 1px solid var(--border);
    margin-top: 6px;
    padding: 9px 10px 5px;
    font-size: 11.5px;
    color: var(--text-muted);
    text-align: center;
}

.busca-rodape kbd {
    background: var(--surface-3);
    border: 1px solid var(--border);
    border-bottom-width: 2px;
    border-radius: 4px;
    padding: 1px 5px;
    font-size: 10.5px;
    font-family: inherit;
}



.topbar .loja-seletor {
    padding: 0;
    flex: 0 0 auto;
    margin-left: auto;
}


.topbar .loja-seletor__rotulo {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.topbar .loja-seletor__gatilho {
    width: auto;
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text-base);
    padding: 5px 10px;
    max-width: 260px;
}

.topbar .loja-seletor__gatilho:hover {
    background: var(--surface-3);
    border-color: var(--border-forte);
}


.topbar .loja-avatar--todas,
.topbar .loja-menu .loja-avatar--todas {
    background: var(--primary-10);
    color: var(--marca-azul, #062E62);
}

.topbar .loja-avatar--cdi,
.topbar .loja-menu .loja-avatar--cdi {
    background: var(--surface-3);
    color: var(--text-secondary, #44566f);
}

.topbar .loja-seletor__titulo { color: var(--text-base); }
.topbar .loja-seletor__sub { color: var(--text-muted); }
.topbar .loja-seletor__icones { color: var(--text-muted); }

.topbar .loja-menu {
    right: 0;
    left: auto;
    min-width: 300px;
}


@media (max-width: 900px) {
    .topbar {
        padding: 0 var(--sp-4);
        gap: var(--sp-3);
    }

    
    .topbar-busca { max-width: none; }

    .topbar-busca input[type="search"] { font-size: 16px; }

    

    
    .topbar .loja-seletor__texto,
    .topbar .loja-seletor__icones { display: none; }

    .topbar .loja-seletor__gatilho { padding: 5px; }

    .topbar .loja-menu {
        position: fixed;
        top: calc(var(--header-h) + 6px);
        right: var(--sp-4);
        left: var(--sp-4);
        min-width: 0;
    }

    .topbar-busca__resultados {
        position: fixed;
        top: calc(var(--header-h) + 4px);
        left: var(--sp-3);
        right: var(--sp-3);
        max-height: calc(100vh - var(--header-h) - 90px);
    }
}





.dono {
    max-width: 560px;
    margin: 0 auto;
    padding: 14px 14px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 100vh;
    background: var(--page-bg);
}


.dono-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dono-topo__rotulo {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.dono-topo__data {
    margin: 2px 0 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-base);
}

.dono-atualizar {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    
    min-height: 44px;
    padding: 0 14px;

    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text-secondary);
    font: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.dono-atualizar.is-girando i { animation: dono-girar .8s linear infinite; }

@keyframes dono-girar { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .dono-atualizar.is-girando i { animation: none; opacity: .5; }
}


.dono-total {
    background: var(--marca-azul);
    color: #fff;
    border-radius: 16px;
    padding: 20px 18px 16px;
}

.dono-total__rotulo {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .72;
}

.dono-total__valor {
    display: block;
    margin: 4px 0 6px;

    
    font-size: clamp(2rem, 11vw, 2.9rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
}

.dono-total__linha {
    display: flex;
    gap: 8px;
    font-size: 13px;
    opacity: .8;
}

.dono-comparacao {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.dono-comparacao__item strong {
    display: block;
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

.dono-comparacao__item--forte strong { font-size: 1.32rem; }

.dono-comparacao__item small {
    display: block;
    font-size: 10.5px;
    opacity: .72;
    line-height: 1.35;
    margin-top: 2px;
}


.dono-comparacao__item.subiu strong  { color: #7ee2a8; }
.dono-comparacao__item.caiu strong   { color: #ffb4b4; }
.dono-comparacao__item.neutro strong { color: rgba(255, 255, 255, .6); }


.dono-bloco {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px;
}

.dono-bloco__titulo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.dono-bloco__contagem {
    background: var(--primary-10);
    color: var(--marca-azul);
    border-radius: 999px;
    padding: 1px 8px;
    font-size: 11px;
    letter-spacing: 0;
}

.dono-vazio {
    margin: 0;
    padding: 6px 0;
    color: var(--text-muted);
    font-size: 14px;
}


.dono-loja + .dono-loja {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.dono-loja__cabecalho {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.dono-loja__nome {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-base);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dono-loja__valor {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.dono-loja__barra {
    height: 7px;
    background: var(--surface-3);
    border-radius: 999px;
    overflow: hidden;
    margin: 7px 0 5px;
}

.dono-loja__barra span {
    display: block;
    height: 100%;
    background: var(--marca-azul);
    border-radius: 999px;
}

.dono-loja__rodape {
    display: flex;
    justify-content: space-between;
    font-size: 11.5px;
    color: var(--text-muted);
}


.dono-caixa {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
}

.dono-caixa + .dono-caixa { border-top: 1px solid var(--border); }

.dono-caixa strong {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
}

.dono-caixa small {
    display: block;
    font-size: 11.5px;
    color: var(--text-muted);
    line-height: 1.4;
}

.dono-caixa__valor {
    font-size: 14px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.dono-caixa.is-demorado small { color: var(--marca-amarelo-forte, #d9b62f); }


.dono-meta__numeros {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.dono-meta__numeros strong {
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
}

.dono-meta__numeros span { font-size: 13px; color: var(--text-muted); }

.dono-meta__barra {
    position: relative;
    height: 12px;
    background: var(--surface-3);
    border-radius: 999px;
    margin: 12px 0 7px;
    overflow: visible;
}

.dono-meta__feito {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--marca-azul);
}

.is-no-ritmo .dono-meta__feito { background: #1f9d55; }
.is-atras .dono-meta__feito    { background: var(--marca-amarelo-forte, #d9b62f); }


.dono-meta__ritmo {
    position: absolute;
    top: -4px;
    bottom: -4px;
    width: 2px;
    background: var(--text-base);
    border-radius: 2px;
}

.dono-meta__rodape {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: var(--text-muted);
}


.dono-atencao {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 10px 4px;
    color: var(--text-base);
    text-decoration: none;
    font-size: 13.5px;
}

.dono-atencao + .dono-atencao { border-top: 1px solid var(--border); }

.dono-atencao span { flex: 1 1 auto; min-width: 0; }

.dono-atencao > i:first-child { font-size: 15px; }
.dono-atencao > i:last-child  { font-size: 12px; color: var(--text-muted); }

.dono-atencao.is-critico > i:first-child { color: #c0392b; }
.dono-atencao.is-alerta > i:first-child  { color: var(--marca-amarelo-forte, #d9b62f); }


.dono-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    padding-top: 12px;
}

.dono-rodape__marca {
    font-size: 11px;
    color: var(--text-muted);
    letter-spacing: .06em;
}



.conf {
    max-width: 520px;
    margin: 0 auto;
    min-height: 100vh;
    background: var(--page-bg);
    display: flex;
    flex-direction: column;
}


.conf-topo {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: var(--marca-azul);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 20;
}

.conf-voltar {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    text-decoration: none;
    flex: 0 0 auto;
}

.conf-topo__texto strong { display: block; font-size: 14px; }
.conf-topo__texto small  { display: block; font-size: 11.5px; opacity: .75; }


.conf-progresso {
    padding: 10px 12px 12px;
    background: var(--marca-azul);
    color: #fff;
    position: sticky;
    top: 60px;
    z-index: 19;
}

.conf-progresso__barra {
    height: 8px;
    background: rgba(255, 255, 255, .2);
    border-radius: 999px;
    overflow: hidden;
}

.conf-progresso__barra span {
    display: block;
    height: 100%;
    background: #7ee2a8;
    border-radius: 999px;
    transition: width .25s ease;
}

@media (prefers-reduced-motion: reduce) {
    .conf-progresso__barra span { transition: none; }
}

.conf-progresso__numeros {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 7px;
    font-size: 12px;
    opacity: .85;
}

.conf-progresso__numeros .tem-divergencia { color: #ffd166; opacity: 1; }


.conf-leitura,
.conf-contagem {
    padding: 16px 12px;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
}

.conf-rotulo {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 7px;
}

.conf-campo-codigo {
    display: flex;
    gap: 8px;
}

.conf-campo-codigo input,
.conf-contagem input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;

    
    height: 56px;
    padding: 0 14px;
    font-size: 20px;
    font-variant-numeric: tabular-nums;

    border: 2px solid var(--border-forte);
    border-radius: 12px;
    background: var(--surface);
    color: var(--text-base);
}

.conf-campo-codigo input:focus,
.conf-contagem input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-10);
}

.conf-camera {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 12px;
    border: 2px solid var(--border-forte);
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 18px;
    cursor: pointer;
}

.conf-camera.is-ativa {
    background: var(--marca-azul);
    border-color: var(--marca-azul);
    color: #fff;
}

.conf-camera.is-indisponivel,
.campo-leitor__botao.is-indisponivel {
    color: var(--text-muted);
    border-style: dashed;
}

.conf-video {
    display: block;
    width: 100%;
    max-height: 220px;
    margin-top: 10px;
    border-radius: 12px;
    background: #000;
    object-fit: cover;
}

.conf-dica {
    margin: 9px 0 14px;
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.45;
}

.conf-dica.is-erro {
    color: #c0392b;
    font-weight: 600;
}


.conf-botao {
    width: 100%;

    
    min-height: 54px;

    border: 0;
    border-radius: 12px;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.conf-botao--principal {
    background: var(--marca-azul);
    color: #fff;
}

.conf-botao--secundario {
    background: var(--surface-2);
    color: var(--text-secondary);
    border: 1px solid var(--border);
}

.conf-acoes {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 10px;
    margin-top: 14px;
}


.conf-produto {
    background: var(--primary-5);
    border: 1px solid var(--primary-20);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.conf-produto strong {
    display: block;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 3px;
}

.conf-produto small {
    display: block;
    font-size: 12.5px;
    color: var(--text-muted);
}

.conf-erro {
    margin: 12px 0 0;
    padding: 10px 12px;
    background: #fdecea;
    border-radius: 10px;
    color: #92231c;
    font-size: 13.5px;
    font-weight: 600;
}


.conf-recentes {
    flex: 1 1 auto;
    padding: 14px 12px 28px;
}

.conf-recentes__titulo {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.conf-vazio {
    margin: 0;
    color: var(--text-muted);
    font-size: 13.5px;
}

.conf-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    margin-bottom: 7px;
}

.conf-linha strong {
    display: block;
    font-size: 13.5px;
    line-height: 1.3;
}

.conf-linha small {
    display: block;
    font-size: 11.5px;
    color: var(--text-muted);
    margin-top: 2px;
}

.conf-linha__dif {
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--text-muted);
}


.conf-linha.tem-divergencia {
    border-color: var(--marca-amarelo-forte, #d9b62f);
    background: #fffbf0;
}

.conf-linha.tem-divergencia .conf-linha__dif {
    color: var(--marca-amarelo-forte, #d9b62f);
}


.conf-fim {
    padding: 0 12px 4px;
}

.conf-fim__aviso {
    margin: 0 0 12px;
    padding: 11px 13px;
    background: #fffbf0;
    border: 1px solid var(--marca-amarelo-forte, #d9b62f);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--text-secondary);
}

.conf-fim form {
    margin: 0;
}


.conf-extra {
    margin-top: 12px;
}

.conf-extra input {
    width: 100%;
    height: 50px;
    padding: 0 13px;
    font-size: 17px;
    border: 2px solid var(--border-forte);
    border-radius: 12px;
    background: var(--surface);
    color: var(--text-base);
}

.conf-extra input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-10);
}


.campo-leitor {
    display: flex;
    gap: 8px;
    align-items: stretch;
    flex-wrap: wrap;
}

.campo-leitor > input {
    flex: 1 1 120px;
    min-width: 0;
}

.campo-leitor__botao {
    flex: 0 0 auto;
    width: 42px;
    border: 1px solid var(--border-forte);
    border-radius: 8px;
    background: var(--surface-2);
    color: var(--text-secondary);
    font-size: 15px;
    cursor: pointer;
}

.campo-leitor__botao:hover {
    background: var(--surface-3, var(--surface-2));
    color: var(--text-base);
}

.campo-leitor__botao.is-ativa {
    background: var(--marca-azul);
    border-color: var(--marca-azul);
    color: #fff;
}


.campo-leitor__video {
    flex: 1 0 100%;
    width: 100%;
    max-height: 200px;
    margin-top: 8px;
    border-radius: 10px;
    background: #000;
    object-fit: cover;
}


.ajuda.is-erro {
    color: #c0392b;
    font-weight: 600;
}


.campo-senha {
    position: relative;
    display: block;
}

.campo-senha > input {
    width: 100%;
    padding-right: 42px;   
}

.campo-senha__olho {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 14px;
}

.campo-senha__olho:hover { color: var(--text-base); background: var(--surface-2); }

.campo-senha__olho:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}


.forca-senha { margin-top: 10px; }

.forca-senha__barras {
    display: flex;
    gap: 5px;
}

.forca-senha__barras span {
    flex: 1 1 0;
    height: 5px;
    border-radius: 999px;
    background: var(--border);
    transition: background .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .forca-senha__barras span { transition: none; }
}

.forca-senha__rotulo {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
    font-size: 12px;
    color: var(--text-muted);
}


.forca-senha[data-nivel="1"] .forca-senha__barras span:nth-child(-n+1) { background: #e5484d; }
.forca-senha[data-nivel="2"] .forca-senha__barras span:nth-child(-n+2) { background: #f59e0b; }
.forca-senha[data-nivel="3"] .forca-senha__barras span:nth-child(-n+3) { background: #84cc16; }
.forca-senha[data-nivel="4"] .forca-senha__barras span                 { background: #16a34a; }

.forca-senha[data-nivel="1"] .forca-senha__rotulo strong { color: #b3261e; }
.forca-senha[data-nivel="2"] .forca-senha__rotulo strong { color: #92600a; }
.forca-senha[data-nivel="3"] .forca-senha__rotulo strong { color: #4d7c0f; }
.forca-senha[data-nivel="4"] .forca-senha__rotulo strong { color: #15803d; }

.forca-senha__regras {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: grid;
    gap: 5px;
    font-size: 12.5px;
    color: var(--text-muted);
}

.forca-senha__regras li {
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.35;
}

.forca-senha__regras i {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--border);
    color: var(--surface);
    font-size: 8px;
    transition: background .15s ease;
}

.forca-senha__regras li.is-ok { color: var(--text-secondary); }
.forca-senha__regras li.is-ok i { background: #16a34a; }


.troca-senha {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px 16px;
    background: var(--page-bg);
}

.troca-senha__cartao {
    width: 100%;
    max-width: 420px;
    padding: 28px 26px 22px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
}

.troca-senha__marca {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

.troca-senha__marca img { max-height: 46px; max-width: 100%; }

.troca-senha__cartao h1 {
    margin: 0 0 8px;
    font-size: 21px;
    line-height: 1.25;
}

.troca-senha__texto {
    margin: 0 0 20px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--text-muted);
}

.troca-senha__aviso {
    margin-bottom: 16px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13.5px;
    line-height: 1.45;
}

.troca-senha__aviso--erro    { background: #fdecea; color: #92231c; }
.troca-senha__aviso--sucesso { background: #e8f6ee; color: #14603c; }
.troca-senha__aviso--aviso   { background: #fffbf0; color: #7a5c07; }

.troca-senha__form .campo { margin-bottom: 18px; }

.troca-senha__enviar {
    width: 100%;
    justify-content: center;
    min-height: 44px;
}

.troca-senha__sair {
    margin: 16px 0 0;
    text-align: center;
}

.troca-senha__sair .btn-link {
    border: 0;
    background: none;
    padding: 6px;
    color: var(--text-muted);
    font: inherit;
    font-size: 12.5px;
    cursor: pointer;
}


.troca-senha__sair .btn-link:hover { color: var(--text-base); }


@media (max-width: 380px) {
    .troca-senha { padding: 12px 8px; }
    .troca-senha__cartao { padding: 20px 14px 16px; border-radius: 12px; }
}


.app-rodape {
    min-height: 38px;
    padding: 6px 22px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 11px;
    letter-spacing: .025em;
}

.app-rodape__ponto {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: .6;
}

.app-rodape__credito {
    padding: 3px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: inherit;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.app-rodape__credito span {
    color: var(--text-muted);
    font-weight: 500;
    letter-spacing: 0;
    text-transform: lowercase;
}

.app-rodape__credito:hover {
    border-color: var(--border-forte);
    background: var(--surface-2);
    color: var(--text-base);
}


@media (max-width: 900px) {
    .app-rodape { padding-bottom: 78px; }
}


.atalhos {
    display: grid;
    gap: 26px;
}

.atalhos__titulo {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.atalhos__titulo i { font-size: 13px; }


.atalhos__grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr));
    gap: 10px;
}

.atalho {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: inherit;
    text-decoration: none;

    
    min-height: 62px;
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.atalho:hover {
    border-color: var(--primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .07);
}

@media (prefers-reduced-motion: reduce) {
    .atalho { transition: none; }
    .atalho:hover { transform: none; }
}

.atalho__icone {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--primary-10);
    color: var(--primary);
    font-size: 15px;
}


.atalho__texto {
    flex: 1 1 auto;
    min-width: 0;
}

.atalho__texto strong {
    display: block;
    font-size: 13.5px;
    line-height: 1.3;
}

.atalho__texto small {
    display: block;
    margin-top: 2px;
    font-size: 11.5px;
    line-height: 1.35;
    color: var(--text-muted);
}

.atalho__seta {
    flex: 0 0 auto;
    font-size: 11px;
    color: var(--text-muted);
    opacity: .5;
}


@media (max-width: 330px) {
    .atalho { padding: 11px; gap: 9px; }
    .atalho__icone { display: none; }
    .atalho__seta { display: none; }
}


.situacao {
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    overflow: hidden;
}

.situacao__topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
}

.situacao__titulo {
    margin: 0;
    font-size: 13.5px;
    font-weight: 800;
    color: var(--text-base);
}


.situacao__selo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.situacao__selo--ok {
    background: var(--sucesso-soft);
    color: var(--sucesso);
}

.situacao__selo--acao {
    background: rgba(220, 53, 69, .12);
    color: var(--perigo);
}


.situacao__lista {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
    gap: 1px;
    background: var(--border);
}

.situacao-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 16px;
    background: var(--surface);
    color: inherit;

    
    min-height: 60px;
    transition: background .15s ease;
}

.situacao-item:hover { background: var(--surface-2); color: inherit; }

@media (prefers-reduced-motion: reduce) {
    .situacao-item { transition: none; }
}

.situacao-item__icone {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: var(--surface-3);
    color: var(--text-muted);
    font-size: 13px;
}


.situacao-item__texto {
    flex: 1 1 auto;
    min-width: 0;
}

.situacao-item__texto strong {
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-base);
}

.situacao-item__texto small {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.35;
    color: var(--text-muted);
}

.situacao-item__valor {
    flex: 0 0 auto;
    min-width: 30px;
    text-align: right;
    font-size: 19px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: var(--text-base);
}


.situacao-item--zerado .situacao-item__texto strong { font-weight: 500; color: var(--text-secondary); }
.situacao-item--zerado .situacao-item__valor        { color: var(--text-muted); font-weight: 600; }

.situacao-item--critico .situacao-item__icone { background: rgba(220, 53, 69, .12); color: var(--perigo); }
.situacao-item--critico .situacao-item__valor { color: var(--perigo); }

.situacao-item--atencao .situacao-item__icone { background: rgba(217, 182, 47, .18); color: #9a7b06; }
.situacao-item--atencao .situacao-item__valor { color: #9a7b06; }


.situacao-item--informe .situacao-item__icone { background: var(--primary-10); color: var(--primary); }
.situacao-item--informe .situacao-item__valor { color: var(--primary); }


.grade-grafico {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    align-items: start;
}

@media (min-width: 1180px) {
    .grade-grafico { grid-template-columns: 1.6fr 1fr; }
}


@media (max-width: 320px) {
    .situacao-item { padding: 11px 12px; gap: 9px; }
    .situacao-item__texto small { display: none; }
    .situacao-item__icone { width: 30px; height: 30px; font-size: 12px; }
}

.seletor-remoto .seletor-remoto-listar { min-width: 44px; min-height: 42px; border-left: 1px solid var(--border); color: var(--primary); font-size: 17px; }
.seletor-remoto-listar:focus-visible { outline: 2px solid var(--primary); outline-offset: -3px; }
.seletor-catalogo { padding: 0; margin: auto; width: min(760px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text-base); font: 16px/1.5 var(--font-body); overflow: hidden; box-shadow: var(--shadow-lg); }
.seletor-catalogo[open] { display: flex; flex-direction: column; }
.seletor-catalogo::backdrop { background: rgba(8, 29, 67, .55); }
.seletor-catalogo-topo, .seletor-catalogo-rodape { flex: none; display: flex; gap: 12px; padding: 16px 20px; align-items: center; justify-content: space-between; }
.seletor-catalogo-topo { border-bottom: 1px solid var(--border); }
.seletor-catalogo-topo h2 { margin: 0; font-size: 20px; line-height: 1.3; }
.seletor-catalogo-busca { flex: none; padding: 14px 20px; }
.seletor-catalogo-busca label { display: grid; gap: 6px; font-size: 16px; }
.seletor-catalogo-busca input { width: 100%; min-width: 0; min-height: 44px; font: inherit; padding: 9px 12px; border: 1px solid var(--border-forte); border-radius: 6px; background: var(--surface); color: var(--text-base); }
.seletor-catalogo-busca input:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.seletor-catalogo-corpo { min-height: 100px; overflow: auto; overscroll-behavior: contain; }
.seletor-catalogo-tabela { width: 100%; table-layout: fixed; border-collapse: collapse; }
.seletor-catalogo-tabela th { position: sticky; top: 0; z-index: 1; background: var(--surface-2); text-align: left; }
.seletor-catalogo-tabela th:first-child { width: 88px; }
.seletor-catalogo-tabela th:last-child { width: 132px; }
.seletor-catalogo-tabela th, .seletor-catalogo-tabela td { padding: 10px 14px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.seletor-catalogo-tabela th button { border: 0; background: none; color: inherit; font: inherit; font-weight: 600; cursor: pointer; min-height: 44px; padding: 0; }
.seletor-catalogo .btn { min-height: 44px; white-space: normal; font-size: 15px; }
.seletor-catalogo-tabela .btn { padding: 8px; white-space: nowrap; }
.seletor-catalogo-tabela tr:focus-within { background: var(--primary-5); }
.seletor-catalogo button:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.seletor-catalogo-rodape { border-top: 1px solid var(--border); flex-wrap: wrap; }
.seletor-catalogo-rodape > div { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 480px) {
    .seletor-catalogo-topo, .seletor-catalogo-rodape, .seletor-catalogo-busca { padding: 12px; }
    .seletor-catalogo-tabela th:first-child { width: 60px; }
    .seletor-catalogo-tabela th:last-child { width: 110px; }
    .seletor-catalogo-tabela th, .seletor-catalogo-tabela td { padding: 8px; }
}

.seletor-remoto{position:relative}.seletor-remoto-campo{display:flex;align-items:center;border:1px solid var(--border-forte);border-radius:6px;background:var(--surface);min-height:38px}.seletor-remoto-campo:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.seletor-remoto-campo>i{color:var(--text-muted);margin-left:11px}.seletor-remoto-campo input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0;flex:1}.seletor-remoto-campo button{border:0;background:transparent;color:var(--text-muted);font-size:20px;padding:4px 11px;cursor:pointer}.seletor-remoto-resultados{position:absolute;z-index:80;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--border-forte);border-radius:7px;box-shadow:0 8px 24px rgba(15,35,65,.14);padding:5px}.seletor-remoto-resultados button{display:flex;width:100%;gap:10px;align-items:center;border:0;background:transparent;padding:9px 10px;text-align:left;border-radius:5px;color:inherit;cursor:pointer}.seletor-remoto-resultados button:hover,.seletor-remoto-resultados button:focus{background:var(--primary-5)}.seletor-remoto-id{font-family:var(--font-mono,monospace);color:var(--text-muted);min-width:52px}

.home-administrativa {
    display: grid;
    grid-template-rows: minmax(280px, 1fr) auto;
    gap: var(--sp-6);
    min-height: calc(100svh - 150px);
    max-width: 1440px;
    margin: 0 auto;
}
.home-administrativa__marca {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: clamp(32px, 4vw, 64px);
    border: 1px solid var(--marca-azul-logo);
    border-top: 4px solid var(--marca-amarelo);
    border-radius: var(--radius-lg);
    background: var(--marca-azul-logo);
    box-shadow: var(--shadow-sm);
    text-align: center;
}
.home-administrativa__marca img {
    display: block;
    width: min(100%, 1080px);
    height: auto;
    object-fit: contain;
}
.home-administrativa__acessos h2 { margin: 0 0 12px; font-size: 14px; font-weight: 700; }
.home-administrativa__atalhos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
    gap: 12px;
}
.home-administrativa__atalhos .atalho { padding: 18px 16px; min-height: 88px; }
.home-administrativa__atalhos .atalho:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
@media (max-width: 720px) {
    .home-administrativa { min-height: 0; grid-template-rows: auto auto; gap: 20px; }
    .home-administrativa__marca { min-height: 200px; padding: 28px 20px; }
    .home-administrativa__atalhos .atalho { min-height: 80px; padding: 16px; }
}