/* Brotas Saúde — estilos das telas próprias (o CSS do Filament só traz as classes que ele usa) */
.bs-linha { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.bs-linha-3 { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; }
.bs-direita { margin-left: auto; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.bs-muted { color: rgb(100 116 139); } .dark .bs-muted { color: rgb(148 163 184); }
.bs-peq { font-size: .875rem; } .bs-mini { font-size: .75rem; } .bs-micro { font-size: 11px; }
.bs-forte { font-weight: 600; }
.bs-link { color: rgb(47 102 190); text-decoration: underline; }
.bs-cards { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .bs-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.bs-num { font-size: 1.6rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.bs-grid-3 { display: grid; gap: 1rem; } @media (min-width: 1024px) { .bs-grid-3 { grid-template-columns: 2fr 1fr; } }
.bs-aviso { border-radius: 8px; padding: .55rem 1rem; font-size: .875rem; border: 1px solid; }
.bs-aviso-azul { background: #eef4fc; border-color: #c7d9f3; color: #1e3a6e; }
.bs-aviso-amarelo { background: #fffbeb; border-color: #fcd34d; color: #92400e; }
.bs-aviso-vermelho { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }
.dark .bs-aviso-azul { background: #0f1f3a; color: #c7d9f3; } .dark .bs-aviso-amarelo { background: #3a2a05; color: #fcd34d; } .dark .bs-aviso-vermelho { background: #3b0d0d; color: #fecaca; }
.bs-item { border-bottom: 1px solid rgb(241 245 249); padding: .55rem 0; } .bs-item:last-child { border-bottom: 0; }
.dark .bs-item { border-color: rgb(255 255 255 / .08); }
.bs-hora { width: 3rem; font-weight: 700; }
.bs-campos { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .875rem; }
.bs-pre { white-space: pre-line; }
.bs-input { border: 1px solid rgb(203 213 225); border-radius: 8px; padding: .3rem .5rem; font-size: .875rem; background: #fff; }
.dark .bs-input { background: rgb(17 24 39); border-color: rgb(255 255 255 / .1); color: #e2e8f0; }

/* Agenda */
.bs-agenda { overflow-x: auto; border: 1px solid rgb(226 232 240); border-radius: 10px; background: #fff; }
.dark .bs-agenda { background: rgb(17 24 39); border-color: rgb(255 255 255 / .1); }
.bs-agenda-corpo { display: flex; min-width: max-content; }
.bs-agenda-horas { width: 3.5rem; flex-shrink: 0; border-right: 1px solid rgb(241 245 249); }
.bs-agenda-horas div { text-align: right; padding-right: .35rem; font-size: 11px; color: rgb(148 163 184); }
.bs-agenda-cab { height: 3rem; border-bottom: 1px solid rgb(241 245 249); padding: 0 .5rem; display: flex; flex-direction: column; justify-content: center; }
.bs-agenda-col { width: 14rem; flex-shrink: 0; border-right: 1px solid rgb(241 245 249); }
.bs-agenda-col:last-child { border-right: 0; }
.dark .bs-agenda-horas, .dark .bs-agenda-cab, .dark .bs-agenda-col { border-color: rgb(255 255 255 / .08); }
.bs-agenda-area { position: relative; cursor: pointer; }
.bs-bloco { position: absolute; left: 4px; right: 4px; overflow: hidden; border-radius: 6px; border-left: 4px solid; background: #fff; padding: 2px 6px; font-size: 12px; box-shadow: 0 0 0 1px rgb(226 232 240); color: inherit; text-decoration: none; }
.bs-bloco:hover { box-shadow: 0 0 0 1px rgb(148 163 184); }
.dark .bs-bloco { background: rgb(31 41 55); box-shadow: 0 0 0 1px rgb(255 255 255 / .1); }
.bs-trunca { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-perigo { color: #b91c1c; }

/* Agenda: bloqueio, encaixe, mês */
.bs-bloqueio { position: absolute; left: 0; right: 0; background: repeating-linear-gradient(135deg, rgba(148,163,184,.18) 0, rgba(148,163,184,.18) 6px, transparent 6px, transparent 12px); color: rgb(100 116 139); font-size: 11px; padding: 2px 6px; pointer-events: none; }
.bs-encaixe { border-style: dashed; border-top: 1px dashed rgb(148 163 184); border-right: 1px dashed rgb(148 163 184); border-bottom: 1px dashed rgb(148 163 184); }
.bs-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.bs-mes-cab { font-size: .75rem; color: rgb(100 116 139); text-align: center; padding: .25rem 0; }
.bs-mes-dia { min-height: 70px; text-align: left; border: 1px solid rgb(226 232 240); border-radius: 8px; background: #fff; padding: .35rem .5rem; display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; cursor: pointer; }
.bs-mes-dia:hover { border-color: rgb(148 163 184); }
.bs-mes-fora { opacity: .45; }
.bs-mes-hoje { border-color: #2F66BE; box-shadow: inset 0 0 0 1px #2F66BE; }
.bs-mes-cont { font-size: .72rem; background: #eef4fc; color: #1e3a6e; border-radius: 4px; padding: 1px 5px; align-self: flex-start; }
.dark .bs-mes-dia { background: rgb(17 24 39); border-color: rgb(255 255 255 / .1); }
@media (max-width: 640px) { .bs-mes-dia { min-height: 52px; font-size: .75rem; } .bs-mes-cont { font-size: .65rem; } }
@media print { .fi-sidebar, .fi-topbar { display: none !important; } }
