/**
 * Shell clean — layout integrado, confortável para uso prolongado.
 * Sidebar colada ao conteúdo (sem “card flutuante”), light mode legível.
 */

/* ---- Tokens do shell ---- */
body.rebrand-v3 {
    --shell-bg: #F0F2F5;
    --shell-sidebar: #E8ECF1;
    --shell-sidebar-border: #D5DCE5;
    --shell-sidebar-text: #475569;
    --shell-sidebar-muted: #64748B;
    --shell-sidebar-hover: rgba(15, 23, 42, 0.05);
    --shell-sidebar-active-bg: #FFFFFF;
    --shell-main: #F4F6F8;
    --shell-radius: 6px;
    background: var(--shell-bg) !important;
}

[data-theme="dark"] body.rebrand-v3 {
    --shell-bg: #0B1120;
    --shell-sidebar: #0F172A;
    --shell-sidebar-border: #1E293B;
    --shell-sidebar-text: #94A3B8;
    --shell-sidebar-muted: #64748B;
    --shell-sidebar-hover: rgba(255, 255, 255, 0.04);
    --shell-sidebar-active-bg: rgba(249, 115, 22, 0.1);
    --shell-main: #0B1120;
}

/* ---- Layout full-height, sem gap entre painéis ---- */
body.rebrand-v3 .app-container {
    gap: 0 !important;
    padding: 0 !important;
    height: 100vh;
    width: 100vw;
    max-width: 100%;
}

body.rebrand-v3 .sidebar {
    width: 268px !important;
    min-width: 268px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: none !important;
    border-right: 1px solid var(--shell-sidebar-border) !important;
    background: var(--shell-sidebar) !important;
    padding: 0 !important;
}

body.rebrand-v3 .main-content {
    flex: 1;
    min-width: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--shell-main) !important;
    padding: 1.25rem 1.5rem 1.75rem !important;
    overflow-y: auto;
}

/* ---- Sidebar: topo e logo ---- */
body.rebrand-v3 .sidebar-top {
    border-bottom: 1px solid var(--shell-sidebar-border);
    padding: 0.75rem 0.65rem 0.5rem;
}

body.rebrand-v3 .sidebar-logo {
    border-bottom: none !important;
    padding: 0.35rem 0.5rem !important;
    margin-bottom: 0 !important;
}

