/**
 * XM Platform - Liquid Precision INDUSTRIAL RESET
 * Focus: Structural Stability and 100% Component Visibility.
 * Protocol: No modern-blur, no complex transitions, no dynamic opacity.
 */

:root {
    --primary: #2563EB;
    --primary-light: #EFF6FF;
    --background: #F1F5F9;
    --surface: #FFFFFF;
    --border: #CBD5E1; 
    --text-main: #1E293B;
    --text-muted: #64748B;
    --sidebar-width: 260px;
    --font-family: 'Inter', system-ui, sans-serif;
}

/* Base Industrial */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { 
    font-family: var(--font-family); 
    background: var(--background); 
    color: var(--text-main); 
    overflow-x: hidden;
}

/* --- Layout Estrutural SEGURO --- */
.xm-layout { display: flex; min-height: 100vh; width: 100%; }

/* Sidebar Colada e Imóvel */
.xm-sidebar {
    width: var(--sidebar-width);
    background: #FFFFFF;
    border-right: 2px solid var(--border);
    position: fixed;
    top: 0; left: 0; bottom: 0;
    z-index: 5000;
    display: flex;
    flex-direction: column;
}

/* Conteúdo Empurrado para a Direita */
.xm-main {
    flex: 1;
    margin-left: var(--sidebar-width);
    padding: 2rem;
    min-height: 100vh;
    background: var(--background);
}

.page-container { width: 100%; max-width: 1400px; }

/* Cabeçalho Mobile - DESATIVADO NO DESKTOP */
.mobile-header { display: none; }

/* --- Sidebar Itens (Visibilidade Garantida) --- */
.sidebar-header { padding: 2rem 1.5rem; background: #FFFFFF; }
.sidebar-content { flex: 1; overflow-y: auto; padding: 1rem; }

.sidebar-label { 
    font-size: 0.7rem; font-weight: 800; text-transform: uppercase; 
    color: var(--text-muted); margin: 1.5rem 0 0.5rem 0.5rem; 
}

.sidebar-menu { display: flex; flex-direction: column; gap: 0.5rem; }
.sidebar-link { 
    display: flex; align-items: center; gap: 0.75rem; 
    padding: 0.75rem 1rem; color: #1E293B; text-decoration: none; 
    border-radius: 8px; font-weight: 600; font-size: 0.95rem;
    border: 1px solid transparent;
}
.sidebar-link:hover { background: var(--primary-light); color: var(--primary); }
.sidebar-link.active { background: var(--primary); color: #FFFFFF; }

.sidebar-icon { width: 22px; height: 22px; stroke-width: 2.5; stroke: currentColor; opacity: 1; }

/* --- Componentes --- */
.card { background: #FFFFFF; border: 1px solid var(--border); border-radius: 12px; padding: 2rem; margin-bottom: 2.5rem; }
.page-title { font-size: 2.25rem; font-weight: 800; color: var(--text-main); margin-bottom: 0.5rem; }
.btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; border-radius: 8px; font-weight: 700; cursor: pointer; text-decoration: none; }
.btn-primary { background: #1E293B; color: white; border: none; }
.btn-secondary { background: white; border: 1px solid var(--border); color: var(--text-main); }

/* --- Responsivo Robusto --- */
@media (max-width: 1024px) {
    .mobile-header { display: flex; height: 60px; background: white; border-bottom: 2px solid var(--border); align-items: center; justify-content: space-between; padding: 0 1rem; position: sticky; top: 0; z-index: 5100; }
    .xm-sidebar { transform: translateX(-100%); transition: transform 0.2s ease; }
    .xm-sidebar.active { transform: translateX(0); }
    .xm-main { margin-left: 0; padding: 1.25rem; }
}
