/* Ficha compacta e Financeiro. Escopo restrito para preservar os demais módulos. */
#detail-dialog {
  width: 100%; max-width: 1080px; margin: 0 auto;
  --detail-success: #168554;
}
#detail-dialog .prospect-detail-head { position: static; padding: 14px 18px; align-items: center; gap: 16px; background: var(--color-surface); }
#detail-dialog .prospect-detail-head h2 { font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; }
#detail-dialog .prospect-detail-head .eyebrow { font-size: 10px; letter-spacing: .08em; }
#detail-dialog #close-detail { width: auto; height: 32px; min-height: 32px; padding: 4px 10px; border-radius: 6px; font-size: 12px; white-space: nowrap; cursor: pointer; }
#detail-dialog .prospect-detail-head { flex-wrap: wrap; }
#detail-dialog .prospect-detail-head > div:first-child { flex: 1 1 220px; min-width: 0; }
.detail-header-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
#app-view #detail-dialog #open-prospect-documents { display: inline-flex; align-items: center; gap: 6px; width: auto; height: 32px; min-height: 32px; padding: 4px 10px; border: 1px solid var(--color-accent); border-radius: 6px; background: transparent; color: var(--color-accent); font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
#app-view #detail-dialog #open-prospect-documents[hidden] { display: none; }
#detail-documents-count { min-width: 19px; padding: 1px 4px; border-radius: 4px; background: var(--color-accent-soft); text-align: center; font-size: 11px; }
#detail-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; padding: 14px 18px 18px; }
#detail-content > * { min-width: 0; }
#detail-content > .detail-identity { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0; border: 1px solid var(--color-divider); border-radius: 6px; overflow: hidden; }
#detail-content .detail-grid > div { min-width: 0; min-height: 0; padding: 8px 10px; border-radius: 0; box-shadow: none; background: var(--color-surface); }
#detail-content .detail-identity > div { border-right: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider); }
#detail-content .detail-identity > div:nth-child(4n) { border-right: 0; }
#detail-content .detail-identity > div:nth-last-child(-n+4) { border-bottom: 0; }
#detail-content .detail-grid span { font-size: 11px; text-transform: none; }
#detail-content .detail-grid strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
#detail-content .detail-situation-badge { justify-self: start; padding: 1px 5px; border-radius: 3px; background: color-mix(in srgb, var(--color-success) 14%, var(--color-surface)); color: var(--color-success); }
.detail-value-summary { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.detail-value-summary.has-maximum { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.detail-value-summary > div { display: grid; align-content: start; gap: 3px; min-width: 0; padding: 10px 12px; border: 1px solid var(--color-divider); border-radius: 6px; background: var(--color-surface); }
.detail-value-summary span { font-size: 12px; color: var(--color-muted); }
.detail-value-summary strong { font-size: 20px; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.detail-proposal-percentage { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin: 3px 0 0; }
.detail-value-summary .detail-proposal-percentage strong { color: var(--color-accent); font-size: 13px; }
.detail-primary-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#detail-content > .detail-campaign-context { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
#detail-content .detail-campaign-context > div { border: 1px solid var(--color-divider); border-radius: 6px; align-content: start; gap: 4px; }
#detail-content .detail-campaign-context strong { white-space: pre-wrap; }
#app-view #detail-dialog .detail-primary-actions button { min-height: 36px; border: 1px solid var(--color-accent); border-radius: 6px; padding: 6px 10px; color: var(--color-accent); background: transparent; font-size: 12px; font-weight: 650; cursor: pointer; }
#app-view #detail-dialog .detail-primary-actions .detail-proposal-button { background: var(--detail-success); border-color: var(--detail-success); color: #fff; }
#app-view #detail-dialog .detail-primary-actions .detail-financial-button,
#app-view #detail-dialog .detail-primary-actions .detail-campaign-report-button { background: var(--color-accent); color: var(--color-on-accent); }
#app-view #detail-dialog .detail-primary-actions .detail-campaign-report-button:disabled { opacity: .55; cursor: default; }
#detail-content > .detail-section, #detail-content > .action-card { margin: 0; padding: 10px 12px; border: 1px solid var(--color-divider); border-radius: 6px; background: var(--color-surface); height: auto; }
#detail-content > .detail-followup, #detail-content > .detail-task, #detail-content > .detail-phones, #detail-content > .detail-emails { grid-column: auto; }
#detail-content h3 { margin: 0 0 8px; font-size: 13px; line-height: 1.35; }
#detail-content .stack-form { gap: 8px; }
#detail-content .form-row { display: flex; gap: 8px; }
#detail-content .detail-form-label { display: grid; gap: 3px; min-width: 0; font-size: 11px; color: var(--color-muted); }
#detail-content .form-row > .detail-form-label { flex: 1 1 130px; }
#detail-content .form-row > label:not(.detail-form-label) { display: flex; gap: 3px; align-items: center; font-size: 11px; }
#app-view #detail-content input:not([type='checkbox']):not([type='radio']),
#app-view #detail-content select, #app-view #detail-content textarea {
  width: 100%; min-width: 0; min-height: 32px; padding: 5px 8px; border-radius: 5px; font: 12px/1.4 Inter, Segoe UI, sans-serif; background: var(--color-surface);
}
#app-view #detail-content textarea { min-height: 64px; resize: vertical; }
#detail-content .detail-task .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#detail-content .task-extra-options { font-size: 11px; color: var(--color-muted); }
#detail-content .task-extra-options summary { cursor: pointer; color: var(--color-accent); }
#detail-content .task-extra-options[open] > label { margin-top: 5px; }
#detail-content .stack-form > button { justify-self: start; }
#app-view #detail-content form button:not([type='button']) { min-height: 32px; padding: 5px 10px; border-radius: 5px; font-size: 12px; background: var(--detail-success) !important; border-color: var(--detail-success) !important; color: #fff !important; }
#detail-content .detail-disclosure { grid-column: 1 / -1; border: 1px solid var(--color-divider); border-radius: 6px; background: var(--color-surface); }
#detail-content .detail-disclosure:not([open]) { padding: 0; }
#detail-content .detail-disclosure summary { padding: 9px 12px; font-size: 12px; color: var(--color-accent); font-weight: 600; cursor: pointer; }
#detail-content .detail-disclosure[open] > summary { border-bottom: 1px solid var(--color-divider); margin-bottom: 10px; }
#registration-details { display: none; }
#registration-details[open] { display: block; }
#detail-content .detail-registration-data { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px; padding: 0 8px 10px; }
#registration-editor { margin: 0 8px 10px; padding: 12px; }
#registration-editor .edit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
#detail-content .detail-history { grid-column: 1 / -1; padding-bottom: 10px; }
#detail-content .timeline article { grid-template-columns: 104px minmax(0, 1fr); gap: 10px; padding: 8px 0; font-size: 12px; }
#detail-content .timeline time, #detail-content .timeline small { font-size: 11px; }
#detail-content .timeline p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 3px 0; }
#detail-content .timeline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
#detail-content .timeline [data-action='edit-interaction-notes'] { margin: 3px 0 0; }
#detail-content .phone-row, #detail-content .email-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 7px 0; border: 0; border-bottom: 1px solid var(--color-divider); border-radius: 0; }
#detail-content .phone-row > div, #detail-content .email-row > div { flex: 1 1 160px; min-width: 0; }
#detail-content .phone-row strong, #detail-content .email-row strong { font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }
#detail-content .phone-row small, #detail-content .email-row small { font-size: 10px; }
#detail-content .contact-editor { order: 2; width: 100%; }
#detail-content .phone-row > .record-delete-button, #detail-content .email-row > .record-delete-button { align-self: start; width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; }
#detail-content .contact-editor summary, #detail-content .contact-add summary { cursor: pointer; color: var(--color-accent); font-size: 11px; padding: 3px 0; }
#detail-content .contact-editor-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding-top: 5px; }
#detail-content .contact-editor-controls select { flex: 1 1 130px; max-width: 180px; }
#detail-content .contact-editor-controls label, #detail-content .add-contact label { font-size: 11px; }
#detail-content .contact-editor-controls button { padding: 4px 8px; font-size: 11px; min-height: 28px; }
#detail-content .contact-add { margin-top: 6px; }
#detail-content .add-contact { padding-top: 8px; margin-top: 4px; }
#detail-content .add-contact input[name='areaCode'] { flex: 0 1 55px; }
#detail-content button:focus-visible, #detail-content summary:focus-visible, #financial-dialog button:focus-visible,
#open-prospect-documents:focus-visible, #prospect-documents-dialog :is(button, a, summary, input, select):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

#prospect-documents-dialog { inset: 0; margin: auto; width: min(780px, calc(100vw - 32px)); height: fit-content; max-height: calc(100dvh - 40px); padding: 0; border: 1px solid var(--color-divider); border-radius: 10px; background: var(--color-surface); color: var(--color-text); box-shadow: 0 24px 80px #071b1455; overflow: auto; }
#prospect-documents-dialog::backdrop { background: #132b4866; }
#prospect-documents-dialog .prospect-documents-head { position: sticky; top: 0; z-index: 1; padding: 13px 16px; align-items: flex-start; gap: 12px; background: var(--color-surface); }
#prospect-documents-dialog .prospect-documents-head > div { min-width: 0; }
#prospect-documents-title { margin: 0; font-size: 20px; }
#prospect-documents-creditor { margin: 3px 0 0; font-size: 12px; color: var(--color-muted); overflow-wrap: anywhere; }
#prospect-documents-dialog button, #prospect-documents-dialog .prospect-document-actions a { min-height: 32px; padding: 5px 10px; border: 1px solid var(--color-accent); border-radius: 5px; background: transparent; color: var(--color-accent); font: 600 12px/1.4 Inter, Segoe UI, sans-serif; cursor: pointer; }
#prospect-documents-dialog .prospect-documents-head button { flex-shrink: 0; width: 30px; min-height: 30px; padding: 0; font-size: 23px; }
#prospect-documents-content { padding: 0 16px 12px; }
#prospect-documents-total { font-size: 12px; color: var(--color-muted); margin: 12px 0; }
#prospect-documents-list { display: grid; gap: 8px; }
#prospect-documents-list article { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px; border: 1px solid var(--color-divider); border-radius: 6px; }
.prospect-document-info { flex: 1 1 260px; min-width: 0; display: grid; gap: 4px; overflow-wrap: anywhere; }
.prospect-document-info strong { font-size: 13px; }
.prospect-document-info span { font-size: 12px; }
.prospect-document-info small { font-size: 11px; color: var(--color-muted); }
.prospect-document-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#prospect-documents-dialog .prospect-document-actions a { display: inline-flex; align-items: center; text-decoration: none; }
#prospect-documents-dialog [data-action='delete-prospect-document'] { color: var(--color-danger); border-color: var(--color-danger); }
.prospect-documents-empty { margin: 0; padding: 22px 12px; border: 1px dashed var(--color-divider); border-radius: 6px; text-align: center; color: var(--color-muted); font-size: 13px; }
.prospect-document-upload { margin-top: 14px; border: 1px solid var(--color-divider); border-radius: 6px; }
.prospect-document-upload summary { padding: 10px 12px; color: var(--color-accent); font-size: 12px; font-weight: 600; cursor: pointer; }
#prospect-documents-dialog form { display: grid; gap: 10px; padding: 0 12px 12px; }
#prospect-documents-dialog form label { display: grid; gap: 4px; min-width: 0; font-size: 12px; }
#prospect-documents-dialog input, #prospect-documents-dialog select { min-width: 0; width: 100%; max-width: 100%; padding: 6px 8px; border: 1px solid var(--color-divider); border-radius: 5px; background: var(--color-surface); color: var(--color-text); font-size: 12px; }
#prospect-documents-dialog form button { justify-self: start; background: #168554; border-color: #168554; color: #fff; }
#prospect-documents-error { margin: 0; padding: 0 16px 12px; font-size: 12px; color: var(--color-danger); overflow-wrap: anywhere; }
#prospect-documents-error:empty { display: none; }
.prospect-documents-footer { position: sticky; bottom: 0; display: flex; justify-content: space-between; gap: 10px; padding: 12px 16px; background: var(--color-surface); border-top: 1px solid var(--color-divider); }
#prospect-documents-dialog .prospect-documents-footer [data-prospect-documents-close] { background: var(--color-accent); color: var(--color-on-accent); }
#prospect-documents-dialog :disabled { opacity: .6; cursor: wait; }

#financial-dialog { inset: 0; margin: auto; width: min(850px, calc(100vw - 32px)); height: fit-content; max-height: calc(100dvh - 40px); border: 1px solid var(--color-divider); border-radius: 10px; background: var(--color-surface); color: var(--color-text); box-shadow: 0 24px 80px #071b1455; overflow: auto; }
#financial-dialog::backdrop { background: #132b4866; }
#financial-dialog .financial-head { position: sticky; top: 0; padding: 13px 16px; align-items: center; gap: 12px; background: var(--color-surface); }
#financial-dialog .financial-head h2 { margin: 0; font-size: 20px; }
#financial-creditor { margin: 2px 0 0; font-size: 12px; color: var(--color-muted); overflow-wrap: anywhere; }
#financial-dialog .financial-head button { width: 30px; height: 30px; min-height: 30px; flex-shrink: 0; padding: 0; font-size: 23px; border-radius: 5px; cursor: pointer; }
#financial-content { padding: 12px 16px 0; }
#prospect-financial-form { display: grid; gap: 12px; }
#financial-dialog fieldset { margin: 0; padding: 9px 12px 12px; border: 1px solid var(--color-divider); border-radius: 6px; min-width: 0; }
#financial-dialog legend { padding: 0 4px; font-size: 13px; font-weight: 650; }
.financial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 12px; }
.financial-grid label, .financial-readonly { display: grid; align-content: start; gap: 3px; min-width: 0; }
.financial-grid label > span, .financial-readonly > span { font-size: 11px; color: var(--color-muted); }
#financial-dialog .financial-grid input { width: 100%; min-width: 0; min-height: 31px; border: 1px solid var(--color-divider); border-radius: 4px; padding: 4px 7px; background: var(--color-surface); color: var(--color-text); font: 12px/1.4 Inter, Segoe UI, sans-serif; }
#financial-dialog input:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.financial-readonly strong { font-size: 12px; min-height: 31px; display: flex; align-items: center; font-weight: 550; overflow-wrap: anywhere; }
.financial-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.financial-totals > section { border: 1px solid var(--color-divider); border-radius: 6px; overflow: hidden; }
.financial-totals h3 { padding: 7px 10px; margin: 0; font-size: 13px; border-bottom: 1px solid var(--color-divider); background: var(--color-accent-soft); }
.financial-total-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 8px 10px; }
.financial-total-row strong { font-variant-numeric: tabular-nums; }
.financial-access-note { margin: 0; font-size: 11px; color: var(--color-muted); }
.financial-error { margin: 0; color: var(--color-danger); font-size: 12px; }
.financial-error:empty { display: none; }
.financial-footer { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; background: var(--color-surface); border-top: 1px solid var(--color-divider); }
#financial-dialog .financial-footer button { min-height: 34px; padding: 6px 16px; border: 1px solid var(--color-accent); border-radius: 5px; background: transparent; color: var(--color-accent); cursor: pointer; font-size: 12px; }
#financial-dialog .financial-footer .financial-save { background: #168554 !important; border-color: #168554 !important; color: #fff !important; }
#financial-dialog button:disabled, #financial-dialog input:disabled { opacity: .65; cursor: wait; }
@media (max-width: 1100px) {
  #detail-content .edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #detail-content .form-row > .detail-form-label { flex-basis: 100%; }
}
@media (max-width: 700px) {
  .detail-header-actions { width: 100%; }
  #prospect-documents-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #detail-content > .detail-campaign-context { grid-template-columns: minmax(0, 1fr) !important; gap: 6px; }
  #detail-content { grid-template-columns: minmax(0, 1fr) !important; padding: 12px; gap: 10px; }
  #detail-content > .detail-identity { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #detail-content .detail-identity > div:nth-child(2n) { border-right: 0; }
  #detail-content .detail-identity > div:nth-last-child(-n+4) { border-bottom: 1px solid var(--color-divider); }
  #detail-content .detail-identity > div:nth-last-child(-n+2) { border-bottom: 0; }
  .detail-value-summary { gap: 6px; }
  .detail-value-summary.has-maximum { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-value-summary > div { padding: 8px; }
  .detail-value-summary span { font-size: 10px; }
  .detail-value-summary strong { font-size: 15px; }
  .detail-primary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  #app-view #detail-dialog .detail-primary-actions button { padding: 6px; font-size: 11px; }
  #detail-content .detail-registration-data { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #financial-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #financial-content { padding: 10px 12px 0; }
  .financial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-totals { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  #detail-dialog .prospect-detail-head { padding: 12px; }
  #detail-dialog .prospect-detail-head h2 { font-size: 18px; }
  #detail-content .timeline article { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  #detail-content .edit-grid, #detail-content .detail-registration-data { grid-template-columns: minmax(0, 1fr) !important; }
  .financial-grid { gap: 8px; }
  .financial-footer { gap: 8px; }
}