body.rebrand-v3 .sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.rebrand-v3 .sidebar-logo img {
    max-height: 56px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

body.rebrand-v3 .sidebar-imob-name {
    display: none !important;
}

body.rebrand-v3 .sidebar-collapse-btn {
    background: var(--shell-sidebar-hover);
    border-color: var(--shell-sidebar-border);
    color: var(--shell-sidebar-text);
    border-radius: var(--shell-radius);
}

body.rebrand-v3 .sidebar-bottom {
    background: transparent !important;
    border-top: 1px solid var(--shell-sidebar-border) !important;
    padding: 0.5rem 0.65rem 0.75rem;
}

/* ---- Navegação ---- */
body.rebrand-v3 .nav-link {
    min-height: 38px !important;
    padding: 0.5rem 0.65rem !important;
    border-radius: var(--shell-radius) !important;
    border: none !important;
    border-left: 3px solid transparent !important;
    color: var(--shell-sidebar-text) !important;
    font-size: 0.8125rem !important;
    font-weight: 500;
}

body.rebrand-v3 .nav-link i {
    color: var(--shell-sidebar-muted) !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
}

body.rebrand-v3 .nav-link:hover {
    background: var(--shell-sidebar-hover) !important;
    color: var(--text) !important;
    border-left-color: transparent !important;
    transform: none !important;
}

body.rebrand-v3 .nav-link:hover i {
    color: var(--primary) !important;
}

body.rebrand-v3 .nav-link.active {
    background: var(--shell-sidebar-active-bg) !important;
    color: var(--primary-dark) !important;
    border: none !important;
    border-left: 3px solid var(--primary) !important;
    box-shadow: none !important;
    font-weight: 600;
}

[data-theme="dark"] body.rebrand-v3 .nav-link.active {
    color: #FB923C !important;
}

body.rebrand-v3 .nav-link.active i {
    color: var(--primary) !important;
}

body.rebrand-v3 .nav-section-toggle {
    color: var(--shell-sidebar-muted) !important;
    font-size: 0.62rem;
    letter-spacing: 0.07em;
    padding: 0.5rem 0.45rem 0.25rem;
    margin-top: 0.5rem;
}

body.rebrand-v3 .nav-section-toggle:hover {
    background: var(--shell-sidebar-hover) !important;
    color: var(--shell-sidebar-text) !important;
}

/* ---- Rodapé sidebar (usuário / tema) ---- */
body.rebrand-v3 .sidebar-footer {
    border-top: none !important;
    padding-top: 0.5rem !important;
}

body.rebrand-v3 .user-name {
    color: var(--text) !important;
}

body.rebrand-v3 .user-role {
    color: var(--shell-sidebar-muted) !important;
}

body.rebrand-v3 .sidebar-sync-bar {
    background: var(--shell-sidebar-hover);
    border: 1px solid var(--shell-sidebar-border);
    color: var(--shell-sidebar-muted);
}

body.rebrand-v3 #theme-toggle,
body.rebrand-v3 .nav-link-theme {
    color: var(--shell-sidebar-text) !important;
    border: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.rebrand-v3 #theme-toggle:hover,
body.rebrand-v3 .nav-link-theme:hover {
    background: var(--shell-sidebar-hover) !important;
    color: var(--primary) !important;
}

body.rebrand-v3 .logout-link {
    color: var(--shell-sidebar-muted) !important;
}

body.rebrand-v3 .logout-link:hover {
    color: var(--primary) !important;
}

body.rebrand-v3 .nav-impersonate-banner {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
}

/* ---- Área principal: menos “caixas dentro de caixas” ---- */
body.rebrand-v3 .rebrand-view-topbar {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--shell-radius);
    box-shadow: var(--shadow-xs);
    padding: 0.75rem 1rem;
    position: sticky;
    top: 0;
    z-index: 4;
}

[data-theme="dark"] body.rebrand-v3 .rebrand-view-topbar {
    background: var(--surface);
    border-color: var(--border);
}

body.rebrand-v3 .rebrand-quick-action {
    border-radius: var(--shell-radius);
    font-size: 0.8125rem;
}

body.rebrand-v3 .kpi-card,
body.rebrand-v3 .card,
body.rebrand-v3 .form-container,
body.rebrand-v3 .table-container,
body.rebrand-v3 .header-context {
    border-radius: var(--shell-radius) !important;
    box-shadow: var(--shadow-xs) !important;
}

body.rebrand-v3 .kpi-card {
    border: 1px solid var(--border);
}

/* Alertas do dashboard — menos saturados no light (menos fadiga visual) */
[data-theme="light"] body.rebrand-v3 .alert-card {
    border-radius: var(--shell-radius);
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    font-weight: 600;
}

[data-theme="light"] body.rebrand-v3 .alert-warning {
    background: #FFF8F0 !important;
    color: #9A3412 !important;
    border-color: #FED7AA !important;
}

[data-theme="light"] body.rebrand-v3 .alert-card[style*="error-light"],
[data-theme="light"] body.rebrand-v3 .alert-danger {
    background: #FEF2F2 !important;
    color: #B91C1C !important;
    border-color: #FECACA !important;
    border-left: 3px solid #EF4444 !important;
}

[data-theme="light"] body.rebrand-v3 .kpi-card {
    background: var(--surface);
}

/* Modo compacto */
body.rebrand-v3.sidebar-collapsed .sidebar,
body.sidebar-collapsed.rebrand-v3 .sidebar {
    width: 72px !important;
    min-width: 72px !important;
}

/* Mobile */
@media (max-width: 900px) {
    body.rebrand-v3 .app-container {
        padding: 0 !important;
    }

    body.rebrand-v3 .sidebar {
        border-radius: 0 !important;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15) !important;
    }

    body.rebrand-v3 .main-content {
        padding: 1rem !important;
    }
}

/* Superadmin — barra e menu */
.superadmin-topbar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(90deg, #ea580c, #f97316);
    color: #fff;
    font-size: 0.85rem;
    z-index: 9999;
    position: sticky;
    top: 0;
}

.superadmin-topbar .btn {
    color: #9a3412;
    background: #fff;
    border: none;
}

.nav-superadmin-hint {
    padding: 0.65rem 0.75rem;
    margin: 0 0.5rem 0.75rem;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--shell-sidebar-muted);
    background: rgba(249, 115, 22, 0.12);
    border-radius: var(--shell-radius);
    border-left: 3px solid #f97316;
}

.logs-row-error td {
    background: rgba(239, 68, 68, 0.08) !important;
}

.logs-row-undone td {
    opacity: 0.65;
}

.sa-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    z-index: 10000;
    overflow-y: auto;
    padding: 1rem;
}

body.superadmin-global .rebrand-view-title strong::after {
    content: ' · Superadmin';
    font-weight: 600;
    color: #ea580c;
    font-size: 0.85em;
}
