/* LOGO OFICIAL — SmarteSST Pro
   Troca visual da marca sem alterar rotas, banco ou permissões. */

:root {
    --smartesst-logo-size-header: 64px;
    --smartesst-logo-size-sidebar: 70px;
    --smartesst-logo-size-compact: 48px;
}

.sst-brand-logo-holder,
.brand-logo-mark,
.brand-icon.sst-brand-logo-holder,
.logo-icon.sst-brand-logo-holder,
.sidebar-brand .sst-brand-logo-holder,
header .sst-brand-logo-holder,
nav .sst-brand-logo-holder {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--smartesst-logo-size-header) !important;
    height: var(--smartesst-logo-size-header) !important;
    min-width: var(--smartesst-logo-size-header) !important;
    min-height: var(--smartesst-logo-size-header) !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    color: transparent !important;
    text-indent: 0 !important;
}

.sst-brand-logo-img,
.sst-brand-logo-holder img,
.brand-logo img,
.sidebar-logo-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    max-width: none !important;
    max-height: none !important;
    filter: drop-shadow(0 10px 18px rgba(2, 6, 23, .14));
}

/* Cabeçalho público */
header .sst-brand-logo-holder,
.topbar .sst-brand-logo-holder,
.navbar .sst-brand-logo-holder,
.home-header .sst-brand-logo-holder,
.landing-header .sst-brand-logo-holder {
    width: var(--smartesst-logo-size-header) !important;
    height: var(--smartesst-logo-size-header) !important;
    min-width: var(--smartesst-logo-size-header) !important;
}

/* Menu lateral interno */
aside .sst-brand-logo-holder,
.sidebar .sst-brand-logo-holder,
.app-sidebar .sst-brand-logo-holder,
.menu-lateral .sst-brand-logo-holder,
.layout-sidebar .sst-brand-logo-holder {
    width: var(--smartesst-logo-size-sidebar) !important;
    height: var(--smartesst-logo-size-sidebar) !important;
    min-width: var(--smartesst-logo-size-sidebar) !important;
}

/* Ajuste do bloco de marca existente */
.sidebar-brand,
.app-brand,
.brand,
.logo-area,
.logo-wrap,
[class*="brand"]:has(.sst-brand-logo-holder) {
    align-items: center !important;
}

/* Quando houver texto SmarteSST ao lado da logo */
.sst-brand-logo-applied strong,
.sst-brand-logo-applied .brand-title,
.sst-brand-logo-applied [class*="brand-title"] {
    letter-spacing: -0.03em;
}

/* PDF/documentos quando usarem a classe */
.logo-smartesst-documento {
    width: 72px;
    height: auto;
    object-fit: contain;
}

.logo-smartesst-rodape {
    width: 38px;
    height: auto;
    object-fit: contain;
    opacity: .9;
}

@media (max-width: 760px) {
    :root {
        --smartesst-logo-size-header: 54px;
        --smartesst-logo-size-sidebar: 60px;
    }
}