/* BMA CRM — overlay seguro de UI. Não substitui o bundle React atual. */
:root {
  color-scheme: light;
  --bma-surface: #f4f6f9;
  --bma-card: #ffffff;
  --bma-elevated: #f8fafc;
  --bma-line: #e2e8f0;
  --bma-ink: #111827;
  --bma-muted: #5a6474;
  --bma-subtle: #8a93a3;
  --bma-primary: var(--crm-primary, #0f766e);
  --bma-primary-soft: color-mix(in srgb, var(--bma-primary) 12%, transparent);
  --bma-danger: #dc4d4d;
  --bma-radius: 14px;
  --bma-shadow: 0 1px 2px rgba(16,24,40,.04), 0 10px 30px -18px rgba(16,24,40,.28);
  --bma-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

html.theme-dark {
  color-scheme: dark;
  --bma-surface: #090d17;
  --bma-card: #131a29;
  --bma-elevated: #1a2336;
  --bma-line: #27334a;
  --bma-ink: #e8ecf4;
  --bma-muted: #9ca7b9;
  --bma-subtle: #6e798c;
  --bma-primary-soft: color-mix(in srgb, var(--bma-primary) 18%, transparent);
  --bma-shadow: 0 12px 32px rgba(0,0,0,.32);
}

html, body, #root { min-height: 100%; }
body {
  font-family: var(--bma-font) !important;
  background: var(--bma-surface) !important;
  color: var(--bma-ink) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--bma-primary-soft); }
* { scrollbar-width: thin; scrollbar-color: var(--bma-line) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--bma-line); border-radius: 999px; border: 2px solid transparent; background-clip: content-box; }

.bg-surface { background-color: var(--bma-surface) !important; }
.bg-white { background-color: var(--bma-card) !important; }
.bg-slate-50 { background-color: var(--bma-elevated) !important; }
.border-line, .border-slate-200, .border-slate-300 { border-color: var(--bma-line) !important; }
.text-ink, .text-slate-900, .text-slate-800, .text-slate-700 { color: var(--bma-ink) !important; }
.text-slate-600, .text-slate-500 { color: var(--bma-muted) !important; }
.text-slate-400 { color: var(--bma-subtle) !important; }

main section, main .rounded-lg.border, main .rounded-xl.border, main .rounded-2xl.border {
  border-color: var(--bma-line) !important;
  box-shadow: var(--bma-shadow);
}

