/* CSP AI Clinic 0.24.0 - correções de Agenda, Prontuário, Financeiro e modais */
.csp-agenda-dialog, .v2-sheet, .patient-profile-sheet { contain: layout paint; }
.csp-patient-search-results { max-height: min(320px, 42dvh); overflow:auto; overscroll-behavior:contain; z-index:30; }
.csp-money-input { display:flex; align-items:center; gap:8px; border:1px solid var(--line, #d7dde2); border-radius:10px; padding:0 10px; background:#fff; }
.csp-money-input input { border:0 !important; min-width:0; width:100%; padding-left:0 !important; box-shadow:none !important; }
.csp-action-clinical { border-color:#0b7f73 !important; color:#086c63 !important; }
.clinical-v2, .clinical-layout, .clinical-workspace, .clinical-editor-card, .clinical-card, .clinical-history-card { min-width:0; }
.clinical-editor-card textarea, .clinical-history-text, .clinical-attachment-item, .patient-clinical-card, .patient-finance-card { overflow-wrap:anywhere; word-break:break-word; }
.clinical-diagnosis-search { display:grid; grid-template-columns:minmax(140px, .34fr) minmax(0, 1fr); gap:12px; }
.clinical-diagnosis-results { margin-top:8px; border:1px solid #dfe5e8; border-radius:12px; max-height:280px; overflow:auto; background:#fff; box-shadow:0 16px 36px rgba(15,23,42,.10); }
.clinical-diagnosis-result { display:grid; grid-template-columns:100px minmax(0,1fr); gap:4px 12px; width:100%; text-align:left; border:0; border-bottom:1px solid #edf0f2; background:#fff; padding:12px; cursor:pointer; }
.clinical-diagnosis-result:hover, .clinical-diagnosis-result:focus-visible { background:#f3f8f7; }
.clinical-diagnosis-result span { min-width:0; }
.clinical-diagnosis-result small { grid-column:2; color:#667085; }
.clinical-diagnosis-selected { display:grid; gap:8px; margin-top:12px; }
.clinical-diagnosis-chip { display:grid; grid-template-columns:32px minmax(0,1fr) 34px; gap:10px; align-items:start; padding:10px 12px; border:1px solid #dfe5e8; border-radius:12px; background:#fbfcfc; }
.clinical-diagnosis-chip > button { border:0; background:transparent; font-size:20px; cursor:pointer; }
.clinical-diagnosis-chip div { display:grid; gap:2px; min-width:0; }
.clinical-diagnosis-chip span, .clinical-diagnosis-chip small { color:#667085; }
.clinical-action-dock { position:sticky; bottom:max(8px, env(safe-area-inset-bottom)); z-index:20; margin:16px auto 8px; width:min(760px, calc(100% - 24px)); display:flex; justify-content:flex-end; align-items:center; gap:8px; padding:10px; border:1px solid rgba(208,216,221,.9); border-radius:16px; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); box-shadow:0 14px 42px rgba(15,23,42,.15); }
.clinical-action-more { position:relative; }
.clinical-dock-button { min-height:44px; min-width:44px; border:1px solid #d6dee2; border-radius:999px; background:#fff; cursor:pointer; font-weight:700; }
.clinical-dock-button.wide { padding:0 16px; }
.clinical-action-menu { position:absolute; bottom:52px; left:0; min-width:210px; padding:6px; border:1px solid #dfe5e8; border-radius:12px; background:#fff; box-shadow:0 16px 36px rgba(15,23,42,.16); }
.clinical-action-menu button { display:block; width:100%; text-align:left; border:0; background:transparent; padding:10px 12px; border-radius:8px; cursor:pointer; }
.clinical-action-menu button:hover { background:#f3f8f7; }
.patient-clinical-list, .patient-finance-ledger { display:grid; gap:12px; }
.patient-clinical-card, .patient-finance-card { border:1px solid #dde4e7; border-radius:14px; padding:14px; background:#fff; display:grid; gap:10px; }
.patient-clinical-head, .patient-finance-head { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; }
.patient-clinical-head > div, .patient-finance-head > div { display:grid; gap:3px; min-width:0; }
.patient-clinical-head span, .patient-finance-head span, .patient-finance-card small { color:#667085; }
.patient-finance-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.patient-finance-summary > div { padding:12px; border:1px solid #dde4e7; border-radius:12px; display:grid; gap:4px; background:#fbfcfc; }
.patient-finance-summary span, .patient-finance-values span { color:#667085; font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
.patient-finance-summary strong { font-size:18px; }
.patient-finance-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.patient-finance-values > div { display:grid; gap:3px; padding:8px 10px; border-radius:10px; background:#f7f9fa; }
.patient-finance-status { white-space:nowrap; border-radius:999px; padding:5px 9px; font-size:12px; font-weight:700; background:#edf2f4; color:#46525b !important; }
.patient-finance-status.status-paid { background:#e8f7ef; color:#147044 !important; }
.patient-finance-status.status-open, .patient-finance-status.status-partial { background:#fff4df; color:#8b5a00 !important; }
@media (max-width: 760px) {
  .csp-agenda-dialog { width:100vw !important; max-width:100vw !important; height:100dvh !important; max-height:100dvh !important; border-radius:0 !important; margin:0 !important; }
  .csp-agenda-dialog form { max-width:100%; min-width:0; }
  .csp-agenda-dialog-actions-main { flex-wrap:wrap; }
  .csp-agenda-dialog-actions-main > * { min-height:44px; }
  .clinical-layout { grid-template-columns:1fr !important; }
  .clinical-history-card { order:2; }
  .clinical-diagnosis-search { grid-template-columns:1fr; }
  .clinical-diagnosis-result { grid-template-columns:84px minmax(0,1fr); }
  .clinical-action-dock { width:calc(100% - 16px); bottom:max(8px, env(safe-area-inset-bottom)); }
  .clinical-dock-button.wide { display:none; }
  .patient-finance-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .patient-finance-values { grid-template-columns:1fr; }
  .patient-clinical-head, .patient-finance-head { flex-direction:column; }
}
.patient-finance-legacy-head { margin-top:18px; padding:12px 2px 4px; display:grid; gap:3px; border-top:1px solid #e1e7ea; }
.patient-finance-legacy-head span { color:#667085; font-size:13px; }
.patient-finance-card.is-legacy { background:#fafbfc; border-style:dashed; }
