/*
 * Directorio de médicos Odellā — capa de marca sobre Filament.
 * Toolkit: Poppins (texto 200, énfasis 400), Azul Odell Navy #041E42 y blanco,
 * ondas con opacidad y terminaciones curvas.
 */
:root {
    --od-navy: #041E42;
    --od-navy-suave: rgba(4, 30, 66, 0.08);
    --od-radio: 18px;
}

body.fi-body,
.fi-body {
    font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif;
    font-weight: 200;
    color: var(--od-navy);
    background: #f6f8fb;
}

/* Énfasis: títulos, botones, etiquetas y encabezados de tabla en 400. */
.fi-body h1, .fi-body h2, .fi-body h3,
.fi-header-heading, .fi-section-header-heading,
.fi-btn, .fi-badge, .fi-fo-field-label-content, .fi-fo-field-wrp-label,
.fi-ta-header-cell, .fi-sidebar-item-label, .fi-sidebar-group-label,
.fi-tabs-item, .fi-wi-stats-overview-stat-value, .fi-body strong {
    font-weight: 400 !important;
}

.fi-body input, .fi-body select, .fi-body textarea { font-weight: 200; }

/* Marca en texto mientras se añade el logo oficial en SVG. */
.od-brand {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.05;
    font-size: 1.45rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--od-navy);
}
.od-brand small {
    font-size: 0.62rem;
    font-weight: 200;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.75;
    margin-top: 4px;
}

/* Terminaciones curvas. */
.fi-btn, .fi-input-wrp, .fi-select-input, .fi-badge { border-radius: 999px !important; }
.fi-fo-textarea .fi-input-wrp, .fi-fo-rich-editor, .fi-fo-file-upload .fi-input-wrp { border-radius: var(--od-radio) !important; }
.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-modal-window, .fi-fo-repeater-item {
    border-radius: var(--od-radio) !important;
    box-shadow: 0 1px 2px rgba(4, 30, 66, 0.04), 0 8px 24px rgba(4, 30, 66, 0.05) !important;
}

/* Botón principal en Navy pleno, no en el tono claro que genera Filament. */
.fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) {
    background-color: var(--od-navy) !important;
    color: #ffffff !important;
}
.fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover { background-color: #0a2f63 !important; }
.fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) svg { color: #ffffff !important; }

/* El subtítulo de la marca no debe montarse sobre lo que sigue. */
.fi-logo { height: auto !important; }
.fi-simple-header { gap: 1.25rem; }

/* Menú lateral. */
.fi-sidebar { background: #ffffff; border-inline-end: 1px solid var(--od-navy-suave); }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
.fi-sidebar-item-btn:hover { background: var(--od-navy-suave) !important; border-radius: 999px; }
.fi-sidebar-item-btn { border-radius: 999px; }
.fi-topbar { background: #ffffff; box-shadow: none; border-bottom: 1px solid var(--od-navy-suave); }

/* Inicio de sesión: fondo navy con ondas. */
.fi-simple-layout {
    background-color: var(--od-navy);
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 600' preserveAspectRatio='none'%3E%3Cpath d='M0 380 C 240 260 480 500 720 380 S 1200 260 1440 380 V600 H0Z' fill='%23ffffff' fill-opacity='0.05'/%3E%3Cpath d='M0 450 C 300 340 520 560 800 450 S 1240 360 1440 460 V600 H0Z' fill='%23ffffff' fill-opacity='0.06'/%3E%3Cpath d='M0 520 C 280 440 560 600 860 520 S 1260 470 1440 530 V600 H0Z' fill='%23ffffff' fill-opacity='0.08'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}
.fi-simple-main {
    border-radius: 28px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28) !important;
}
.fi-simple-layout .od-brand { align-items: center; font-size: 2rem; }