input, select, textarea {
  background-color: var(--bma-card) !important;
  color: var(--bma-ink) !important;
  border-color: var(--bma-line) !important;
  border-radius: 10px !important;
}
input::placeholder, textarea::placeholder { color: var(--bma-subtle) !important; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible, [tabindex]:focus-visible {
  outline: none !important;
  border-color: var(--bma-primary) !important;
  box-shadow: 0 0 0 3px var(--bma-primary-soft) !important;
}

.bg-brand, button.bg-brand, .focus\:ring-brand:focus { background-color: var(--bma-primary) !important; }
.text-brand { color: var(--bma-primary) !important; }
.ring-brand { --tw-ring-color: var(--bma-primary) !important; }

/* Sidebar/menu atual: refinamento sem alterar estrutura. */
aside nav a, aside a[href] { border-radius: 12px; }
aside nav a:hover, aside a[href]:hover { background: var(--bma-elevated) !important; }

/* Agenda overlay */
main.bma-agenda-calendar-active > *:not(#bma-agenda-calendar-overlay) { display: none !important; }
#bma-agenda-calendar-overlay { display: block !important; color: var(--bma-ink); }
.bma-cal-page { display: grid; gap: 20px; animation: bmaFade .16s ease-out both; }
.bma-cal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bma-cal-title { display: flex; align-items: center; gap: 10px; }
.bma-cal-title h1 { margin: 0; font-size: 1.55rem; line-height: 1.2; font-weight: 700; letter-spacing: -.018em; }
.bma-cal-title p { margin: 3px 0 0; color: var(--bma-muted); font-size: .9rem; }
.bma-cal-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bma-cal-select, .bma-cal-btn, .bma-cal-input, .bma-cal-textarea { border: 1px solid var(--bma-line); background: var(--bma-card); color: var(--bma-ink); border-radius: 10px; }
.bma-cal-select, .bma-cal-input { min-height: 38px; padding: 8px 10px; font-size: .875rem; }
.bma-cal-textarea { width: 100%; min-height: 64px; resize: vertical; padding: 8px 10px; font-size: .875rem; }
.bma-cal-btn { min-height: 38px; padding: 8px 12px; font-weight: 650; cursor: pointer; transition: .15s ease; }
.bma-cal-btn:hover { background: var(--bma-elevated); }
.bma-cal-btn-primary { background: var(--bma-primary); color: #fff; border-color: transparent; }
.bma-cal-btn-primary:hover { filter: brightness(.96); background: var(--bma-primary); }
.bma-cal-btn-danger { color: var(--bma-danger); border-color: color-mix(in srgb, var(--bma-danger) 35%, var(--bma-line)); background: color-mix(in srgb, var(--bma-danger) 9%, transparent); }
.bma-cal-grid-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 20px; align-items: start; }
.bma-cal-card { border: 1px solid var(--bma-line); background: var(--bma-card); border-radius: 22px; box-shadow: var(--bma-shadow); overflow: hidden; }
.bma-cal-card-pad { padding: 16px; }
.bma-cal-monthbar { display:flex; align-items:center; justify-content:space-between; gap: 12px; padding: 13px 16px; border-bottom:1px solid var(--bma-line); }
.bma-cal-monthbar h2 { margin:0; font-size:1rem; font-weight:700; text-transform:capitalize; }
.bma-cal-weekdays, .bma-cal-days { display:grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bma-cal-weekdays { background: var(--bma-elevated); border-bottom:1px solid var(--bma-line); color: var(--bma-muted); font-size:.75rem; font-weight:700; text-align:center; }
.bma-cal-weekdays div { padding: 9px 4px; }
.bma-cal-day { min-height: 112px; border: 0; border-right:1px solid var(--bma-line); border-bottom:1px solid var(--bma-line); padding: 7px; background: var(--bma-card); color: var(--bma-ink); text-align:left; cursor:pointer; display:flex; flex-direction:column; gap:5px; }
.bma-cal-day:nth-child(7n) { border-right:0; }
.bma-cal-day:hover { background: color-mix(in srgb, var(--bma-primary) 6%, var(--bma-card)); }
.bma-cal-day.outside { background: color-mix(in srgb, var(--bma-elevated) 70%, transparent); color: var(--bma-subtle); }
.bma-cal-day.selected { box-shadow: inset 0 0 0 2px var(--bma-primary); }
.bma-cal-daynum { align-self: center; width: 27px; height: 27px; display:flex; align-items:center; justify-content:center; border-radius:999px; font-size:.78rem; font-weight:800; }
.bma-cal-day.today .bma-cal-daynum { background: var(--bma-primary); color:#fff; }
.bma-cal-chip { display:flex; gap:4px; align-items:center; min-width:0; border-radius:6px; padding:2px 5px; font-size:.68rem; color:#fff; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bma-cal-chip span:last-child { overflow:hidden; text-overflow:ellipsis; }
.bma-cal-more { color: var(--bma-subtle); font-size:.68rem; padding-left:4px; }
.bma-cal-legend { display:flex; gap:12px; flex-wrap:wrap; padding:12px 16px; color:var(--bma-muted); font-size:.75rem; }
.bma-cal-dot { width:10px; height:10px; border-radius:999px; display:inline-block; }
.bma-cal-side { display:grid; gap:16px; }
.bma-cal-side h3 { margin:0; font-size:.96rem; font-weight:750; text-transform:capitalize; }
.bma-cal-list { display:grid; gap:8px; margin-top:12px; }
.bma-cal-item { border:1px solid var(--bma-line); border-radius:12px; padding:10px; background: var(--bma-card); }
.bma-cal-item.busy { background: var(--bma-elevated); }
.bma-cal-item-top { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.bma-cal-time { display:flex; align-items:center; gap:6px; font-size:.75rem; color:var(--bma-muted); font-weight:650; }
.bma-cal-item-title { margin-top:3px; font-size:.9rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bma-cal-meta { margin-top:3px; color:var(--bma-subtle); font-size:.72rem; }
.bma-cal-empty { border:1px dashed var(--bma-line); border-radius:12px; padding:16px; text-align:center; color:var(--bma-subtle); font-size:.78rem; }
.bma-cal-form { display:grid; gap:10px; }
.bma-cal-form label { display:grid; gap:5px; color:var(--bma-muted); font-size:.75rem; font-weight:650; }
.bma-cal-form-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.bma-cal-status { padding:9px 11px; border-radius:10px; font-size:.8rem; border:1px solid var(--bma-line); background:var(--bma-elevated); color:var(--bma-muted); }
.bma-cal-status.error { border-color: color-mix(in srgb, var(--bma-danger) 45%, var(--bma-line)); color: var(--bma-danger); background: color-mix(in srgb, var(--bma-danger) 8%, transparent); }
@keyframes bmaFade { from { opacity:0; transform: translateY(4px); } to { opacity:1; transform:none; } }
@media (max-width: 1100px) { .bma-cal-grid-layout { grid-template-columns: 1fr; } .bma-cal-day { min-height: 92px; } }
@media (max-width: 720px) { .bma-cal-days, .bma-cal-weekdays { min-width: 720px; } .bma-cal-card:first-child { overflow-x:auto; } .bma-cal-head { align-items:flex-start; } .bma-cal-toolbar { width:100%; } .bma-cal-select { flex:1; min-width:180px; } }
