:root {
  --bg: #f4f0eb;
  --surface: #ffffff;
  --surface-2: #f5f6f7;
  --ink: #15202a;
  --muted: #68737d;
  --line: #e1e4e6;
  --green: #b5323c;
  --green-2: #8e242d;
  --blue: #163b66;
  --amber: #b78633;
  --red: #b5323c;
  --gold: #b78633;
  --shadow: 0 18px 50px rgba(3, 18, 35, .10);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; transition: transform .18s ease, opacity .18s ease, filter .18s ease; }
button:active { transform: scale(.98); }
button.is-processing { animation: button-pulse 1s ease-in-out infinite; cursor: wait; }
button:disabled { opacity: .72; cursor: wait; }
@keyframes button-pulse { 50% { filter: brightness(1.16); transform: scale(.985); } }
[hidden] { display: none !important; }
.login-screen, .install-page { min-height: 100vh; display: grid; place-items: center; padding: 20px; background: #edf2ee; }
.login-card { width: min(440px, 100%); display: grid; gap: 18px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.login-brand-logo { width: min(210px, 62%); height: auto; display: block; margin-inline: auto; }
.login-card label, .login-form, .user-form label { display: grid; gap: 6px; font-weight: 700; font-size: 13px; }
.login-form { gap: 14px; }
.form-message { min-height: 20px; margin: 0; color: var(--red); }
.form-message.success { color: var(--green-2); }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 24px 18px; background: #071d38; color: #fff;
  display: flex; flex-direction: column; gap: 20px; overflow-y: auto;
}
.brand { display: flex; align-items: center; gap: 12px; }
.sidebar-brand-logo { width: 64px; height: 58px; object-fit: contain; background: #fff; border-radius: 8px; padding: 4px; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; background: #e8f5ef; color: var(--green-2); font-weight: 900; }
.brand small, .sidebar-note span { display: block; color: #b9c8c0; margin-top: 3px; }
.nav { display: grid; gap: 6px; }
.nav-label { padding: 12px 14px 4px; color: #aebfd2; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.nav-item {
  border: 0; border-radius: 8px; padding: 12px 14px; color: #e7edf4; background: transparent; text-align: left;
}
.nav-item:hover, .nav-item.active { background: #163b66; color: #fff; }
.sidebar-note { margin-top: auto; padding: 14px; border: 1px solid #314c6f; border-radius: 8px; }
.main { min-width: 0; padding: 24px; }
.topbar { display: grid; grid-template-columns: minmax(560px, 1.25fr) minmax(360px, .75fr); align-items: start; gap: 24px; margin-bottom: 28px; }
.topbar-branding { display: grid; grid-template-columns: minmax(240px, 330px) minmax(250px, 1fr); align-items: center; gap: 22px; min-width: 0; }
.topbar-brand-logo { width: 100%; max-width: 330px; height: auto; object-fit: contain; }
.topbar-branding h1 { font-size: 34px; line-height: 1.12; }
.eyebrow { margin: 0 0 4px; color: var(--green-2); font-weight: 800; text-transform: uppercase; font-size: 12px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(28px, 4vw, 42px); }
h2 { margin-bottom: 6px; font-size: 24px; }
h3 { margin-bottom: 12px; }
.actions, .filter-row, .doc-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.topbar-actions { width: 100%; display: grid; grid-template-columns: auto minmax(150px, 1fr) auto; gap: 10px; align-items: center; }
.topbar-actions > select { grid-column: 1 / -1; }
.user-chip { display: grid; padding: 4px 10px; border-left: 1px solid var(--line); }
.user-chip span { font-weight: 800; }
.user-chip small { color: var(--muted); }
select, input, textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 11px 12px;
}
textarea { resize: vertical; }
.topbar select { min-width: 230px; }
.btn, .segmented button {
  border: 1px solid transparent; border-radius: 8px; padding: 11px 14px; font-weight: 800; min-height: 42px;
}
.btn.primary, .segmented .active { background: var(--green); color: #fff; }
.btn.secondary { background: #e8f5ef; color: var(--green-2); border-color: #c7ded2; }
.btn.ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.view { display: none; }
.view.active { display: block; }
.section-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.section-head p, .muted { color: var(--muted); margin-bottom: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.metric, .panel, .shortcut, .form-step, .diagnosis-card, .recommendation {
  background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow);
}
.metric { padding: 16px; }
.metric span { color: var(--muted); font-size: 13px; }
.metric strong { display: block; font-size: 28px; margin-top: 6px; }
.shortcut-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.shortcut { text-align: left; padding: 16px; }
.shortcut span { display: block; font-weight: 900; }
.shortcut small { display: block; color: var(--muted); margin-top: 4px; }
.panel { padding: 18px; margin-bottom: 16px; }
.simulator-launch-panel { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 190px; }
.simulator-launch-copy { max-width: 720px; }
.simulator-launch-copy h3 { margin: 4px 0 10px; color: var(--vievas-navy); font-size: 1.25rem; }
.simulator-launch-copy p:last-child { color: var(--vievas-muted); line-height: 1.6; margin: 0; }
.simulator-launch-button { white-space: nowrap; }
@media (max-width: 720px) {
  .simulator-launch-panel { align-items: flex-start; flex-direction: column; }
  .simulator-launch-button { width: 100%; text-align: center; }
}
.raffle-admin .panel-title-row { margin-bottom: 12px; }
.raffle-admin .panel-title-row h2 { margin: 0; }
.raffle-admin .panel-toggle { min-width: 88px; }
.raffle-admin .panel.is-collapsed .panel-collapsible-body { display: none; }
.raffle-wizard { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 18px 0; }
.raffle-wizard button { min-height: 64px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; cursor: pointer; text-align: left; }
.raffle-wizard button strong { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 7px; border-radius: 50%; background: #edf2ef; color: var(--green); }
.raffle-wizard button span { font-weight: 700; font-size: 14px; }
.raffle-wizard button.is-active { border-color: var(--green); background: #e7f4ee; }
.raffle-wizard button.is-active strong { background: var(--green); color: #fff; }
@media (max-width: 760px) { .raffle-wizard { grid-template-columns: 1fr; } .raffle-wizard button { min-height: 48px; } }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: left; vertical-align: top; }
th { font-size: 12px; color: var(--muted); text-transform: uppercase; }
.badge { display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; padding: 4px 10px; font-weight: 800; font-size: 12px; background: #edf2f7; color: #344054; }
.badge.green { background: #e7f6ee; color: var(--green-2); }
.badge.amber { background: #fff2d7; color: #8a5a10; }
.badge.red { background: #ffe8e6; color: var(--red); }
.progress { height: 12px; border-radius: 999px; background: #dce6df; overflow: hidden; margin-bottom: 16px; }
.progress span { display: block; height: 100%; width: 0%; background: var(--green); transition: width .2s ease; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-step { padding: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: start; }
.form-step label { display: grid; gap: 6px; font-size: 13px; color: #3f4a45; font-weight: 700; }
.form-step .wide, .check { grid-column: 1 / -1; }
.check { display: flex !important; align-items: center; gap: 8px !important; }
.check input { width: auto; }
.step-title { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; }
.step-title span { width: 32px; height: 32px; border-radius: 50%; background: var(--surface-2); display: grid; place-items: center; font-weight: 900; color: var(--green-2); }
.step-title h3 { margin: 0; }
.documents-panel { margin-top: 16px; }
.doc-form { display: grid; grid-template-columns: 180px 1fr 1fr auto; margin: 14px 0; }
.lgpd, .warning { background: #fff8e6; border: 1px solid #f2d69b; border-radius: 8px; padding: 12px; color: #6a4b12; }
.doc-list, .checklist { display: grid; gap: 8px; }
.doc-item, .check-item { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.doc-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.doc-actions .btn { text-decoration: none; display: inline-flex; align-items: center; }
.doc-actions select { width: auto; min-width: 120px; }
.diagnosis-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.diagnosis-card { padding: 16px; }
.diagnosis-card span { color: var(--muted); font-size: 13px; }
.diagnosis-card strong { display: block; margin-top: 6px; font-size: 18px; }
.recommendation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.recommendation { padding: 16px; }
.recommendation ul { margin: 10px 0 0; padding-left: 18px; }
.empty { padding: 30px; background: var(--surface); border: 1px dashed #b8c4bd; border-radius: 8px; color: var(--muted); text-align: center; }
.rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.rule-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.rules-grid label { display: grid; gap: 6px; font-weight: 800; font-size: 13px; }
.rules-section { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.rules-section:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.rules-section h3 { margin: 0 0 12px; }
.commercial-rule-card { border-top: 0; margin-top: 0; padding-top: 0; }
.rule-lead { margin: 0 0 16px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.rule-script { border-left: 3px solid var(--primary); padding-left: 12px; font-weight: 700; }
.btn.danger { color: #a3322b; border-color: #e9c3bf; }
.btn.danger:hover { background: #fff1f0; }
.mapping-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.user-form { display: grid; grid-template-columns: 1fr 1fr 1fr 160px auto; gap: 10px; align-items: end; }
.account-panel { max-width: 760px; }
.account-summary { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.account-summary span:not(.badge) { color: var(--muted); }
.password-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; }
.password-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.summary-box { background: #111b17; color: #d7f4e5; border-radius: 8px; padding: 14px; overflow: auto; min-height: 80px; }
.commercial-metrics { display: grid; grid-template-columns: repeat(7, minmax(110px, 1fr)); gap: 10px; margin-bottom: 14px; }
.daily-progress { height: 12px; border-radius: 999px; overflow: hidden; background: #dce6df; }
.daily-progress span { display: block; height: 100%; width: 0; background: var(--green); transition: width .25s ease; }
.commercial-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 14px; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.panel-title-row h3 { margin: 0; }
.priority-lead-card h2 { margin-bottom: 6px; }
.priority-queue { display: grid; }
.queue-row { display: grid; grid-template-columns: 34px minmax(220px, 1fr) auto minmax(150px, auto); gap: 12px; align-items: center; width: 100%; padding: 12px 4px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
.queue-row:hover { background: var(--surface-2); }
.queue-row small, .kanban-card small { display: block; margin-top: 3px; color: var(--muted); }
.queue-position { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #e8f5ef; color: var(--green-2); font-weight: 900; }
.alert-list { display: grid; gap: 8px; }
.commercial-alert { padding: 11px 12px; border-radius: 8px; font-weight: 800; background: #eef3f0; }
.commercial-alert.red { background: #ffe8e6; color: var(--red); }
.commercial-alert.amber { background: #fff2d7; color: #8a5a10; }
.commercial-filters { display: grid; grid-template-columns: minmax(280px, 1fr) 190px 220px; margin-bottom: 14px; }
.contact-workspace { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(420px, 1.2fr); gap: 14px; }
.contact-actions { display: flex; gap: 8px; margin: 16px 0; }
.contact-actions .disabled { opacity: .5; pointer-events: none; }
.contact-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 18px 0; padding: 0; position: relative; }
.contact-steps::before { background: var(--line); content: ""; height: 2px; left: 16.67%; position: absolute; right: 16.67%; top: 17px; }
.contact-steps li { align-items: center; color: var(--muted); display: grid; font-size: 12px; font-weight: 800; gap: 7px; justify-items: center; min-width: 0; position: relative; text-align: center; }
.contact-steps li > span { align-items: center; background: #fff; border: 2px solid var(--line); border-radius: 50%; display: flex; height: 34px; justify-content: center; position: relative; width: 34px; z-index: 1; }
.contact-steps li > strong { font-size: 12px; line-height: 1.25; }
.contact-steps li.current { color: var(--green-2); }
.contact-steps li.current > span { background: var(--green-2); border-color: var(--green-2); color: #fff; box-shadow: 0 0 0 4px #e8f5ef; }
.contact-steps li.completed { color: var(--green-2); }
.contact-steps li.completed > span { background: #e8f5ef; border-color: var(--green-2); color: transparent; }
.contact-steps li.completed > span::after { color: var(--green-2); content: "✓"; font-size: 16px; position: absolute; }
.ai-assistant-layout { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); }
.ai-usage-metrics { grid-column: 1 / -1; }
.ai-context-form { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ai-context-form label { color: #3f4a45; display: grid; font-size: 13px; font-weight: 700; gap: 6px; }
.ai-context-form .wide { grid-column: 1 / -1; }
.ai-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ai-development-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ai-development-summary { background: #f7faf8; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 8px; display: grid; gap: 8px; padding: 12px; }
.ai-development-summary h4 { margin: 0; }
.ai-development-summary p { margin: 0; line-height: 1.45; }
.ai-development-summary dl { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.ai-development-summary dt { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ai-development-summary dd { margin: 2px 0 0; }
.ai-results-panel { align-content: start; display: grid; gap: 14px; }
.ai-suggestion-cards { display: grid; gap: 12px; }
.ai-suggestion-card { border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 8px; display: grid; gap: 10px; padding: 14px; }
.ai-suggestion-card h4, .ai-suggestion-card p { margin: 0; }
.ai-suggestion-card p { line-height: 1.55; white-space: pre-wrap; }
.ai-suggestion-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.confirmed-info-form { border-top: 1px solid var(--line); display: grid; gap: 10px; margin-top: 8px; padding-top: 14px; }
.confirmed-info-form h3, .confirmed-info-form p { margin: 0; }
.confirmed-info-form label { display: grid; font-size: 13px; font-weight: 700; gap: 6px; }
.knowledge-admin { display: grid; gap: 16px; margin-top: 16px; }
.knowledge-upload-form { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.knowledge-upload-form label { display: grid; font-size: 13px; font-weight: 700; gap: 6px; }
.knowledge-upload-form .wide { grid-column: 1 / -1; }
.knowledge-list { display: grid; gap: 8px; }
.knowledge-item { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 12px 0; }
.knowledge-item p { margin: 3px 0 0; }
.import-preview { display: grid; gap: 14px; margin-top: 16px; }
.import-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.import-preview-grid div { background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.import-preview-grid strong { display: block; font-size: 24px; }
.import-preview-grid span { color: var(--muted); font-size: 13px; }
.import-preview-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.import-preview-columns section { border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.import-preview-columns h4 { margin: 0 0 8px; }
.import-preview-columns ul { margin: 0; padding-left: 18px; }
.product-name-button { appearance: none; background: none; border: 0; color: var(--green-2); cursor: pointer; font: inherit; font-weight: 800; padding: 0; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.product-knowledge-dialog { border: 0; border-radius: 8px; box-shadow: 0 22px 70px #10251d40; color: var(--text); max-height: 84vh; max-width: 760px; padding: 22px; width: calc(100% - 32px); }
.product-knowledge-dialog::backdrop { background: #07140f99; }
.product-detail-grid { display: grid; gap: 12px; }
.knowledge-document { border-top: 1px solid var(--line); display: grid; gap: 7px; padding: 12px 0; }
.retire-client-list { display: grid; gap: 10px; margin: 16px 0; }
.retire-client-row { align-items: center; border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) minmax(180px, .7fr) minmax(180px, .7fr); padding: 12px; }
.contact-flow-hint, .contact-update-preview, .contact-notice { padding: 11px 12px; border-radius: 8px; line-height: 1.45; }
.contact-flow-hint { background: #fff8e6; border: 1px solid #f2d69b; color: #6a4b12; }
.contact-flow-hint.success, .contact-notice.success { background: #e7f6ee; border: 1px solid #bddfcd; color: var(--green-2); }
.contact-update-preview { background: var(--surface-2); border: 1px solid var(--line); color: #3f4a45; }
.contact-notice { margin-bottom: 14px; font-weight: 800; }
.reply-assistant { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.reply-assistant h3 { margin-bottom: 4px; }
.reply-suggestion { display: grid; gap: 12px; padding: 14px; border: 1px solid #c7ded2; border-radius: 8px; background: #f3faf6; }
.reply-suggestion p { margin: 5px 0 0; line-height: 1.55; }
.reply-suggestion .badge { justify-self: start; }
.reply-metadata { display: flex; gap: 8px; flex-wrap: wrap; }
.suggested-message { padding: 12px; border-left: 4px solid var(--amber); background: #fff; }
.contact-submit-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.conversation-turns { display: grid; gap: 10px; }
.conversation-turn { display: grid; gap: 6px; }
.conversation-turn p { margin: 3px 0 0; line-height: 1.45; }
.conversation-turn small { color: var(--muted); font-weight: 800; }
.client-bubble, .broker-bubble { max-width: 92%; padding: 10px 12px; border-radius: 8px; }
.client-bubble { justify-self: start; background: #eef1ef; }
.broker-bubble { justify-self: end; background: #e7f6ee; border: 1px solid #c7ded2; }
.client-history { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.interaction-history { display: grid; gap: 9px; max-height: 430px; overflow-y: auto; }
.interaction-item { padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); }
.interaction-item > div { display: flex; justify-content: space-between; gap: 10px; }
.interaction-item time, .interaction-item small { color: var(--muted); font-size: 12px; }
.interaction-item p { margin: 8px 0; line-height: 1.45; }
.chatgpt-helper { display: grid; gap: 10px; padding: 14px; border: 1px dashed #9eaaa4; border-radius: 8px; background: #fff; }
.chatgpt-helper p { margin: 4px 0 0; color: var(--muted); line-height: 1.45; }
.chatgpt-helper label { display: grid; gap: 6px; font-size: 13px; font-weight: 800; }
.chatgpt-helper small { color: var(--muted); line-height: 1.4; }
.learning-library { border-top: 1px solid var(--line); padding-top: 10px; }
.learning-library summary { cursor: pointer; font-weight: 800; }
.learning-list { display: grid; gap: 8px; margin-top: 10px; }
.learning-item { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-2); }
.learning-item.inactive { opacity: .62; }
.learning-item p { margin: 0; }
.learning-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.product-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.product-card { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.product-card p { margin: 0; color: var(--muted); line-height: 1.4; }
.product-card .btn { justify-self: start; text-decoration: none; }
.suggested-materials { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.material-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.material-row .btn { text-decoration: none; }
.script-box { padding: 14px; border-left: 4px solid var(--green); background: var(--surface-2); border-radius: 0 8px 8px 0; }
.script-box p { margin: 8px 0 0; line-height: 1.55; }
.contact-result-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contact-result-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.contact-result-form .wide { grid-column: 1 / -1; }
.contact-lead-picker { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.contact-lead-picker label { display: grid; gap: 6px; flex: 1; font-size: 13px; font-weight: 700; }
.commercial-kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 280px); gap: 12px; overflow-x: auto; padding-bottom: 14px; }
.kanban-column { min-height: 400px; background: #edf1ee; border: 1px solid var(--line); border-radius: 8px; }
.kanban-heading { display: flex; justify-content: space-between; gap: 8px; padding: 12px; border-bottom: 1px solid var(--line); }
.kanban-heading span { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #fff; font-weight: 900; }
.kanban-list { display: grid; gap: 8px; padding: 10px; }
.kanban-card { display: grid; gap: 6px; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-align: left; }
.table-wrap input { min-width: 180px; }
#authorialDraftRows input { width: 100%; min-width: 190px; }
.authorial-card-list { display: none; gap: 12px; }
.authorial-card { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.authorial-card.review { background: #f7faf8; }
.authorial-card > div:first-child { display: flex; align-items: center; gap: 8px; }
.authorial-card p { margin: 0; color: var(--muted); line-height: 1.45; overflow-wrap: anywhere; }
.authorial-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.authorial-card-actions .btn { text-decoration: none; }
.authorial-material-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.authorial-material-actions .btn { white-space: normal; }
.authorial-bora-summary { display: grid; gap: 4px; min-width: 190px; }
.authorial-bora-summary small { display: block; color: var(--muted); line-height: 1.35; overflow-wrap: anywhere; }
.authorial-bora-summary .badge { width: max-content; }
.authorial-message-dialog { padding: 22px; max-height: calc(100vh - 28px); overflow-y: auto; }
.authorial-message-options { display: grid; gap: 10px; margin: 16px 0; }
.authorial-message-option { display: grid; gap: 5px; width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--text); text-align: left; }
.authorial-message-option:hover, .authorial-message-option.selected { border-color: var(--green); background: var(--surface-2); }
.authorial-message-option span { color: var(--muted); font-size: 13px; line-height: 1.4; }
.authorial-message-editor { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.authorial-message-editor textarea { width: 100%; line-height: 1.5; }
.authorial-message-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 14px; }
.guidance-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.guidance-block { padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.guidance-block h3 { font-size: 18px; }
.guidance-block p, .guidance-block li { line-height: 1.55; }
.guidance-block ol, .guidance-block ul { margin: 0; padding-left: 22px; }
.guidance-block li + li { margin-top: 7px; }
.guidance-wide { grid-column: 1 / -1; }
.guidance-script { border-left: 4px solid var(--green); }
.faq-list { display: grid; gap: 8px; }
.faq-list details { border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; background: #fff; }
.faq-list summary { cursor: pointer; font-weight: 800; }
.faq-list details p { margin: 10px 0 0; color: var(--muted); }
dialog { width: min(980px, calc(100vw - 28px)); border: 0; border-radius: 8px; padding: 0; box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(18, 25, 22, .45); }
.modal { padding: 20px; }
.footer { display: grid; gap: 6px; color: var(--muted); font-size: 12px; padding: 20px 0 8px; }
@media (max-width: 1100px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metric-grid, .shortcut-grid, .diagnosis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid, .recommendation-grid { grid-template-columns: 1fr; }
  .commercial-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .commercial-layout, .contact-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 1380px) {
  .topbar { grid-template-columns: 1fr; }
  .topbar-actions { max-width: 720px; }
}
@media (max-width: 720px) {
  .main { padding: 16px; }
  .topbar, .section-head { display: grid; }
  .topbar-branding { grid-template-columns: 1fr; gap: 10px; }
  .topbar-brand-logo { width: min(100%, 330px); }
  .topbar-branding h1 { font-size: 30px; }
  .topbar-actions { grid-template-columns: 1fr; }
  .topbar-actions > select { grid-column: auto; }
  .nav, .metric-grid, .shortcut-grid, .diagnosis-grid, .rules-grid, .mapping-grid, .form-step, .form-grid.compact, .doc-form, .user-form, .password-form, .guidance-grid, .commercial-metrics, .commercial-filters, .contact-result-form { grid-template-columns: 1fr; }
  .contact-result-form .wide { grid-column: auto; }
  .contact-steps li > strong { font-size: 11px; }
  .ai-assistant-layout, .ai-context-form { grid-template-columns: 1fr; }
  .ai-context-form .wide { grid-column: auto; }
  .knowledge-upload-form, .import-preview-grid, .import-preview-columns { grid-template-columns: 1fr; }
  .knowledge-upload-form .wide { grid-column: auto; }
  .retire-client-row { grid-template-columns: 1fr; }
  .contact-actions { align-items: stretch; flex-direction: column; }
  .contact-lead-picker { align-items: stretch; flex-direction: column; }
  .contact-submit-actions { align-items: stretch; flex-direction: column; }
  .authorial-message-actions { align-items: stretch; flex-direction: column; }
  .product-library { grid-template-columns: 1fr; }
  .queue-row { grid-template-columns: 30px 1fr; }
  .queue-row > :nth-child(3), .queue-row > :nth-child(4) { grid-column: 2; }
  .guidance-wide { grid-column: auto; }
  .topbar select { min-width: 0; }
  #leads-autorais .table-wrap { display: none; }
  #leads-autorais .authorial-card-list { display: grid; }
  table { min-width: 680px; }
}
@media print {
  .sidebar, .topbar, .nav, .actions, .btn, .footer, #dashboard, #triagem, #imoveis, #importar, #regras { display: none !important; }
  .app-shell { display: block; }
  .main { padding: 0; }
  #diagnostico { display: block !important; }
  .panel, .diagnosis-card, .recommendation { box-shadow: none; break-inside: avoid; }
}

/* Sistema CRM Vievas: camada visual isolada para nao interferir no site e no sorteio. */
.crm-experience {
  --vievas-navy: #071d38;
  --vievas-navy-deep: #041326;
  --vievas-blue: #163b66;
  --vievas-red: #b5323c;
  --vievas-red-dark: #8e242d;
  --vievas-cream: #f4f0eb;
  --vievas-paper: #fbfaf8;
  --vievas-ink: #15202a;
  --vievas-muted: #68737d;
  --vievas-line: #e1e4e6;
  background: var(--vievas-cream);
  color: var(--vievas-ink);
  font-family: "Montserrat", Arial, sans-serif;
}
.crm-experience .login-screen {
  align-items: stretch;
  background: var(--vievas-cream);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr);
  justify-content: stretch;
  min-height: 100vh;
  padding: 0;
}
.crm-experience .login-institutional {
  align-items: flex-start;
  background: var(--vievas-navy);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: center;
  min-height: 100vh;
  padding: clamp(48px, 9vw, 130px);
}
.crm-experience .login-institutional img { height: auto; max-width: 250px; width: 100%; }
.crm-experience .login-institutional p { color: #d8e3ee; font-size: .8rem; font-weight: 700; letter-spacing: .08em; margin: 12px 0 0; text-transform: uppercase; }
.crm-experience .login-institutional strong { font-size: clamp(1.75rem, 3vw, 3rem); line-height: 1.18; max-width: 450px; }
.crm-experience .login-card {
  align-self: center;
  background: var(--vievas-paper);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  justify-self: stretch;
  margin: 0;
  max-width: none;
  min-height: 100vh;
  padding: clamp(48px, 10vw, 138px);
  width: auto;
}
.crm-experience .login-card[hidden] { display: none; }
.crm-experience .login-brand-logo { margin-bottom: 42px; max-width: 280px; width: min(100%, 280px); }
.crm-experience .login-card h1 { color: var(--vievas-navy); font-size: clamp(1.65rem, 3vw, 2.5rem); letter-spacing: 0; }
.crm-experience .login-subtitle { color: var(--vievas-muted); margin: 8px 0 22px; }
.crm-experience .btn.primary { background: var(--vievas-red); border-color: var(--vievas-red); color: #fff; }
.crm-experience .btn.primary:hover { background: var(--vievas-red-dark); border-color: var(--vievas-red-dark); }
.crm-experience .btn.secondary { background: #fff; border-color: var(--vievas-blue); color: var(--vievas-blue); }
.crm-experience .btn.ghost { border-color: var(--vievas-line); color: var(--vievas-navy); }
.crm-experience .app-shell { background: var(--vievas-cream); }
.crm-experience .sidebar { background: var(--vievas-navy-deep); }
.crm-experience .brand, .crm-experience .nav-item { color: #fff; }
.crm-experience .nav-item.active, .crm-experience .nav-item:hover { background: #173650; }
.crm-experience .nav-label { color: #adc1d2; }
.crm-experience .sidebar-note { border-color: rgba(255,255,255,.18); }
.crm-experience .main { background: var(--vievas-cream); }
.crm-experience .topbar { background: var(--vievas-paper); border-bottom: 1px solid var(--vievas-line); }
.crm-experience .topbar h1 { color: var(--vievas-navy); letter-spacing: 0; }
.crm-experience .topbar-brand-logo { max-height: 48px; max-width: 190px; object-fit: contain; }
.crm-experience .sidebar-brand-logo { background: #fff; border-radius: 4px; height: 44px; object-fit: contain; width: 44px; }
.crm-experience .broker-home-hero { max-width: 770px; padding: 4px 0 18px; }
.crm-experience .broker-home-hero h2, .crm-experience .broker-section-head h2 { color: var(--vievas-navy); font-size: clamp(1.75rem, 3vw, 2.55rem); letter-spacing: 0; margin: 8px 0 12px; }
.crm-experience .broker-home-hero p:not(.eyebrow), .crm-experience .broker-section-head p:not(.eyebrow) { color: var(--vievas-muted); line-height: 1.65; max-width: 780px; }
.crm-experience .broker-quick-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0 28px; }
.crm-experience .broker-quick-action { align-items: flex-start; background: var(--vievas-paper); border: 1px solid var(--vievas-line); border-radius: 6px; color: var(--vievas-ink); cursor: pointer; display: flex; flex-direction: column; font: inherit; gap: 8px; min-height: 124px; padding: 22px; text-align: left; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.crm-experience .broker-quick-action:hover { border-color: var(--vievas-red); box-shadow: 0 8px 22px rgba(7,29,56,.08); transform: translateY(-1px); }
.crm-experience .broker-quick-action strong { color: var(--vievas-navy); font-size: 1rem; }
.crm-experience .broker-quick-action span { color: var(--vievas-muted); font-size: .86rem; line-height: 1.5; }
.crm-experience .broker-bora-link { background: var(--vievas-navy); border-color: var(--vievas-navy); }
.crm-experience .broker-bora-link strong, .crm-experience .broker-bora-link span { color: #fff; }
.crm-experience .legacy-dashboard { display: none; }
.crm-experience .is-master .legacy-dashboard { display: block; }
.crm-experience .broker-tool-panel { max-width: 1120px; }
.crm-experience .broker-assistant-layout { margin-bottom: 20px; }
.crm-experience .broker-ai-box { background: #f6f8fb; border: 1px solid var(--vievas-line); border-radius: 8px; display: grid; gap: 14px; padding: 18px; }
.crm-experience .broker-ai-box h3 { color: var(--vievas-navy); margin: 0 0 4px; }
.crm-experience .broker-ai-box textarea { min-height: 108px; resize: vertical; }
.crm-experience .broker-ai-controls { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.crm-experience .broker-ai-result { background: #fff; border: 1px solid var(--vievas-line); border-radius: 8px; display: grid; gap: 14px; padding: 14px; }
.crm-experience .broker-ai-columns { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); }
.crm-experience .broker-ai-columns strong, .crm-experience .suggested-message strong { color: var(--vievas-navy); display: block; margin-bottom: 6px; }
.crm-experience .broker-ai-columns ul { color: #394653; line-height: 1.55; margin: 0; padding-left: 18px; }
.crm-experience .broker-ai-columns p, .crm-experience .suggested-message p { color: #394653; line-height: 1.55; margin: 0; white-space: pre-line; }
.crm-experience .broker-ai-columns small { color: var(--vievas-muted); display: block; line-height: 1.45; }
.crm-experience .broker-followup-box { background: #fff; border: 1px solid var(--vievas-line); border-radius: 8px; display: grid; gap: 14px; margin-bottom: 20px; padding: 18px; }
.crm-experience .broker-followup-box .panel-title-row { align-items: end; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); }
.crm-experience .broker-followup-box h3 { color: var(--vievas-navy); margin: 0 0 4px; }
.crm-experience .broker-followup-box label { color: var(--vievas-ink); display: grid; font-size: .82rem; font-weight: 700; gap: 7px; min-width: 0; }
.crm-experience .broker-followup-box select { width: 100%; }
.crm-experience .broker-followup-timeline { display: grid; gap: 10px; }
.crm-experience .broker-followup-step { align-items: start; background: #f7f9fc; border: 1px solid var(--vievas-line); border-radius: 7px; display: grid; gap: 12px; grid-template-columns: 34px minmax(0, 1fr); padding: 12px; }
.crm-experience .broker-followup-step>span { align-items: center; background: var(--vievas-navy); border-radius: 999px; color: #fff; display: flex; font-size: .82rem; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.crm-experience .broker-followup-step strong { color: var(--vievas-navy); display: block; margin-bottom: 4px; }
.crm-experience .broker-followup-step p { color: #394653; line-height: 1.45; margin: 0 0 6px; }
.crm-experience .broker-followup-step small { color: var(--vievas-muted); line-height: 1.45; }
.crm-experience .broker-tool-filters { display: grid; gap: 16px; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.35fr) minmax(220px, .75fr); margin-bottom: 12px; }
.crm-experience .broker-tool-filters label, .crm-experience .broker-enterprise-picker { color: var(--vievas-ink); display: grid; font-size: .82rem; font-weight: 700; gap: 7px; }
.crm-experience .broker-script-toolbar { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin: 0 0 12px; }
.crm-experience .broker-script-toolbar strong { color: var(--vievas-navy); }
.crm-experience .broker-script-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); }
.crm-experience .broker-script-card { background: #fff; border: 1px solid var(--vievas-line); border-radius: 6px; display: flex; flex-direction: column; gap: 16px; padding: 20px; }
.crm-experience .broker-script-card h3 { color: var(--vievas-navy); font-size: 1rem; margin: 0 0 8px; }
.crm-experience .broker-script-card p { color: #394653; line-height: 1.6; margin: 0; white-space: pre-line; }
.crm-experience .broker-card-top { display: flex; flex-direction: column; gap: 6px; }
.crm-experience .broker-card-note { color: var(--vievas-muted); display: block; font-weight: 700; line-height: 1.45; }
.crm-experience .broker-material-hint { background: #f7f9fc; border: 1px solid var(--vievas-line); border-radius: 6px; display: grid; gap: 4px; padding: 10px; }
.crm-experience .broker-material-hint strong { color: var(--vievas-navy); font-size: .75rem; text-transform: uppercase; }
.crm-experience .broker-material-hint span { color: #18365d; font-weight: 800; }
.crm-experience .broker-material-hint small, .crm-experience .broker-script-card details small { color: var(--vievas-muted); line-height: 1.45; }
.crm-experience .broker-script-card summary { color: var(--vievas-navy); cursor: pointer; font-size: .85rem; font-weight: 800; }
.crm-experience .broker-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.crm-experience .broker-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.crm-experience .broker-tags span { background: #edf2f5; border-radius: 99px; color: var(--vievas-blue); font-size: .7rem; font-weight: 700; padding: 4px 8px; }
.crm-experience .broker-script-card .btn { width: fit-content; }
.crm-experience .broker-empty { color: var(--vievas-muted); margin: 8px 0; }
.crm-experience .broker-enterprise-picker { max-width: 560px; }
.crm-experience .broker-enterprise-detail { margin-top: 24px; }
.crm-experience .broker-enterprise-heading { border-bottom: 1px solid var(--vievas-line); margin-bottom: 18px; padding-bottom: 14px; }
.crm-experience .broker-enterprise-heading h3 { color: var(--vievas-navy); font-size: 1.35rem; margin: 0 0 6px; }
.crm-experience .broker-enterprise-heading p, .crm-experience .broker-enterprise-description { color: var(--vievas-muted); line-height: 1.6; margin: 0; }
.crm-experience .broker-spec-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 22px 0; }
.crm-experience .broker-spec-grid div { background: #f7f8f7; border: 1px solid var(--vievas-line); border-radius: 4px; padding: 13px; }
.crm-experience .broker-spec-grid dt { color: var(--vievas-muted); font-size: .76rem; font-weight: 700; margin-bottom: 4px; text-transform: uppercase; }
.crm-experience .broker-spec-grid dd { color: var(--vievas-ink); margin: 0; }
.crm-experience .broker-material-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.crm-experience .simulator-notice { max-width: 740px; }
.crm-experience .simulator-notice h3 { color: var(--vievas-navy); }
.crm-experience .simulator-notice p { color: var(--vievas-muted); line-height: 1.65; margin-bottom: 20px; }
.crm-experience .crm-extension-panel { max-width: 1040px; }
.crm-experience .crm-extension-steps { color: var(--vievas-ink); line-height: 1.7; margin: 18px 0 12px; padding-left: 20px; }
.crm-experience .crm-extension-steps strong { color: var(--vievas-navy); }
.crm-experience .public-broker-thumb { border: 1px solid var(--vievas-line); border-radius: 4px; height: 48px; object-fit: cover; width: 48px; }
.crm-experience .candidate-detail-panel { display: grid; gap: 22px; }
.crm-experience .candidate-data-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crm-experience .candidate-data-grid article, .crm-experience .candidate-text-block { background: #f4f7f5; border: 1px solid var(--vievas-line); border-radius: 6px; padding: 14px; }
.crm-experience .candidate-data-grid small { color: var(--vievas-muted); display: block; font-size: .72rem; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; }
.crm-experience .candidate-data-grid strong { color: var(--vievas-navy); overflow-wrap: anywhere; }
.crm-experience .candidate-contact-panel { align-items: center; background: #f7f9fc; border: 1px solid var(--vievas-line); border-radius: 8px; display: flex; gap: 18px; justify-content: space-between; padding: 16px; }
.crm-experience .candidate-contact-panel article { display: grid; gap: 3px; }
.crm-experience .candidate-contact-panel small { color: var(--vievas-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.crm-experience .candidate-contact-panel strong { color: var(--vievas-navy); font-size: 1.35rem; }
.crm-experience .candidate-contact-panel span { color: #394653; font-weight: 700; }
.crm-experience .candidate-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.crm-experience .candidate-disc-panel { display: grid; gap: 14px; grid-template-columns: minmax(340px, .95fr) minmax(230px, .65fr) repeat(2, minmax(220px, .7fr)); }
.crm-experience .candidate-fit-card, .crm-experience .candidate-disc-card, .crm-experience .candidate-disc-empty { background: #fff; border: 1px solid var(--vievas-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(7,29,56,.04); padding: 16px; }
.crm-experience .candidate-disc-profile-card { background: #fff; border: 1px solid #e1e8e4; border-radius: 14px; box-shadow: 0 18px 42px rgba(7,29,56,.06); display: grid; gap: 18px; padding: 26px; }
.crm-experience .candidate-disc-profile-card small { color: #c59235; display: block; font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.crm-experience .candidate-disc-profile-card h4 { color: #173f37; font-size: 1.45rem; line-height: 1.15; margin: -10px 0 4px; }
.crm-experience .candidate-disc-profile-card p { color: #8a9995; line-height: 1.5; margin: 4px 0 0; }
.crm-experience .candidate-disc-line { display: grid; gap: 8px; }
.crm-experience .candidate-disc-line div { align-items: center; color: #173f37; display: flex; font-size: 1.02rem; font-weight: 900; justify-content: space-between; }
.crm-experience .candidate-disc-line i { background: #e9f0ed; border-radius: 999px; display: block; height: 8px; overflow: hidden; position: relative; }
.crm-experience .candidate-disc-line i::before { background: linear-gradient(90deg, #a87824, #d8aa4b); border-radius: inherit; content: ""; inset: 0 auto 0 0; position: absolute; width: var(--disc-width); }
.crm-experience .candidate-fit-card { background: #f7f9fc; }
.crm-experience .candidate-fit-card small, .crm-experience .candidate-disc-card small { color: var(--vievas-muted); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .04em; margin-bottom: 6px; text-transform: uppercase; }
.crm-experience .candidate-fit-card strong { color: var(--vievas-navy); display: block; font-size: 1.15rem; line-height: 1.25; }
.crm-experience .candidate-fit-card span { color: var(--vievas-red); display: block; font-size: 1.8rem; font-weight: 800; margin: 8px 0; }
.crm-experience .candidate-fit-card p { color: var(--vievas-muted); line-height: 1.45; margin: 0; }
.crm-experience .candidate-disc-card h4 { color: var(--vievas-navy); font-size: 1.1rem; margin: 0 0 12px; }
.crm-experience .candidate-disc-bar { display: grid; gap: 6px; margin-top: 10px; }
.crm-experience .candidate-disc-bar div { display: flex; justify-content: space-between; color: var(--vievas-navy); font-weight: 800; }
.crm-experience .candidate-disc-bar i { background: #e6ece9; border-radius: 999px; display: block; height: 8px; overflow: hidden; position: relative; }
.crm-experience .candidate-disc-bar i::before { background: #c99a3d; border-radius: inherit; content: ""; inset: 0 auto 0 0; position: absolute; width: var(--disc-width); }
.crm-experience .candidate-disc-card ul, .crm-experience .candidate-disc-card ol { color: #394653; line-height: 1.45; margin: 0; padding-left: 18px; }
.crm-experience .candidate-disc-card li+li { margin-top: 6px; }
.crm-experience .candidate-disc-wide { grid-column: 1 / -1; }
.crm-experience .candidate-disc-empty { color: var(--vievas-muted); }
.crm-experience .candidate-ai-panel { display: grid; gap: 12px; grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(220px, .8fr)); }
.crm-experience .candidate-ai-summary, .crm-experience .candidate-ai-card { background: #fff; border: 1px solid var(--vievas-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(7,29,56,.04); padding: 16px; }
.crm-experience .candidate-ai-summary { background: #fff8eb; border-color: #efd6a8; }
.crm-experience .candidate-ai-summary small, .crm-experience .candidate-ai-card small { color: var(--vievas-muted); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .04em; margin-bottom: 6px; text-transform: uppercase; }
.crm-experience .candidate-ai-summary strong { color: var(--vievas-navy); display: block; font-size: 1.2rem; }
.crm-experience .candidate-ai-summary span { color: var(--vievas-red); display: block; font-weight: 800; margin: 6px 0; }
.crm-experience .candidate-ai-summary p, .crm-experience .candidate-ai-card p { color: #394653; line-height: 1.5; margin: 0; }
.crm-experience .candidate-ai-summary em { color: var(--vievas-muted); display: block; font-size: .82rem; font-style: normal; line-height: 1.45; margin-top: 10px; }
.crm-experience .candidate-ai-card ul, .crm-experience .candidate-ai-card ol { color: #394653; line-height: 1.45; margin: 0; padding-left: 18px; }
.crm-experience .candidate-ai-card li+li { margin-top: 6px; }
.crm-experience .candidate-ai-wide { grid-column: 1 / -1; }
.crm-experience .candidate-workspace { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); }
.crm-experience .candidate-evidence-panel { background: #fff; border: 1px solid var(--vievas-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(7,29,56,.04); display: grid; gap: 12px; padding: 18px; }
.crm-experience .candidate-evidence-panel .panel-title-row { margin-bottom: 0; }
.crm-experience .candidate-evidence-panel h3 { color: var(--vievas-navy); margin: 0 0 4px; }
.crm-experience .candidate-evidence-panel .candidate-text-block { max-height: 560px; overflow: auto; }
.crm-experience .candidate-analysis-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); }
.crm-experience .candidate-analysis-layout article { display: grid; gap: 12px; }
.crm-experience .candidate-text-block { line-height: 1.55; min-height: 180px; white-space: pre-wrap; }
.crm-experience .candidate-review-form { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.crm-experience .candidate-review-form h3, .crm-experience .candidate-review-form .wide { grid-column: 1 / -1; }
.crm-experience .disc-score-grid { display: grid; gap: 10px; grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
.crm-experience .disc-score-grid label { color: var(--vievas-navy); font-weight: 800; }
.crm-experience .disc-score-grid input { width: 100%; }
@media (max-width: 850px) {
  .crm-experience .login-screen { display: block; padding: 18px; }
  .crm-experience .login-institutional { display: none; }
  .crm-experience .login-card { border-radius: 8px; min-height: auto; padding: 34px 24px; }
  .crm-experience .login-brand-logo { margin-bottom: 30px; max-width: 210px; }
  .crm-experience .broker-quick-grid { grid-template-columns: 1fr; }
  .crm-experience .broker-tool-filters { grid-template-columns: 1fr; }
  .crm-experience .broker-ai-controls, .crm-experience .broker-ai-columns { grid-template-columns: 1fr; }
  .crm-experience .broker-followup-box .panel-title-row { display: grid; }
  .crm-experience .broker-followup-box label { min-width: 0; }
  .crm-experience .topbar-brand-logo { max-width: 130px; }
  .crm-experience .candidate-data-grid, .crm-experience .candidate-analysis-layout, .crm-experience .candidate-workspace, .crm-experience .candidate-review-form, .crm-experience .candidate-disc-panel, .crm-experience .candidate-ai-panel { grid-template-columns: 1fr; }
  .crm-experience .candidate-contact-panel { align-items: stretch; display: grid; }
  .crm-experience .candidate-contact-actions { justify-content: start; }
  .crm-experience .candidate-disc-wide, .crm-experience .candidate-ai-wide { grid-column: auto; }
}


/* ===== Central visual de empreendimentos do site ===== */
.public-development-toolbar{display:flex;gap:18px;align-items:end;justify-content:space-between}.public-development-filters{display:flex;gap:8px;flex-wrap:wrap}.public-development-filter,.public-development-tab{border:1px solid var(--vievas-line,#dfe4e8);background:#fff;color:var(--vievas-navy,#071d38);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.public-development-filter.active,.public-development-tab.active{background:var(--vievas-navy,#071d38);border-color:var(--vievas-navy,#071d38);color:#fff}.public-development-search{min-width:min(360px,100%);display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--vievas-muted,#68737d)}
.public-development-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.public-development-admin-card{background:#fff;border:1px solid var(--vievas-line,#dfe4e8);border-radius:10px;overflow:hidden;box-shadow:0 7px 24px rgba(7,29,56,.06)}.public-development-admin-card>img,.public-development-admin-placeholder{width:100%;height:190px;object-fit:cover;background:#eef1f4;display:flex;align-items:center;justify-content:center;color:#7b8791}.public-development-admin-body{padding:16px}.public-development-admin-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#68737d}.public-development-admin-body h3{margin:8px 0 4px;color:var(--vievas-navy,#071d38)}.public-development-admin-body p{margin:0 0 12px;color:#68737d}.public-development-admin-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.public-development-admin-badges span{font-size:11px;padding:6px 9px;border-radius:999px;background:#eef1f4}.public-development-admin-badges .is-live{background:#e9f6ef;color:#167548}.public-development-admin-badges .is-hidden{background:#fff3df;color:#956000}.public-development-empty{padding:34px;border:1px dashed var(--vievas-line,#dfe4e8);border-radius:8px;text-align:center;color:#68737d}
.public-development-editor{margin-top:20px}.public-development-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--vievas-line,#dfe4e8);padding-bottom:14px;margin:12px 0 22px}.public-development-tab-panel{display:none}.public-development-tab-panel.active{display:block}.public-development-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-development-form-grid label{display:grid;gap:6px;font-size:13px;font-weight:700}.public-development-form-grid .wide{grid-column:1/-1}.public-development-form-grid input,.public-development-form-grid select,.public-development-form-grid textarea,.publication-options input[type=number]{width:100%}
.bora-prefill-panel{border:1px solid #cbded6;border-left:4px solid var(--vievas-green,#176b50);border-radius:10px;background:#f7fbf9;padding:20px}.bora-prefill-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.bora-prefill-heading h4{margin:4px 0 7px;color:var(--vievas-navy,#071d38);font-size:20px}.bora-prefill-heading p{margin:0;max-width:820px;line-height:1.5;color:#50636a}.bora-prefill-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.bora-prefill-grid label{display:grid;gap:6px;font-size:13px;font-weight:800;color:var(--vievas-navy,#071d38)}.bora-prefill-grid select{width:100%}.bora-prefill-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.bora-prefill-actions .form-message{margin:0;flex:1;min-width:260px}.bora-materials{margin-top:18px;padding:14px;border-radius:8px;background:#edf5f0;color:#29483d}.bora-materials strong,.bora-materials span{display:block}.bora-materials span{font-size:13px;margin-top:4px}.bora-materials .actions{margin-top:10px}
.development-photo-section{border:1px solid var(--vievas-line,#dfe4e8);border-radius:10px;padding:18px;margin-bottom:18px}.development-photo-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.development-photo-heading h4{margin:0;color:var(--vievas-navy,#071d38);font-size:18px}.development-photo-heading p{margin:5px 0 0;color:#68737d}.development-cover-drop{width:min(680px,100%);min-height:280px;border:2px dashed #cad2d9;border-radius:10px;overflow:hidden;background:#f7f8fa;display:flex;align-items:center;justify-content:center;cursor:pointer}.development-cover-drop img{width:100%;height:320px;object-fit:cover}.development-photo-placeholder{display:grid;gap:6px;text-align:center;color:#68737d}.development-photo-placeholder strong{font-size:18px;color:var(--vievas-navy,#071d38)}
.development-gallery-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.development-gallery-slot{border:1px solid var(--vievas-line,#dfe4e8);border-radius:8px;overflow:hidden;background:#f8f9fa}.development-gallery-slot-image{height:165px;display:flex;align-items:center;justify-content:center;position:relative;background:#eef1f4}.development-gallery-slot-image img{width:100%;height:100%;object-fit:cover}.development-gallery-slot-number{position:absolute;left:8px;top:8px;background:rgba(7,29,56,.82);color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.development-gallery-slot-actions{display:flex;gap:6px;flex-wrap:wrap;padding:9px}.development-gallery-slot-actions button{font-size:11px;padding:6px 8px}.publication-options{display:grid;grid-template-columns:1fr 1fr 220px;gap:14px;align-items:stretch}.publication-option{display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start;border:1px solid var(--vievas-line,#dfe4e8);padding:14px;border-radius:8px}.publication-option input{margin-top:3px}.publication-option span{display:grid;gap:4px}.publication-option small{font-weight:400;color:#68737d}.development-live-preview{margin-top:18px}.development-preview-card{max-width:390px;border:1px solid var(--vievas-line,#dfe4e8);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(7,29,56,.06)}.development-preview-card img,.development-preview-card .preview-image-empty{width:100%;height:220px;object-fit:cover;background:#eef1f4;display:flex;align-items:center;justify-content:center;color:#68737d}.development-preview-body{padding:18px}.development-preview-meta{display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;font-size:11px;letter-spacing:.06em;font-weight:800;color:#68737d}.development-preview-meta b{color:#b3222b}.development-preview-body h3{font-size:25px;color:var(--vievas-navy,#071d38);margin:8px 0}.development-preview-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.development-preview-tags span{background:#f1f3f6;border-radius:999px;padding:6px 9px;font-size:11px}.public-development-savebar{position:sticky;bottom:0;z-index:3;background:rgba(255,255,255,.96);border-top:1px solid var(--vievas-line,#dfe4e8);margin:24px -18px -18px;padding:14px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center}.public-development-savebar .form-message{margin:0}.btn.danger{color:#a01822;border-color:#e3b5b9}
@media(max-width:1100px){.public-development-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-development-form-grid{grid-template-columns:1fr 1fr}.publication-options{grid-template-columns:1fr 1fr}.development-gallery-admin{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-development-toolbar,.development-photo-heading,.public-development-savebar,.bora-prefill-heading{display:grid}.public-development-admin-grid,.public-development-form-grid,.publication-options,.development-gallery-admin,.bora-prefill-grid{grid-template-columns:1fr}.public-development-form-grid .wide{grid-column:auto}.public-development-search{min-width:0}.development-cover-drop img{height:230px}}


.bora-update-note{margin:14px 0 0;color:#50636a;font-size:12px;line-height:1.45}
.featured-replacement-dialog{width:min(560px,calc(100vw - 32px));border:0;border-radius:12px;padding:22px;box-shadow:0 24px 70px rgba(7,29,56,.28);color:var(--vievas-navy,#071d38)}.featured-replacement-dialog::backdrop{background:rgba(7,29,56,.48)}.featured-replacement-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.featured-replacement-dialog h3{margin:4px 0 0;font-size:24px}.featured-replacement-dialog>p{line-height:1.5;color:#50636a}.featured-replacement-options{display:grid;gap:9px;margin:16px 0}.featured-replacement-option{display:flex;align-items:center;gap:10px;border:1px solid var(--vievas-line,#dfe4e8);border-radius:8px;padding:12px;cursor:pointer}.featured-replacement-option:has(input:checked){border-color:var(--vievas-green,#176b50);background:#edf7f1}.featured-replacement-option input{margin:0}.featured-replacement-option span{display:grid;gap:3px}.featured-replacement-option small{color:#68737d}
.bora-unavailable-dialog{width:min(680px,calc(100vw - 32px));border:0;border-radius:12px;padding:22px;box-shadow:0 24px 70px rgba(7,29,56,.28);color:var(--vievas-navy,#071d38)}.bora-unavailable-dialog::backdrop{background:rgba(7,29,56,.48)}.bora-unavailable-dialog h3{margin:4px 0 0;font-size:24px}.bora-unavailable-dialog>p{line-height:1.5;color:#50636a}.bora-unavailable-results{display:grid;gap:12px;margin:18px 0}.bora-unavailable-group{border:1px solid var(--vievas-line,#dfe4e8);border-radius:9px;overflow:hidden}.bora-unavailable-group h4{margin:0;padding:10px 13px;background:#f7f8fa;font-size:13px}.bora-unavailable-group ul{list-style:none;margin:0;padding:0}.bora-unavailable-group li{padding:11px 13px;border-top:1px solid var(--vievas-line,#dfe4e8);display:flex;justify-content:space-between;gap:14px;align-items:center}.bora-unavailable-group li span{font-size:12px;color:#68737d;text-align:right}.bora-unavailable-group.is-remove h4{background:#fff2f2;color:#a01822}.bora-unavailable-group.is-keep h4{background:#eef8f2;color:#167548}.bora-unavailable-group.is-pending h4{background:#fff8e8;color:#956000}

/* Fotos rotativas da Home */
.public-hero-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.public-hero-admin-card{background:#fff;border:1px solid var(--vievas-line,#dfe4e8);border-radius:9px;overflow:hidden;box-shadow:0 8px 28px rgba(7,29,56,.06)}.public-hero-admin-image{height:190px;position:relative;background:#eef1f4}.public-hero-admin-image img{width:100%;height:100%;object-fit:cover}.public-hero-admin-image>span{position:absolute;left:10px;top:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:rgba(7,29,56,.88);color:#fff;font-weight:800}.public-hero-admin-body{padding:16px}.public-hero-admin-body h3{margin:8px 0 5px;color:var(--vievas-navy,#071d38);font-size:20px}.public-hero-admin-body p{color:#68737d;margin:0 0 14px}.public-hero-editor{margin-top:20px}.public-hero-editor-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px}.public-hero-preview{height:330px;border:1px dashed #aab4bd;border-radius:9px;overflow:hidden;background:#eef1f4;cursor:pointer;display:flex;align-items:center;justify-content:center}.public-hero-preview img{width:100%;height:100%;object-fit:cover}.public-hero-fields{display:grid;gap:14px;align-content:start}.public-hero-fields>label:not(.publication-option){display:grid;gap:6px;font-size:13px;font-weight:700}.public-hero-fields small{font-weight:400;color:#68737d;line-height:1.4}.public-hero-fields select,.public-hero-fields input{width:100%}
@media(max-width:1100px){.public-hero-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-hero-editor-grid{grid-template-columns:1fr}}
@media(max-width:700px){.public-hero-admin-grid{grid-template-columns:1fr}.public-hero-preview{height:230px}}


/* Central visual de corretores do site */
.public-broker-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.public-broker-admin-card{background:#fff;border:1px solid var(--vievas-line,#dfe4e8);border-radius:10px;overflow:hidden;box-shadow:0 8px 26px rgba(7,29,56,.06)}.public-broker-admin-photo{height:260px;background:#f0f1ef;display:flex;align-items:center;justify-content:center;color:#7b8791;overflow:hidden}.public-broker-admin-photo img{width:100%;height:100%;object-fit:contain;object-position:center top}.public-broker-admin-body{padding:16px}.public-broker-admin-status{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-broker-admin-status small{color:#68737d}.public-broker-admin-body h3{color:var(--vievas-navy,#071d38);margin:10px 0 4px;font-size:20px}.public-broker-admin-body p{color:#68737d;margin:0 0 14px}.public-broker-empty{padding:34px;border:1px dashed var(--vievas-line,#dfe4e8);border-radius:8px;text-align:center;color:#68737d}.public-broker-editor{margin-top:20px}.public-broker-editor-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:24px}.public-broker-photo-column h4{margin:0;color:var(--vievas-navy,#071d38);font-size:18px}.public-broker-photo-column>p{color:#68737d;margin:6px 0 14px;line-height:1.5}.public-broker-photo-drop{display:block;width:100%;max-width:430px;cursor:pointer}.public-broker-photo-preview{height:430px;border:2px dashed #cad2d9;border-radius:10px;background:#f2f2ef;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#68737d;font-weight:800}.public-broker-photo-preview img{width:100%;height:100%;object-fit:contain;object-position:center top}.public-broker-photo-actions{margin:10px 0}.public-broker-photo-column small{display:block;color:#68737d;line-height:1.45;max-width:430px}.public-broker-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}.public-broker-fields label{display:grid;gap:6px;font-size:13px;font-weight:700}.public-broker-fields .wide{grid-column:1/-1}.public-broker-fields input,.public-broker-fields select,.public-broker-fields textarea{width:100%}.public-broker-live-preview{margin-top:24px;padding-top:20px;border-top:1px solid var(--vievas-line,#dfe4e8)}.public-broker-live-preview>h4{color:var(--vievas-navy,#071d38);margin:0 0 12px}.public-broker-preview-card{width:min(100%,360px);background:#fff;border:1px solid var(--vievas-line,#dfe4e8);border-radius:8px;overflow:hidden;box-shadow:0 8px 28px rgba(7,29,56,.06)}.public-broker-preview-photo{height:360px;background:#f2f2ef;display:flex;align-items:center;justify-content:center;color:#68737d}.public-broker-preview-photo img{width:100%;height:100%;object-fit:contain;object-position:center top}.public-broker-preview-body{padding:17px}.public-broker-preview-body h3{margin:0 0 4px;color:var(--vievas-navy,#071d38);font-size:20px}.public-broker-preview-body small{color:#68737d}.public-broker-preview-body p{color:#68737d;line-height:1.5;margin:10px 0 14px}.public-broker-preview-body strong{color:#bd3038;font-size:13px}.public-broker-savebar{position:sticky;bottom:0;z-index:3;background:rgba(255,255,255,.96);border-top:1px solid var(--vievas-line,#dfe4e8);margin:24px -18px -18px;padding:14px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center}.public-broker-savebar .form-message{margin:0}
@media(max-width:1100px){.public-broker-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-broker-editor-grid{grid-template-columns:1fr}.public-broker-photo-drop{max-width:520px}.public-broker-photo-preview{height:480px}}
@media(max-width:700px){.public-broker-admin-grid,.public-broker-fields{grid-template-columns:1fr}.public-broker-fields .wide{grid-column:auto}.public-broker-photo-preview{height:390px}.public-broker-savebar{display:grid}}

.ranking-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}
.ranking-result-item{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}
.ranking-result-item span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.ranking-result-item strong{font-size:16px;line-height:1.35;color:var(--blue);overflow-wrap:anywhere}
.ranking-result-main strong{font-size:20px}
.ranking-result-note{grid-column:1/-1;background:#fff8f8;border-color:#f1c8c8}

/* ============================================================
   VIEVAS CRM - MODULOS RETIRADOS DA INTERFACE (2026-08-08)
   Mantemos a logica interna intacta para evitar dependencias quebradas.
   ============================================================ */
.nav-item[data-view="broker-materials"],
.nav-item[data-view="commercial-today"],
.nav-item[data-view="triagem"],
.nav-item[data-view="regras"],
.nav-item[data-view="inteligencia-comercial"],
[data-jump="broker-materials"],
[data-jump="commercial-today"],
[data-jump="triagem"],
[data-jump="regras"],
[data-jump="inteligencia-comercial"],
#broker-materials,
#commercial-today,
#triagem,
#regras,
#inteligencia-comercial {
  display: none !important;
}

/* ============================================================
   VIEVAS CRM - MODERNIZACAO VISUAL SEGURA (2026-09-06)
   Somente camada visual. Mantem IDs, data-*, classes funcionais e regras.
   ============================================================ */
.crm-experience {
  --crm-bg: #eef2f5;
  --crm-surface: #ffffff;
  --crm-surface-soft: #f7f9fb;
  --crm-ink: #111827;
  --crm-muted: #64748b;
  --crm-line: #d9e1ea;
  --crm-navy: #102b4e;
  --crm-navy-2: #0b1f3a;
  --crm-red: #b5323c;
  --crm-gold: #b78633;
  --crm-green: #167548;
  --crm-focus: 0 0 0 3px rgba(22, 59, 102, .16);
  --crm-shadow-sm: 0 8px 22px rgba(15, 23, 42, .06);
  --crm-shadow-md: 0 18px 44px rgba(15, 23, 42, .10);
  background: var(--crm-bg);
  color: var(--crm-ink);
}

.crm-experience .app-shell {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0) 260px),
    var(--crm-bg);
  grid-template-columns: 268px minmax(0, 1fr);
}

.crm-experience .sidebar {
  background: linear-gradient(180deg, #081d37, #0d2b4d);
  border-right: 1px solid rgba(255,255,255,.08);
  box-shadow: 10px 0 34px rgba(15, 23, 42, .12);
  padding: 22px 16px;
}

.crm-experience .brand {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 10px;
}

.crm-experience .sidebar-brand-logo {
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.crm-experience .nav {
  gap: 5px;
}

.crm-experience .nav-label {
  color: #9fb2c7;
  letter-spacing: .05em;
  padding-inline: 12px;
}

.crm-experience .nav-item {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #eaf0f7;
  display: flex;
  min-height: 42px;
  padding: 10px 12px;
  text-decoration: none;
}

.crm-experience .nav-item:hover,
.crm-experience .nav-item.active {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}

.crm-experience .sidebar-note {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  border-radius: 8px;
}

.crm-experience .main {
  padding: 22px clamp(16px, 2vw, 30px) 34px;
}

.crm-experience .topbar {
  align-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid var(--crm-line);
  border-radius: 8px;
  box-shadow: var(--crm-shadow-sm);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 14px 16px;
}

.crm-experience .topbar-branding {
  display: flex;
  gap: 16px;
}

.crm-experience .topbar-brand-logo {
  max-width: 210px;
}

.crm-experience .topbar-branding h1 {
  color: var(--crm-navy);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
}

.crm-experience .topbar-actions {
  display: flex;
  justify-content: flex-end;
  min-width: 240px;
  width: auto;
}

.crm-experience .user-chip {
  background: var(--crm-surface-soft);
  border: 1px solid var(--crm-line);
  border-left: 3px solid var(--crm-gold);
  border-radius: 8px;
  padding: 8px 12px;
}

.crm-experience .broker-home-hero,
.crm-experience .panel,
.crm-experience .metric,
.crm-experience .shortcut,
.crm-experience .form-step,
.crm-experience .diagnosis-card,
.crm-experience .recommendation {
  border-color: var(--crm-line);
  border-radius: 8px;
  box-shadow: var(--crm-shadow-sm);
}

.crm-experience .broker-home-hero {
  background:
    linear-gradient(135deg, rgba(16,43,78,.98), rgba(27,77,119,.92)),
    var(--crm-navy);
  color: #fff;
  overflow: hidden;
  padding: clamp(22px, 4vw, 40px);
  position: relative;
}

.crm-experience .broker-home-hero::after {
  background: linear-gradient(90deg, rgba(183,134,51,.8), rgba(181,50,60,.82));
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
}

.crm-experience .broker-home-hero .eyebrow,
.crm-experience .broker-home-hero p,
.crm-experience .broker-home-hero h2 {
  color: #fff;
}

.crm-experience .broker-home-hero p {
  max-width: 760px;
  opacity: .84;
}

.crm-experience .broker-quick-grid,
.crm-experience .metric-grid,
.crm-experience .shortcut-grid {
  gap: 14px;
}

.crm-experience .broker-quick-action,
.crm-experience .shortcut,
.crm-experience .metric {
  background: var(--crm-surface);
  border: 1px solid var(--crm-line);
  border-radius: 8px;
  box-shadow: var(--crm-shadow-sm);
  min-width: 0;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Mantem os atalhos BoraVender/Salesforce em azul com texto branco.
   Esta regra vem depois da modernizacao visual para evitar sobrescrita. */
.crm-experience .broker-quick-action.broker-bora-link {
  background: linear-gradient(180deg, #183c68, #102b4e);
  border-color: #102b4e;
  color: #fff;
}

.crm-experience .broker-quick-action.broker-bora-link strong,
.crm-experience .broker-quick-action.broker-bora-link span {
  color: #fff;
}

.crm-experience .broker-quick-action.broker-bora-link:hover {
  background: linear-gradient(180deg, #214d80, #163b66);
  border-color: #163b66;
  box-shadow: 0 12px 28px rgba(16, 43, 78, .20);
}

.crm-experience .broker-quick-action:hover,
.crm-experience .shortcut:hover {
  border-color: #b7c7d8;
  box-shadow: var(--crm-shadow-md);
  transform: translateY(-1px);
}

.crm-experience .broker-quick-action,
.crm-experience #masterRecoveryCard,
.crm-experience #bora-atendimentos {
  position: relative;
}
.crm-experience .broker-quick-action > strong {
  padding-right: 38px;
}
.crm-experience .broker-quick-action > span.broker-card-number,
.crm-experience #masterRecoveryCard > span.broker-card-number,
.crm-experience #bora-atendimentos > span.broker-card-number {
  align-items: center;
  background: #fff;
  border: 1px solid #b7c7d8;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(7,29,56,.10);
  color: var(--vievas-navy);
  display: inline-flex;
  font: 700 12px/1 Montserrat, Arial, sans-serif;
  height: 26px;
  justify-content: center;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 26px;
  z-index: 3;
}
.crm-experience #masterRecoveryCard > header,
.crm-experience #bora-atendimentos > .bora-collapsed-head {
  padding-right: 38px;
}
.vvs-help {
  align-items: center;
  background: #edf5f1;
  border: 1px solid #759187;
  border-radius: 50%;
  color: #244f40;
  cursor: help;
  display: inline-flex;
  font: 700 12px/1 Arial, sans-serif;
  height: 20px;
  justify-content: center;
  margin-left: 6px;
  min-height: 20px;
  min-width: 20px;
  padding: 0;
  vertical-align: middle;
  width: 20px;
}
.vvs-help:focus-visible {
  outline: 2px solid #244f40;
  outline-offset: 2px;
}

.crm-experience .panel,
.crm-experience .broker-tool-panel {
  background: rgba(255,255,255,.96);
}

.crm-experience .section-head {
  align-items: center;
  background: var(--crm-surface);
  border: 1px solid var(--crm-line);
  border-radius: 8px;
  box-shadow: var(--crm-shadow-sm);
  padding: 16px;
}

.crm-experience select,
.crm-experience input,
.crm-experience textarea {
  border-color: #cfd8e3;
  border-radius: 8px;
  min-height: 42px;
}

.crm-experience select:focus,
.crm-experience input:focus,
.crm-experience textarea:focus,
.crm-experience button:focus-visible,
.crm-experience a:focus-visible {
  box-shadow: var(--crm-focus);
  outline: 0;
}

.crm-experience .btn,
.crm-experience .segmented button {
  border-radius: 8px;
  min-height: 42px;
}

.crm-experience .btn.primary,
.crm-experience .segmented .active {
  background: linear-gradient(180deg, #183c68, #102b4e);
  border-color: #102b4e;
}

.crm-experience .btn.secondary {
  background: #eef6f1;
  border-color: #c7ded2;
  color: var(--crm-green);
}

.crm-experience .btn.ghost {
  background: #fff;
  border-color: #cfd8e3;
  color: var(--crm-navy);
}

.crm-experience .table-wrap {
  background: #fff;
  border: 1px solid var(--crm-line);
  border-radius: 8px;
  box-shadow: var(--crm-shadow-sm);
}

.crm-experience table {
  min-width: 860px;
}

.crm-experience th {
  background: #f6f8fb;
  color: #536174;
  letter-spacing: .03em;
}

.crm-experience td {
  background: #fff;
}

.crm-experience tr:hover td {
  background: #f8fafc;
}

.crm-experience .badge {
  border-radius: 999px;
}

@media (max-width: 1120px) {
  .crm-experience .app-shell {
    grid-template-columns: 228px minmax(0, 1fr);
  }

  .crm-experience .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .crm-experience .topbar-actions {
    justify-content: space-between;
    width: 100%;
  }
}

@media (max-width: 850px) {
  .crm-experience .app-shell {
    display: block;
  }

  .crm-experience .sidebar {
    height: auto;
    position: relative;
  }

  .crm-experience .nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .crm-experience .nav-label,
  .crm-experience .sidebar-note {
    grid-column: 1 / -1;
  }

  .crm-experience .topbar-branding,
  .crm-experience .topbar-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .crm-experience .topbar-brand-logo {
    max-width: 170px;
  }

  .crm-experience .section-head,
  .crm-experience .candidate-contact-panel {
    display: grid;
  }
}

@media (max-width: 560px) {
  .crm-experience .main {
    padding: 14px 12px 26px;
  }

  .crm-experience .nav {
    grid-template-columns: 1fr;
  }

  .crm-experience .topbar,
  .crm-experience .section-head,
  .crm-experience .panel {
    padding: 14px;
  }

  .crm-experience .topbar-brand-logo {
    max-width: 145px;
  }

  .crm-experience .broker-home-hero h2 {
    font-size: 26px;
  }

  .crm-experience .btn,
  .crm-experience button,
  .crm-experience .broker-quick-action {
    width: 100%;
  }
}


/* Ajuste: banner da Central do Corretor em largura total */
.crm-experience .broker-home-hero {
  width: 100% !important;
  max-width: none !important;
}
