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

user agent stylesheet div {
    display: block;
    unicode-bidi: isolate;
}

body {
    margin: 0;
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff;
}

.brand img {
    height: 120px;
}

img {
    vertical-align: middle;
    border-style: none;
}

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

user agent stylesheet img {
    overflow-clip-margin: content-box;
    overflow: clip;
}

.brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
    flex-direction: column;
    text-align: center;
}

body {
    margin: 0;
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff;
}

:root {
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

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

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

/* ---- Login left side background and particles container ---- */
.hero-side {
    position: relative;
    min-height: 100vh; /* ensure full column height */
    /* Background image + fallback color for particles contrast */
    background-image: linear-gradient(rgba(11,18,32,0.55), rgba(11,18,32,0.55)), url('/img/fondo_medic.webp');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#particles-js {
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    width: 100%;
    height: 100%;
}

/* On smaller screens (where left side is hidden), ensure overall background is not pure white */
@media (max-width: 991.98px) {
    body {
        /* Show same background on mobile when left panel is hidden */
        background-color: #0b1220;
        background-image: linear-gradient(rgba(11,18,32,0.6), rgba(11,18,32,0.6)), url('/img/fondo_medic.webp');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }
}

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

/* ---- Prevent vertical scroll on desktop for login layout ---- */
html, body { height: 100%; }
.container-fluid.p-0, .row.no-gutters { min-height: 100vh; }
@media (min-width: 992px) {
    body { overflow-y: hidden; }
}
