/* Brotas Saúde — identidade visual do painel (Filament 5, sem build: mira as classes fi-*).
   Paleta do logo: azul royal #2F66BE, turquesa #7FDCD8/#1aa39c, azul vivo #286efb. */
:root {
    --bs-royal: #2F66BE;
    --bs-azul: #286efb;
    --bs-turquesa: #7FDCD8;
    --bs-turquesa-forte: #1aa39c;
    --bs-fundo: #eef2f8;
    --bs-janela: #ffffff;
    --bs-borda: #dde4ee;
    --bs-lateral: #f6f8fc;
    --bs-sombra: 0 1px 2px rgb(16 42 90 / .06), 0 4px 14px -6px rgb(16 42 90 / .12);
}
.dark {
    --bs-fundo: #0c1424;
    --bs-janela: #111b2e;
    --bs-borda: rgb(255 255 255 / .08);
    --bs-lateral: #0f1829;
    --bs-sombra: 0 1px 2px rgb(0 0 0 / .4), 0 6px 18px -8px rgb(0 0 0 / .6);
}

/* ---------- Painel com cara de programa de computador ---------- */
.fi-body.fi-body-has-topbar { background: var(--bs-fundo); font-size: .9rem; }

/* barra de título */
.fi-topbar-ctn { position: sticky; top: 0; z-index: 30; }
.fi-topbar {
    background: linear-gradient(90deg, #1d4690 0%, var(--bs-royal) 55%, #2a8f9a 100%) !important;
    color: #fff; min-height: 3.25rem; box-shadow: 0 2px 10px -4px rgb(16 42 90 / .45); border-bottom: 0 !important;
}
.fi-topbar .fi-icon-btn, .fi-topbar .fi-topbar-item-btn, .fi-topbar .fi-user-menu-trigger, .fi-topbar .fi-topbar-database-notifications-btn { color: rgb(255 255 255 / .9) !important; }
.fi-topbar .fi-icon-btn:hover, .fi-topbar .fi-topbar-item-btn:hover { background: rgb(255 255 255 / .14) !important; color: #fff !important; }
.fi-topbar .fi-logo { background: #fff; border-radius: .55rem; padding: .25rem .6rem; box-shadow: 0 2px 8px -3px rgb(0 0 0 / .3); }
.fi-topbar .fi-global-search-field .fi-input-wrp {
    background: rgb(255 255 255 / .16) !important; border-color: transparent !important; box-shadow: none !important; border-radius: .5rem;
}
.fi-topbar .fi-global-search-field input { color: #fff !important; }
.fi-topbar .fi-global-search-field input::placeholder { color: rgb(255 255 255 / .75) !important; }
.fi-topbar .fi-global-search-field svg { color: rgb(255 255 255 / .8) !important; }
.fi-topbar .fi-global-search-field .fi-input-wrp:focus-within { background: #fff !important; }
.fi-topbar .fi-global-search-field .fi-input-wrp:focus-within input { color: #1e293b !important; }
.fi-topbar .fi-global-search-field .fi-input-wrp:focus-within svg { color: #64748b !important; }
.fi-topbar .fi-user-menu-trigger .fi-avatar, .fi-topbar [class*="fi-avatar"] { box-shadow: 0 0 0 2px rgb(255 255 255 / .6); }

/* barra lateral */
.fi-sidebar { background: var(--bs-lateral) !important; border-right: 1px solid var(--bs-borda); }
.fi-sidebar-header { background: var(--bs-janela) !important; border-bottom: 1px solid var(--bs-borda); box-shadow: none !important; }
.fi-sidebar-nav { padding-top: .75rem !important; }
.fi-sidebar-group-label { font-size: .7rem !important; text-transform: uppercase; letter-spacing: .06em; color: #7b8aa0 !important; font-weight: 700 !important; }
.fi-sidebar-item-btn { border-radius: .45rem !important; padding-block: .4rem !important; }
.fi-sidebar-item-label { font-size: .86rem; }
.fi-sidebar-item-btn:hover { background: rgb(47 102 190 / .08) !important; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: linear-gradient(90deg, rgb(47 102 190 / .16), rgb(127 220 216 / .12)) !important;
    box-shadow: inset 3px 0 0 var(--bs-royal);
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-icon { color: var(--bs-royal) !important; font-weight: 600; }
.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-icon { color: #9dbdf0 !important; }
.fi-tenant-menu-trigger { border-radius: .6rem !important; }
.fi-tenant-menu-trigger:hover { background: rgb(47 102 190 / .08) !important; }

/* área de trabalho: conteúdo em "janelas" */
.fi-main { padding-top: 1.1rem !important; }
.fi-header { background: var(--bs-janela); border: 1px solid var(--bs-borda); border-radius: .75rem; padding: .85rem 1.1rem; box-shadow: var(--bs-sombra); margin-bottom: .25rem; }
.fi-header-heading { font-size: 1.35rem !important; letter-spacing: -.01em; }
.fi-header-subheading { font-size: .85rem !important; }
.fi-section:not(.fi-section-not-contained), .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-fo-tabs, .fi-sc-tabs {
    background: var(--bs-janela) !important; border: 1px solid var(--bs-borda) !important; border-radius: .75rem !important;
    box-shadow: var(--bs-sombra) !important; --tw-ring-shadow: 0 0 #0000 !important;
}
.fi-section-header { background: linear-gradient(180deg, rgb(47 102 190 / .045), transparent); border-bottom: 1px solid var(--bs-borda); }
.fi-section-header-heading { font-size: .95rem !important; }
.fi-ta-header { border-bottom: 1px solid var(--bs-borda); }
.fi-ta-header-cell { background: #f3f6fb; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.dark .fi-ta-header-cell { background: rgb(255 255 255 / .03); }
.fi-ta-row:hover { background: rgb(47 102 190 / .045) !important; }

/* botões e campos um pouco mais "de programa" */
.fi-btn { border-radius: .5rem !important; }
.fi-input-wrp { border-radius: .5rem !important; }
.fi-input-wrp:focus-within { box-shadow: 0 0 0 3px rgb(47 102 190 / .18) !important; }
.fi-modal-window { border-radius: .9rem !important; }
.fi-dropdown-panel { border-radius: .65rem !important; }
.fi-badge { border-radius: .4rem !important; }

/* barras de rolagem finas, como em aplicativo */
.fi-body * { scrollbar-width: thin; scrollbar-color: #b9c4d6 transparent; }
.fi-body *::-webkit-scrollbar { width: 8px; height: 8px; }
.fi-body *::-webkit-scrollbar-thumb { background: #c3ccda; border-radius: 8px; }
.dark .fi-body * { scrollbar-color: #334155 transparent; }

/* ---------- Entrar, cadastrar e recuperar senha ---------- */
.fi-simple-layout:has(> .bs-auth-lado) {
    display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: 100vh; background: var(--bs-janela); padding: 0 !important; margin: 0 !important; align-items: stretch !important; justify-content: stretch !important;
}
.fi-body:has(.bs-auth-lado) { margin: 0; padding: 0; }
.fi-simple-layout:has(> .bs-auth-lado) .fi-simple-main-ctn {
    display: flex; align-items: center; justify-content: center; padding: 2rem 1.5rem; min-height: 100vh;
    background: radial-gradient(circle at 85% 10%, rgb(127 220 216 / .18), transparent 40%), var(--bs-janela);
}
.fi-simple-layout:has(> .bs-auth-lado) .fi-simple-main {
    width: 100%; max-width: 27rem; background: transparent !important; box-shadow: none !important; --tw-ring-shadow: 0 0 #0000 !important; padding: 0 !important; margin: 0 !important;
}
.fi-simple-layout:has(> .bs-auth-lado) .fi-simple-header-heading { font-size: 1.6rem !important; letter-spacing: -.02em; }
.fi-simple-layout:has(> .bs-auth-lado) .fi-simple-header .fi-logo { display: none; }
.fi-simple-layout:has(> .bs-auth-lado) .fi-btn { border-radius: 999px !important; }
.fi-simple-layout:has(> .bs-auth-lado) .fi-simple-page-content form .fi-btn[type="submit"] {
    background: var(--bs-azul) !important; box-shadow: 0 10px 22px -10px rgb(40 110 251 / .8); padding-block: .7rem;
}
.bs-auth-mobile-logo { display: none; margin: 0 auto 1.5rem; height: 2.8rem; width: auto; }

.bs-auth-lado {
    position: relative; overflow: hidden; color: #fff; padding: 3rem 3.5rem; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(145deg, #173a7a 0%, var(--bs-royal) 50%, #238f98 100%);
}
.bs-auth-lado::before, .bs-auth-lado::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.bs-auth-lado::before { width: 30rem; height: 30rem; right: -9rem; top: -9rem; background: radial-gradient(circle, rgb(127 220 216 / .35), transparent 70%); }
.bs-auth-lado::after { width: 26rem; height: 26rem; left: -10rem; bottom: -12rem; background: radial-gradient(circle, rgb(40 110 251 / .45), transparent 70%); }
.bs-auth-lado > * { position: relative; z-index: 1; }
.bs-auth-lado .logo { height: 3rem; width: auto; }
.bs-auth-lado h2 { font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1.15; margin: 2rem 0 .75rem; font-weight: 800; letter-spacing: -.02em; }
.bs-auth-lado p { color: rgb(255 255 255 / .86); margin: 0 0 1.25rem; max-width: 30rem; }
.bs-auth-lado ul { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .55rem; }
.bs-auth-lado li { display: flex; gap: .6rem; align-items: center; font-size: .95rem; }
.bs-auth-lado li::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: var(--bs-turquesa); box-shadow: 0 0 0 4px rgb(127 220 216 / .25); flex: none; }
.bs-auth-lado .arte { width: min(22rem, 90%); border-radius: 1.5rem; box-shadow: 0 30px 60px -30px rgb(0 0 0 / .55); align-self: center; }
.bs-auth-lado .rodape { font-size: .8rem; color: rgb(255 255 255 / .7); }
.bs-auth-lado .rodape a { color: #fff; }
@media (max-width: 1023px) {
    .fi-simple-layout:has(> .bs-auth-lado) { grid-template-columns: 1fr; }
    .bs-auth-lado { display: none; }
    .bs-auth-mobile-logo { display: block; }
    .fi-simple-layout:has(> .bs-auth-lado) .fi-simple-main-ctn { background: linear-gradient(160deg, #f3f7ff, #eefbfa); }
    .dark .fi-simple-layout:has(> .bs-auth-lado) .fi-simple-main-ctn { background: var(--bs-janela); }
}
