/* Variáveis de Cores (Principal) */
:root {
    --bg-main: 15 23 42;
    /* #0F172A */
    --bg-card: 30 41 59;
    /* #1E293B */
    --bg-sidebar: 17 24 39;
    /* #111827 */
    --bg-input: 51 65 85;
    /* #334155 */
    --text-main: 229 231 235;
    /* #E5E7EB */
    --text-muted: 156 163 175;
    /* #9CA3AF */

    --orange: 249 115 22;
    --green: 34 197 94;
    --yellow: 250 204 21;
    --purple: 168 85 247;
    --blue: 59 130 246;
    --red: 239 68 68;
}

/* Variáveis de Tema (Light) */
html.light {
    --bg-main: 250 250 250;
    /* #FFFFFF */
    --bg-card: 204 206 208;
    /* #BCBEC0 */
    --bg-sidebar: 255 255 255;
    /* #FFFFFF */
    --bg-input: 184 186 188;
    /* #BCBEC0 */
    --text-main: 19 24 34;
    /* #1E293B */
    --text-muted: 51 65 85;
    /* #475569 */
}

html, body {
    max-width: 100vw;
    overflow-x: hidden;
}

* {
    outline: none;
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--orange)) rgb(var(--bg-card));
}


.montserrat {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

header,
.sidebar-logo-container {
    height: 73px !important;
    min-height: 73px !important;
    max-height: 73px !important;
}

.brand-title {
    font-size: 1.65rem !important;
    letter-spacing: 0.06em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html.light .dark-logo {
    display: none !important;
}

html.light .light-logo {
    display: block !important;
}

/* Estilos base para inputs e modais herdarem o tema automaticamente caso existam nas sub-páginas */
input,
select,
textarea {
    background-color: rgb(var(--bg-input));
    color: rgb(var(--text-main));
    border-color: rgb(var(--bg-input));
}

.occurrence-card {
    background: rgba(15, 23, 42, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.04) !important;
    border-left-width: 4px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.occurrence-card:hover {
    transform: translateY(-2px);
    border-color: rgba(249, 115, 22, 0.35) !important;
    background: rgba(15, 23, 42, 0.6) !important;
    box-shadow: 0 8px 20px -6px rgba(249, 115, 22, 0.2);
}

html.light .occurrence-card {
    background: rgb(var(--bg-card)) !important;
    border-color: rgb(var(--bg-input)) !important;
}

/* ----- ESTILOS ESPECÍFICOS DA TELA DE LOGIN ----- */
.glassmorphism {
    background: rgba(var(--bg-card), 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(var(--orange), 0.3);
    /* Borda laranja sutil */
}

.glow-effect {
    box-shadow: 0 0 40px -5px rgba(var(--orange), 0.15);
    /* Brilho laranja */
}

/* Redução do z-index dos controles e do zoom do Leaflet (+ e -) para não sobrepor o menu lateral mobile */
.leaflet-top,
.leaflet-bottom,
.leaflet-pane,
.leaflet-control-zoom,
.leaflet-control {
    z-index: 10 !important;
}

/* Marcadores Customizados InMap */
.custom-tec-marker {
    z-index: 1000 !important;
}
.custom-cto-marker {
    z-index: 500 !important;
}
.custom-client-marker {
    z-index: 400 !important;
}
