:root {
  --purple-950: #2b0924;
  --purple-900: #3a0d31;
  --purple-800: #501542;
  --purple-700: #74225f;
  --purple-600: #963a81;
  --purple-500: #ad5599;
  --purple-100: #eedbec;
  --purple-50: #faf1f8;
  --black: #111014;
  --ink: #26232b;
  --muted: #706a79;
  --line: #e9e4ee;
  --surface: #ffffff;
  --background: #f7f2f6;
  --positive: #13795b;
  --danger: #c33a49;
  --shadow: 0 18px 50px rgba(32, 15, 51, 0.08);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 10px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 3%, rgba(150, 58, 129, 0.08), transparent 24rem),
    var(--background);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.welcome-gate { position: fixed; z-index: 1000; inset: 0; overflow: auto; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; gap: 18px; padding: 28px clamp(20px, 6vw, 100px); color: #201621; background: #271122 url("./login-persona-background.jpg") center center / cover no-repeat; }
body:not(.access-ready) .sidebar, body:not(.access-ready) .sidebar-scrim, body:not(.access-ready) .app-frame, body:not(.access-ready) dialog { visibility: hidden; }
body.access-ready .welcome-gate { display: none; }
.welcome-brand { display: none; align-self: flex-start; max-width: 1060px; width: 100%; margin: 0 auto; color: #fff; }
.welcome-brand strong { display: block; font-size: 34px; font-weight: 350; letter-spacing: -.08em; }
.welcome-brand span { display: block; font-size: 11px; letter-spacing: .1em; }
.welcome-card { width: min(100%, 470px); padding: clamp(26px, 3vw, 38px); border: 1px solid #e8dce8; border-radius: 24px; background: rgba(255, 255, 255, .97); box-shadow: 0 22px 65px rgba(12, 3, 16, .35); }
.welcome-card h1 { margin: 12px 0 16px; font-size: clamp(27px, 4vw, 39px); line-height: 1.16; }
.welcome-card h1 span { color: #872d76; }
.welcome-intro { margin-bottom: 25px; color: #625868; font-size: 16px; line-height: 1.5; }
.welcome-card form { display: grid; gap: 16px; }
.welcome-card form label { display: grid; gap: 7px; color: #403644; font-size: 14px; font-weight: 700; }
.welcome-card [hidden] { display: none !important; }
.welcome-card input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #daccda; border-radius: 10px; font: inherit; font-size: 16px; }
.welcome-card form button { min-height: 48px; margin-top: 5px; }
.welcome-message { margin: 0; color: #b52d45; font-size: 14px; }
.welcome-gate blockquote { max-width: 470px; margin: 0; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .8); font-size: clamp(16px, 2vw, 19px); line-height: 1.5; text-align: center; }
.welcome-gate cite { display: block; margin-top: 8px; font-size: 14px; font-style: normal; }
@media (max-width: 700px) {
  .welcome-gate { align-items: center; justify-content: center; gap: 20px; padding: 24px 16px; background-position: 35% center; }
  .welcome-brand { display: block; }
  .welcome-card { padding: 26px; }
  .welcome-gate blockquote { font-size: 15px; }
}

button, input, select { font: inherit; }

button { cursor: pointer; }

.shell { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }

.app-frame { min-height: 100vh; margin-left: 252px; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 252px;
  display: flex;
  flex-direction: column;
  padding: 34px 20px 28px;
  color: white;
  background:
    radial-gradient(circle at 110% 90%, rgba(181,80,154,.42), transparent 17rem),
    linear-gradient(165deg, var(--purple-950), var(--purple-800));
  box-shadow: 14px 0 40px rgba(38,9,31,.08);
}

.sidebar-brand { display: block; padding: 0 14px; color: white; text-decoration: none; }
.sidebar-brand strong { display: block; font-size: 27px; font-weight: 300; letter-spacing: -.08em; }
.sidebar-brand span { display: block; margin-top: -2px; font-size: 8px; letter-spacing: .05em; }

.workspace-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  padding: 13px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.11);
  color: rgba(255,255,255,.86);
  font-size: 10px;
  letter-spacing: .08em;
}
.workspace-pill i { width: 8px; height: 8px; border-radius: 50%; background: #67dba8; box-shadow: 0 0 0 5px rgba(103,219,168,.1); }
.workspace-pill strong { color: white; }

.sidebar nav { flex: 1; min-height: 0; margin-top: 26px; padding: 20px 2px 8px 0; overflow-y: auto; border-top: 1px solid rgba(255,255,255,.12); scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.sidebar nav p { margin: 18px 14px 9px; color: rgba(255,255,255,.5); font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.sidebar nav p:first-child { margin-top: 0; }
.sidebar nav button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 3px 0;
  padding: 8px 10px;
  border-radius: 12px;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  font-family: inherit;
  border: 0;
  text-align: left;
  background: transparent;
  cursor: pointer;
}
.sidebar nav button:hover { background: rgba(255,255,255,.08); }
.sidebar nav button.active { color: var(--purple-950); background: white; }
.sidebar nav b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.1); font-size: 10px; }
.sidebar nav button.active b { color: var(--purple-700); background: var(--purple-50); }
.sidebar nav button span { flex: 1; }
.sidebar nav button small { float: right; margin-top: 2px; color: rgba(255,255,255,.36); font-size: 7px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.sidebar nav button.coming-soon { color: rgba(255,255,255,.47); }
.sidebar nav button.coming-soon:hover { color: rgba(255,255,255,.72); }

.sidebar-note { margin-top: 12px; padding: 14px 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.07); }
.sidebar-note strong, .sidebar-note span { display: block; }
.sidebar-note strong { font-size: 12px; }
.sidebar-note span { margin-top: 7px; color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.5; }
.sidebar-scrim { display: none; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 76px;
  padding: 0 max(20px, calc((100vw - 1372px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}

.menu-button { display: none; width: 40px; height: 40px; border: 0; border-radius: 10px; color: var(--purple-700); background: var(--purple-50); font-size: 0; }
.menu-button::after { content: "☰"; font-size: 20px; }
.breadcrumb span, .breadcrumb strong { display: block; }
.breadcrumb span { color: var(--muted); font-size: 11px; }
.breadcrumb strong { margin-top: 2px; font-size: 13px; }
.avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--purple-700); font-size: 11px; font-weight: 800; }
.access-identity { margin-left: auto; text-align: right; line-height: 1.2; }
.access-identity span { display: block; color: var(--ink); font-size: .82rem; font-weight: 850; }
.access-identity small { color: var(--muted); font-size: .72rem; }
.profile-switch-button { margin-left: 14px; padding: 8px 12px; border: 1px solid rgba(100,48,168,.22); border-radius: 10px; color: var(--purple-700); background: var(--purple-50); font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }
.profile-switch-button:hover { color: white; background: var(--purple-700); }
.profile-switch-dialog .form-note { margin: 0; padding: 11px 13px; border-radius: 10px; color: #8b1e32; background: #fff0f3; }
.financial-entry-table th:last-child, .financial-entry-table td:last-child { position: sticky; right: 0; z-index: 2; min-width: 88px; text-align: center; background: white; box-shadow: -8px 0 14px rgba(22,17,31,.06); }
.financial-entry-table th:last-child { z-index: 3; background: #fbfafc; }
.weekly-critical-panel { margin: 16px 0; padding: 18px 20px; }
.weekly-critical-panel .panel-heading { margin-bottom: 12px; }
.weekly-critical-list { display: flex; flex-wrap: wrap; gap: 8px; }
.weekly-critical-list .status { white-space: normal; line-height: 1.35; }
.weekly-evolution-table { min-width: 1420px; }
.weekly-evolution-table td { vertical-align: top; }
.weekly-evolution-table .metric-cell strong, .weekly-evolution-table .projection-cell strong { display: block; }
.weekly-evolution-table .metric-cell small, .weekly-evolution-table .projection-cell small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.35; }
.weekly-evolution-table .metric-below strong { color: #a62b41; }
.sdr-pace-panel { margin: 16px 0 18px; padding: 20px; }
.sdr-pace-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sdr-pace-grid > div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fbfafc; }
.sdr-pace-grid span, .sdr-pace-grid small { display: block; color: var(--muted); }
.sdr-pace-grid span { font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.sdr-pace-grid strong { display: block; margin: 7px 0 4px; font-size: 1.45rem; color: var(--ink); }
.sdr-pace-grid small { font-size: .72rem; line-height: 1.35; }
.my-sdr-deliveries-table { min-width: 1050px; }
.reports-submodule-heading { margin-top: 6px; }
.reports-submodule-heading h2 { margin: 4px 0 8px; font-size: clamp(1.6rem, 3vw, 2.35rem); }
.reports-submodule-heading h2 span { color: var(--purple-600); }
@media (max-width: 800px) { .sdr-pace-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.app-view { display: none; }
.app-view.active { display: block; }
[hidden] { display: none !important; }

.access-alert { display: flex; gap: 14px; align-items: center; margin: 20px 0; padding: 16px 18px; border: 1px solid rgba(100, 48, 168, .24); border-radius: 16px; background: linear-gradient(100deg, rgba(100, 48, 168, .1), rgba(100, 48, 168, .03)); }
.access-alert strong { flex: 0 0 auto; color: var(--purple-700); }
.access-alert span { color: var(--muted); line-height: 1.45; }
.permission-role-grid { display: grid; grid-template-columns: repeat(6, minmax(145px, 1fr)); gap: 12px; margin: 18px 0 22px; }
.permission-role-card { min-height: 178px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 12px 35px rgba(22, 17, 31, .06); }
.permission-role-card > span { display: block; color: var(--muted); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.permission-role-card > strong { display: block; margin: 9px 0 5px; color: var(--purple-700); font-size: 2rem; }
.permission-role-card p { min-height: 54px; margin: 0 0 12px; color: var(--ink); font-size: .82rem; line-height: 1.4; }
.permission-role-card small { color: var(--muted); font-size: .72rem; }
.permission-role-card.green > strong { color: #16835b; }
.permission-role-card.amber > strong { color: #a56400; }
.permission-role-card.black > strong { color: #17131c; }
.permission-role-card.blue > strong { color: #2368a2; }
.permission-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.access-preview-panel { position: sticky; top: 24px; padding: 20px; }
.access-preview-panel > p { margin: 0 0 18px; color: var(--muted); line-height: 1.45; }
.access-preview-panel label { display: grid; gap: 7px; margin: 0 0 14px; color: var(--ink); font-size: .8rem; font-weight: 800; }
.access-preview-panel select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.access-preview-panel .button { width: 100%; margin-top: 8px; }
.access-role { display: inline-flex; padding: 6px 9px; border-radius: 999px; color: var(--purple-700); background: rgba(100, 48, 168, .1); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.access-role.green { color: #0c6b49; background: #e4f6ee; }
.access-role.amber { color: #865300; background: #fff3d6; }
.access-role.black { color: white; background: #221d29; }
.access-role.blue { color: #185783; background: #e4f1fb; }
body[data-access-role="sdr"] #sdrPerformanceRows .row-edit,
body[data-access-role="sdr"] #sdrPaymentCalendar,
body[data-access-role="sdr"] .sdr-filters .button,
body[data-access-role="sdr"] .sdr-performance-panel { display: none !important; }
body[data-access-role="sdr"] .sdr-summary-grid { grid-template-columns: 1fr; }
body[data-access-role="sdr"] [data-coming-soon],
body[data-access-role="team_leader"] [data-coming-soon],
body[data-access-role="gestao"] [data-coming-soon] { display: none !important; }
body[data-access-role="sdr"] [data-add-lead],
body[data-access-role="sdr"] #exportLeads,
body[data-access-role="sdr"] #restoreLeads { display: none !important; }
body[data-access-role="sdr"] #leadDialog input[readonly] { color: var(--ink); background: #f7f5f8; cursor: default; }

.hero {
  min-height: 310px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 64px;
  align-items: center;
  padding-block: 52px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--purple-600);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

h1, h2 { margin: 0; letter-spacing: -.04em; }

h1 { color: var(--black); font-size: clamp(38px, 4vw, 54px); line-height: 1.02; }
h1 span { color: var(--purple-600); }
h2 { font-size: clamp(28px, 3vw, 40px); }

.hero-description {
  max-width: 660px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.client-panel {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(89,37,168,.12);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.82);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.client-panel::after, .scenario-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -42px;
  right: -36px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(173,85,153,.08);
  pointer-events: none;
}
.client-panel > *, .scenario-card > * { position: relative; z-index: 1; }

.client-panel > label {
  display: block;
  margin-bottom: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#clientName {
  width: 100%;
  padding: 14px 0;
  border: 0;
  border-bottom: 2px solid var(--black);
  outline: none;
  background: transparent;
  color: var(--black);
  font-size: 25px;
  font-weight: 750;
}

#clientName:focus { border-bottom-color: var(--purple-600); }

.client-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }

.button {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 750;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: var(--purple-700); }
.button-primary:hover { background: var(--purple-800); }
.button-secondary { border-color: var(--line); color: var(--ink); background: white; }
.button-ghost { color: var(--muted); background: transparent; }
.button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(113,56,212,.22); outline-offset: 2px; }

.save-status { margin: 13px 0 0; color: var(--muted); font-size: 11px; }

.simulator, .payment-section {
  margin-bottom: 42px;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 16px 50px rgba(32,15,51,.05);
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
}

.section-heading > p { margin: 0 0 5px; color: var(--muted); font-size: 12px; }

.scenario-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.scenario-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
}

.scenario-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--purple-600);
}

.scenario-b::before { background: var(--black); }

.scenario-header {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 24px 24px 18px;
  border-bottom: 1px solid var(--line);
}

.scenario-number {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: white;
  background: var(--purple-700);
  font-weight: 850;
}

.scenario-b .scenario-number { background: var(--black); }

.scenario-header > div:last-child { min-width: 0; flex: 1; }

.scenario-name {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--black);
  background: transparent;
  font-size: 19px;
  font-weight: 800;
  text-overflow: ellipsis;
}

.scenario-header span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }

.scenario-form { padding: 22px 24px 6px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field-wide { grid-column: 1 / -1; }

.field label {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.field .hint { color: #a099a8; font-weight: 500; }

.input-wrap { position: relative; }
.input-prefix, .input-suffix {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #958d9d;
  font-size: 12px;
  pointer-events: none;
}
.input-prefix { left: 12px; }
.input-suffix { right: 12px; }
.has-prefix input { padding-left: 36px; }
.has-suffix input { padding-right: 38px; }

.field input, .field select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  outline: none;
  color: var(--ink);
  background: #fbfafc;
  font-size: 14px;
  font-weight: 650;
}

.field input:focus, .field select:focus { border-color: var(--purple-500); background: white; }
.field input[disabled] { color: #aaa3af; background: #f1eff3; cursor: not-allowed; }

.management-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 15px;
  padding: 15px;
  border-radius: 14px;
  background: var(--purple-50);
}

.validation { padding: 0 24px; color: var(--danger); font-size: 12px; }
.validation ul { margin: 0 0 10px; padding-left: 18px; }

.scenario-result {
  margin: 12px 24px 24px;
  padding: 20px;
  border-radius: 16px;
  color: white;
  background: linear-gradient(145deg, var(--purple-900), var(--purple-600));
}
.scenario-b .scenario-result { background: linear-gradient(145deg, #0e0d10, #312c37); }

.result-top { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.result-label { color: rgba(255,255,255,.68); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.result-total { display: block; margin-top: 5px; font-size: clamp(25px, 3vw, 34px); font-weight: 850; letter-spacing: -.035em; }
.result-term { padding: 7px 10px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: rgba(255,255,255,.82); font-size: 11px; white-space: nowrap; }

.result-breakdown {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.result-breakdown span { display: block; color: rgba(255,255,255,.6); font-size: 10px; }
.result-breakdown strong { display: block; margin-top: 4px; font-size: 13px; }

.comparison {
  margin-top: 22px;
  padding: 22px 24px;
  border-radius: 18px;
  background: var(--purple-50);
}

.comparison-label { margin: 0; color: var(--purple-700); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.comparison h3 { margin: 6px 0 0; font-size: 21px; letter-spacing: -.02em; }
.comparison-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 18px; }
.comparison-metric { padding-left: 14px; border-left: 2px solid rgba(113,56,212,.18); }
.comparison-metric span { display: block; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.comparison-metric strong { display: block; margin-top: 4px; color: var(--black); font-size: 15px; }

.payment-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
.payment-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.payment-table th, .payment-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: right; font-size: 13px; }
.payment-table th { color: var(--muted); background: #faf9fb; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.payment-table th:first-child, .payment-table td:first-child { text-align: left; }
.payment-table tbody tr:last-child td { border-bottom: 0; }
.payment-table tbody tr:hover { background: var(--purple-50); }
.payment-table .flow-total td { color: var(--black); background: #f5f2f8; font-weight: 850; }
.payment-table .lower { color: var(--positive); font-weight: 750; }
.flow-details { display: block; margin-top: 2px; color: #9b94a1; font-size: 10px; font-weight: 500; }

.formula-note {
  margin-top: 18px;
  padding: 15px 18px;
  border-left: 3px solid var(--purple-600);
  color: var(--muted);
  background: #faf9fb;
  font-size: 11px;
  line-height: 1.6;
}
.formula-note strong { color: var(--ink); }

.footer { display: flex; justify-content: space-between; gap: 20px; padding-block: 8px 36px; color: var(--muted); font-size: 10px; letter-spacing: .04em; }

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10;
  max-width: 320px;
  padding: 13px 16px;
  border-radius: 12px;
  color: white;
  background: var(--black);
  box-shadow: 0 12px 35px rgba(0,0,0,.18);
  font-size: 12px;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.toast.visible { opacity: 1; transform: translateY(0); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.proposal-builder {
  margin-bottom: 42px;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: white;
  box-shadow: 0 16px 50px rgba(32,15,51,.05);
}
.proposal-builder-heading { align-items: center; }
.builder-description { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.proposal-actions { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 8px; }
.proposal-actions label { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.proposal-actions select {
  display: block;
  min-width: 130px;
  height: 42px;
  margin-top: 5px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: #fbfafc;
  font-size: 11px;
  font-weight: 700;
}
.proposal-workspace { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(470px,1.28fr); gap: 18px; align-items: start; }
.proposal-editor { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--background); }
.proposal-editor details { margin-bottom: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.proposal-editor details:last-child { margin-bottom: 0; }
.proposal-editor summary { padding: 14px 15px; color: var(--purple-800); font-size: 10px; font-weight: 850; letter-spacing: .05em; cursor: pointer; list-style-position: inside; }
.proposal-editor details[open] summary { border-bottom: 1px solid var(--line); background: var(--purple-50); }
.proposal-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 14px; }
.proposal-field, .proposal-check { color: var(--muted); font-size: 9px; font-weight: 750; }
.proposal-field.wide, .editor-group-title { grid-column: 1 / -1; }
.proposal-field input, .proposal-field select, .proposal-field textarea {
  width: 100%;
  margin-top: 6px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
  color: var(--ink);
  background: #fcfbfc;
  font-size: 11px;
  font-weight: 600;
}
.proposal-field input, .proposal-field select { height: 39px; }
.proposal-field textarea { min-height: 78px; resize: vertical; line-height: 1.5; }
.proposal-field input:focus, .proposal-field select:focus, .proposal-field textarea:focus { border-color: var(--purple-500); background: white; }
.proposal-input { position: relative; display: block; }
.proposal-input i { position: absolute; right: 10px; top: 50%; transform: translateY(-17%); color: #9e96a2; font-size: 8px; font-style: normal; }
.proposal-input input { padding-right: 28px; }
.proposal-check { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 9px; color: var(--ink); background: var(--purple-50); }
.proposal-check input { accent-color: var(--purple-700); }
.editor-group-title { margin: 5px 0 0; padding-top: 8px; border-top: 1px solid var(--line); color: var(--purple-700); font-size: 9px; font-weight: 850; text-transform: uppercase; }

.proposal-preview-shell { padding: 16px; overflow: hidden; border-radius: 16px; background: #eee9ed; }
.preview-label { display: flex; justify-content: space-between; padding: 2px 4px 13px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.preview-label small { font-weight: 600; letter-spacing: 0; }
.proposal-preview { display: grid; gap: 16px; }
.proposal-paper {
  position: relative;
  width: 100%;
  min-height: 920px;
  padding: 48px 54px 54px;
  overflow: hidden;
  color: #2d2930;
  background: white;
  box-shadow: 0 6px 25px rgba(31,15,28,.12);
  font-family: Arial, Helvetica, sans-serif;
}
.document-brand { margin-bottom: 20px; }
.document-brand img { display: block; width: 205px; max-width: 45%; height: auto; }
.document-brand strong { display: block; color: #171519; font-size: 40px; font-weight: 300; letter-spacing: -.08em; }
.document-brand span { display: block; margin-top: -5px; color: #1f1d21; font-size: 7px; letter-spacing: .02em; }
.document-brand.compact { display: flex; align-items: end; justify-content: space-between; padding-bottom: 11px; border-bottom: 2px solid var(--purple-700); }
.document-brand.compact img { width: 140px; }
.document-brand.compact strong { font-size: 23px; }
.document-brand.compact span { margin: 0 0 3px; color: var(--purple-700); }
.document-kicker { margin: 0 0 6px; color: var(--purple-600); font-size: 10px; font-weight: 800; }
.proposal-paper > h1 { color: var(--purple-700); font-size: 24px; line-height: 1.15; letter-spacing: -.02em; }
.document-subtitle { margin: 8px 0 14px; padding-bottom: 13px; border-bottom: 2px solid var(--purple-700); font-size: 11px; }
.document-section { margin-top: 19px; }
.document-section h2 { margin: 0 0 10px; padding-bottom: 7px; border-bottom: 1px solid #d1ccd0; color: #642151; font-size: 14px; letter-spacing: 0; text-transform: uppercase; }
.document-section h2 b { margin-right: 7px; color: var(--purple-600); }
.document-section h3 { margin: 12px 0 6px; color: #6e2b5b; font-size: 10px; }
.document-section > p, .section-intro { margin: 0; font-size: 10px; line-height: 1.55; }
.document-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.document-table th, .document-table td { padding: 7px 9px; border: 1px solid #d4cfd3; text-align: left; line-height: 1.35; }
.document-table th { width: 27%; color: #74305f; background: #f5eaf2; }
.document-table.meta { margin-bottom: 16px; }
.document-table.stages th { width: 34%; }
.document-table.optional th { width: 25%; }
.investment-hero { padding: 18px; color: white; background: var(--purple-700); text-align: center; }
.investment-hero span, .investment-hero strong { display: block; }
.investment-hero span { font-size: 9px; font-weight: 800; }
.investment-hero strong { margin-top: 7px; font-size: 22px; }
.payment-options { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #d4cfd3; }
.payment-options > div { min-height: 91px; padding: 11px 8px; border-right: 1px solid #d4cfd3; text-align: center; }
.payment-options > div:last-child { border-right: 0; }
.payment-options span, .payment-options strong, .payment-options small { display: block; }
.payment-options span { color: #8d3d75; font-size: 8px; font-weight: 800; }
.payment-options strong { margin-top: 8px; color: #672754; font-size: 14px; }
.payment-options small { margin-top: 8px; color: #6f6970; font-size: 7px; line-height: 1.35; }
.tax-note { margin-top: 10px !important; }
.special-condition { display: grid; grid-template-columns: 1fr .65fr; border: 1px solid #d4cfd3; background: #f5eaf2; }
.special-condition > div { min-height: 85px; padding: 12px; border-right: 1px solid #d4cfd3; }
.special-condition > div:last-child { border-right: 0; }
.special-condition span, .special-condition strong, .special-condition small { display: block; }
.special-condition span { color: #8d3d75; font-size: 8px; font-weight: 800; }
.special-condition strong { margin-top: 7px; color: #672754; font-size: 10px; line-height: 1.4; }
.special-condition small { margin-top: 6px; color: #716870; font-size: 7px; }
.next-steps { margin: 0; padding-left: 18px; font-size: 11px; line-height: 1.8; }
.next-steps li::marker { color: var(--purple-600); }
.signature { margin-top: 32px; font-size: 9px; }
.signature > div { width: 100%; margin-bottom: 12px; border-top: 1px solid #2d2930; }
.signature p { margin-top: 7px; color: #665f66; font-style: italic; }
.document-footer { position: absolute; right: 54px; bottom: 20px; left: 54px; display: flex; justify-content: space-between; padding-top: 6px; border-top: 1px solid #d4cfd3; color: #777077; font-size: 6px; }

.dashboard-page, .records-page, .module-page { padding-block: 44px 54px; }

.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  margin-bottom: 30px;
}
.page-heading h1 { font-size: clamp(34px, 4vw, 50px); }
.page-heading > div > p:last-child { margin: 13px 0 0; color: var(--muted); font-size: 14px; }
.page-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.dashboard-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 20px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
}
.dashboard-filters label { color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.dashboard-filters select, .records-search input, .records-search select, .editor-grid input, .editor-grid select {
  width: 100%;
  height: 42px;
  margin-top: 6px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
  color: var(--ink);
  background: #fbfafc;
  font-size: 12px;
  font-weight: 650;
}
.dashboard-filters select:focus, .records-search input:focus, .records-search select:focus, .editor-grid input:focus, .editor-grid select:focus { border-color: var(--purple-500); background: white; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.kpi-card {
  position: relative;
  min-height: 150px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: white;
  box-shadow: 0 9px 25px rgba(43,9,36,.035);
}
.kpi-card::after { content: ""; position: absolute; top: -38px; right: -34px; width: 92px; height: 92px; border-radius: 50%; background: rgba(173,85,153,.09); }
.kpi-card.black::after { background: rgba(17,16,20,.07); }
.kpi-card.green::after { background: rgba(19,121,91,.10); }
.kpi-card.amber::after { background: rgba(202,139,29,.12); }
.kpi-card.red::after { background: rgba(195,58,73,.10); }
.kpi-card span { display: block; position: relative; z-index: 1; color: var(--muted); font-size: 11px; font-weight: 700; }
.kpi-card strong { display: block; position: relative; z-index: 1; margin-top: 17px; color: var(--black); font-size: clamp(22px, 2.5vw, 30px); letter-spacing: -.04em; }
.kpi-card small { display: block; position: relative; z-index: 1; margin-top: 8px; color: #89818d; font-size: 10px; line-height: 1.4; }

.analytics-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-bottom: 18px; }
.data-panel { border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 9px 25px rgba(43,9,36,.03); }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px 18px; }
.panel-heading span { color: var(--purple-600); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.panel-heading h2 { margin-top: 5px; font-size: 20px; letter-spacing: -.02em; }
.panel-heading .legend { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; letter-spacing: 0; }
.legend i { width: 7px; height: 7px; border-radius: 50%; }
.legend .revenue { background: var(--purple-600); }
.legend .cost { background: #c69024; }
.legend .profit { background: var(--positive); }

.financial-chart, .delivery-chart { min-height: 280px; padding: 0 24px 22px; }
.chart-month { display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.chart-month > b { color: var(--muted); font-size: 10px; }
.chart-line { display: grid; grid-template-columns: 48px 1fr 84px; gap: 8px; align-items: center; margin: 5px 0; }
.chart-line > span { color: var(--muted); font-size: 9px; }
.chart-line > div { height: 6px; overflow: hidden; border-radius: 99px; background: #f0edf1; }
.chart-line i { display: block; height: 100%; border-radius: inherit; }
.chart-line i.revenue { background: var(--purple-600); }
.chart-line i.cost { background: #c69024; }
.chart-line i.profit { background: var(--positive); }
.chart-line i.loss { background: var(--danger); }
.chart-line strong { text-align: right; color: var(--ink); font-size: 9px; }

.delivery-row { padding: 17px 0; border-top: 1px solid var(--line); }
.delivery-row > div:first-child { display: flex; justify-content: space-between; gap: 15px; }
.delivery-row strong { font-size: 11px; }
.delivery-row span { color: var(--muted); font-size: 10px; }
.delivery-row .progress-track { height: 8px; margin-top: 10px; overflow: hidden; border-radius: 99px; background: #eee9ed; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--purple-600); }
.progress-track i.hit { background: var(--positive); }
.delivery-row > b { display: block; margin-top: 6px; text-align: right; color: var(--purple-700); font-size: 10px; }
.empty-state { padding: 50px 20px; color: var(--muted); text-align: center; font-size: 12px; }

.executive-projects { overflow: hidden; }
.text-button { padding: 5px 0; border: 0; color: var(--purple-700); background: transparent; font-size: 11px; font-weight: 800; }
.text-button.danger { color: var(--danger); }
.data-table-wrap { overflow: auto; }
.data-table { width: 100%; min-width: 840px; border-collapse: collapse; }
.data-table th, .data-table td { padding: 13px 16px; border-top: 1px solid var(--line); text-align: left; font-size: 11px; white-space: nowrap; }
.data-table th { color: #87808b; background: #fcfbfc; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.data-table td { color: var(--ink); }
.data-table td small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.data-table tr:hover td { background: var(--purple-50); }
.data-table td.negative { color: var(--danger); font-weight: 750; }
.empty-cell { height: 140px; color: var(--muted) !important; text-align: center !important; }
.status { display: inline-block; max-width: 220px; overflow: hidden; padding: 6px 9px; border-radius: 999px; text-overflow: ellipsis; font-size: 8px; font-weight: 850; letter-spacing: .03em; }
.status.success { color: #126047; background: #e4f5ee; }
.status.danger { color: #a72e3c; background: #fae7ea; }
.status.warning { color: #875e11; background: #fbf1d9; }
.status.neutral { color: #6f6874; background: #efedf0; }

.records-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 14px; }
.records-tabs { display: flex; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.records-tabs button { min-height: 34px; padding: 0 13px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 750; }
.records-tabs button.active { color: white; background: var(--purple-700); }
.records-search { display: grid; grid-template-columns: minmax(230px, 1fr) 170px; gap: 8px; }
.records-search label { color: var(--muted); font-size: 12px; font-weight: 750; }
.records-search input, .records-search select { margin-top: 0; background: white; }
.records-panel { overflow: hidden; }
.records-table { min-width: 1100px; }
.records-footer { display: flex; justify-content: space-between; gap: 20px; padding: 15px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.row-edit { padding: 6px 10px; border: 1px solid var(--purple-100); border-radius: 8px; color: var(--purple-700); background: var(--purple-50); font-size: 9px; font-weight: 800; }

.record-dialog { width: min(920px, calc(100% - 30px)); max-height: calc(100vh - 30px); padding: 0; border: 0; border-radius: 22px; color: var(--ink); background: white; box-shadow: 0 30px 90px rgba(28,7,24,.3); }
.record-dialog::backdrop { background: rgba(23,10,21,.55); backdrop-filter: blur(3px); }
.record-dialog form { display: flex; max-height: calc(100vh - 30px); flex-direction: column; }
.dialog-heading { display: flex; justify-content: space-between; align-items: center; padding: 23px 26px 18px; border-bottom: 1px solid var(--line); }
.dialog-heading h2 { font-size: 24px; }
.dialog-close { width: 36px; height: 36px; border: 0; border-radius: 10px; color: var(--muted); background: var(--background); font-size: 22px; }
.dialog-body { overflow: auto; padding: 22px 26px; }
.dialog-body fieldset { margin: 0 0 22px; padding: 0; border: 0; }
.dialog-body legend { width: 100%; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); color: var(--purple-700); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.editor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.editor-grid label { color: var(--muted); font-size: 10px; font-weight: 700; }
.editor-input { position: relative; display: block; }
.editor-input i { position: absolute; right: 10px; top: 50%; transform: translateY(-20%); color: #9e96a2; font-size: 9px; font-style: normal; }
.editor-input input { padding-right: 30px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 17px 26px; border-top: 1px solid var(--line); background: #fcfbfc; }

.sdr-page, .leads-page { padding-block: 44px 54px; }
.module-tabs {
  display: inline-flex;
  gap: 5px;
  margin-bottom: 20px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  box-shadow: 0 8px 25px rgba(43,9,36,.035);
}
.module-tabs button {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}
.module-tabs button.active { color: white; background: var(--purple-700); box-shadow: 0 6px 16px rgba(95,35,82,.2); }
.module-panel[hidden] { display: none; }
.sdr-filters { grid-template-columns: repeat(2, minmax(180px, 1fr)) auto; }
.sdr-summary-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-bottom: 18px; }
.persona-benchmark, .payment-calendar, .sdr-performance-panel, .sdr-allocation-panel { overflow: hidden; }
.benchmark-body { padding: 0 24px 24px; }
.benchmark-score { display: flex; align-items: end; gap: 12px; padding: 18px 0; border-top: 1px solid var(--line); }
.benchmark-score strong { color: var(--purple-700); font-size: 42px; letter-spacing: -.06em; }
.benchmark-score span { padding-bottom: 7px; color: var(--muted); font-size: 12px; }
.benchmark-bars { display: grid; gap: 13px; padding: 17px; border-radius: 15px; background: var(--purple-50); }
.benchmark-bars > div { display: grid; grid-template-columns: 90px 1fr 54px; gap: 10px; align-items: center; }
.benchmark-bars span, .benchmark-bars strong { font-size: 11px; }
.benchmark-bars strong { text-align: right; }
.benchmark-bars i { height: 9px; overflow: hidden; border-radius: 99px; background: white; }
.benchmark-bars b { display: block; height: 100%; border-radius: inherit; background: var(--purple-700); }
.benchmark-bars b.selection { background: var(--positive); }
.benchmark-details { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 15px; color: var(--muted); font-size: 11px; }
.payment-calendar-list { padding: 0 24px 18px; }
.payment-person { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.person-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 11px; color: white; background: linear-gradient(145deg, var(--purple-700), var(--purple-500)); font-size: 10px; font-weight: 850; }
.payment-person strong, .person-cell strong { display: block; font-size: 11px; }
.payment-person small, .person-cell small, .payment-date small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.payment-date { text-align: right; }
.payment-date strong { color: var(--purple-700); }
.person-cell { display: flex; align-items: center; gap: 10px; }
.client-tags { display: flex; max-width: 250px; flex-wrap: wrap; gap: 4px; }
.client-tags span, .client-tags b { padding: 5px 7px; border-radius: 7px; color: var(--purple-700); background: var(--purple-50); font-size: 8px; font-weight: 800; }
.muted-value { color: var(--muted); font-size: 10px; }
.mini-progress { display: grid; min-width: 130px; grid-template-columns: 1fr 44px; gap: 8px; align-items: center; }
.mini-progress > i { height: 7px; overflow: hidden; border-radius: 99px; background: #eee9ed; }
.mini-progress b { display: block; height: 100%; border-radius: inherit; background: var(--purple-600); }
.mini-progress b.hit { background: var(--positive); }
.mini-progress strong { text-align: right; font-size: 10px; }
.sdr-performance-table { min-width: 1160px; }
.sdr-allocation-panel { margin-top: 18px; }
.sdr-allocation-table { min-width: 1100px; }
.registry-summary { display: grid; gap: 4px; }
.registry-summary strong { font-size: 18px; }
.registry-summary span { color: var(--muted); font-size: 11px; }
.sdr-registry-table { min-width: 1100px; }
.field-span-2 { grid-column: span 2; }
.active-check { display: flex; align-items: center; gap: 9px; min-height: 42px; margin-top: 17px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fbfafc; }
.active-check input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--purple-700); }
.active-check span { color: var(--ink); font-size: 12px; }

.leads-kpis { margin-top: -2px; }
.leads-toolbar {
  display: grid;
  grid-template-columns: minmax(300px, 1.6fr) repeat(3, minmax(150px, 1fr));
  gap: 9px;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
}
.leads-toolbar input, .leads-toolbar select {
  width: 100%;
  height: 43px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
  color: var(--ink);
  background: #fbfafc;
  font-size: 11px;
  font-weight: 650;
}
.leads-toolbar input:focus, .leads-toolbar select:focus { border-color: var(--purple-500); background: white; }
.leads-table { min-width: 1100px; }
.leads-table td:first-child { max-width: 260px; white-space: normal; }
.leads-footer { align-items: center; }
.pagination { display: flex; align-items: center; gap: 12px; }
.pagination span { color: var(--ink); font-weight: 750; }
.pagination button:disabled { cursor: not-allowed; opacity: .35; }

.records-search.single { grid-template-columns: minmax(260px, 420px); }
.client-table { min-width: 1420px; }
.client-team-table { min-width: 980px; }
.table-link { color: var(--purple-700); font-weight: 800; text-decoration: none; }
.table-link:hover { text-decoration: underline; }
.wide-tabs { flex-wrap: wrap; }
.compact-filters { grid-template-columns: repeat(2, minmax(180px, 1fr)) auto; }
.performance-quarter-table { min-width: 900px; }
.cac-table { min-width: 1050px; }
.productivity-table, .report-table { min-width: 980px; }
.opportunity-table { min-width: 1000px; }
.risk-row td { background: #fff1f3 !important; }
.wrap-cell { min-width: 220px; white-space: normal !important; line-height: 1.45; }
.productivity-actions { align-items: center; justify-content: space-between; margin-bottom: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.productivity-actions > div { display: grid; gap: 4px; }
.productivity-actions > div strong { font-size: 14px; }
.productivity-actions > div span { color: var(--muted); font-size: 10px; }
.productivity-actions > .finance-actions { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.finance-actions label, .dashboard-period { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.finance-actions select, .dashboard-period select { min-width: 190px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); padding: 11px 36px 11px 12px; font: inherit; font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.cost-center-open { white-space: nowrap; }
.cost-center-result { color: var(--muted); font-size: 12px; font-weight: 700; }
.selected-cost-center td { background: #f7f0fa; }
.cost-center-details { margin-top: 18px; scroll-margin-top: 24px; }
.cost-center-details .panel-heading small { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; font-weight: 600; }
.positive-value { color: #16845b; font-weight: 800; }
.finance-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.finance-agenda, .finance-forecast { margin-bottom: 18px; }
.finance-agenda { padding: 20px 22px; }
.finance-agenda .panel-heading { padding: 0 0 18px; }
.finance-agenda .kpi-grid { margin-bottom: 18px; }
.finance-agenda-date { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; }
.finance-agenda-date input { border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); padding: 10px 12px; font: inherit; font-size: 14px; }
.finance-agenda-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.finance-agenda-grid > div { min-width: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.finance-agenda-grid h3 { margin: 0; padding: 16px; font-size: 16px; }
.finance-agenda-grid .data-table { min-width: 610px; }
.finance-forecast .data-table { min-width: 1200px; }
.finance-forecast-note { margin: 0; padding: 14px 18px; color: var(--muted); font-size: 12px; }
@media (max-width: 900px) { .finance-agenda-grid { grid-template-columns: 1fr; } }
.monthly-control { overflow: hidden; padding: 0; }
.monthly-control-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }
.monthly-control-head span { color: var(--purple); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.monthly-control-head h2 { margin: 5px 0 0; font-size: 22px; }
.monthly-control-head > strong { display: grid; min-width: 74px; text-align: right; font-size: 25px; }
.monthly-control-head > strong small { color: var(--muted); font-size: 11px; font-weight: 700; }
.monthly-control-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.monthly-control-values > div { display: grid; gap: 5px; min-height: 92px; padding: 16px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.monthly-control-values > div:nth-child(2n) { border-right: 0; }
.monthly-control-values > div:nth-last-child(-n+2) { border-bottom: 0; }
.monthly-control-values span, .monthly-control-values small { color: var(--muted); font-size: 12px; font-weight: 700; }
.monthly-control-values strong { font-size: 20px; }
.monthly-control-values .control-completed strong { color: #16845b; }
.monthly-control-values .control-overdue strong { color: #d4374b; }
@media (max-width: 800px) { .finance-control-grid { grid-template-columns: 1fr; } }
.proposal-history-panel { margin-bottom: 24px; }
.proposal-history-table { min-width: 800px; }
.status-select { min-width: 138px; height: 31px; padding: 0 8px; border: 0; border-radius: 999px; color: #6f6874; background: #efedf0; font-size: 8px; font-weight: 850; }
.status-ganha { color: #126047; background: #e4f5ee; }
.status-perdida { color: #a72e3c; background: #fae7ea; }
.status-em-negocia-o { color: #875e11; background: #fbf1d9; }
.pdf-help { margin: -12px 0 18px; padding: 10px 12px; border-radius: 10px; color: var(--muted); background: var(--purple-50); font-size: 10px; }
.report-client-picker { display: grid; grid-template-columns: minmax(220px, .45fr) 1.55fr; gap: 14px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.report-client-picker > label { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.report-client-picker select { width: 100%; height: 44px; margin-top: 7px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fbfafc; color: var(--ink); font-weight: 700; }
#reportClientSummary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
#reportClientSummary > div { min-width: 0; padding: 12px; border-radius: 11px; background: var(--purple-50); }
#reportClientSummary span, #reportClientSummary strong { display: block; }
#reportClientSummary span { color: var(--purple-600); font-size: 8px; font-weight: 850; letter-spacing: .05em; }
#reportClientSummary strong { margin-top: 6px; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; }
#reportClientSummary a { color: var(--purple-700); text-decoration: none; }
#reportClientSummary .folder-summary-card button { margin-top: 6px; padding: 0; border: 0; color: var(--purple-700); background: none; text-align: left; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
#reportClientSummary .folder-summary-card button:hover { text-decoration: underline; }
#reportClientSummary .folder-summary-card input { width: 100%; min-width: 0; margin-top: 6px; padding: 7px; border: 1px solid var(--purple-200); border-radius: 7px; font: inherit; font-size: 12px; }
.client-performance-overview { margin-top: 20px; }
.client-performance-overview > .form-note, .client-performance-overview #clientPerformanceOverview > .form-note { margin: 0 24px 14px; }
.client-performance-overview .kpi-grid { padding: 0 24px 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.imported-opportunity-detail { max-width: 390px; margin-top: 8px; font-size: 12px; font-weight: 400; line-height: 1.45; }
.imported-opportunity-detail summary { color: var(--purple-700); cursor: pointer; font-weight: 700; }
.opportunity-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 10px 0; }
.opportunity-detail-grid > div { min-width: 0; padding: 8px; border-radius: 8px; background: var(--purple-50); overflow-wrap: anywhere; }
.opportunity-detail-grid span { display: block; color: var(--purple-700); font-size: 10px; font-weight: 800; }
.opportunity-detail-grid strong { display: block; min-width: 0 !important; margin-top: 3px; font-size: 12px; font-weight: 600; }
.imported-opportunity-detail a { color: var(--purple-700); font-weight: 700; }
@media (max-width: 760px) { .client-performance-overview .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 16px 16px; } }
@media (max-width: 480px) { .client-performance-overview .kpi-grid { grid-template-columns: 1fr; } }
.editor-grid textarea { width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #fbfafc; font: inherit; resize: vertical; }

.diagnostic-intro {
  display: grid;
  grid-template-columns: auto 1fr minmax(240px, .8fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
  padding: 20px 22px;
  border-radius: 20px;
  color: white;
  background:
    radial-gradient(circle at 92% 20%, rgba(190,93,163,.38), transparent 17rem),
    linear-gradient(135deg, var(--purple-950), var(--purple-700));
  box-shadow: 0 14px 32px rgba(64,15,52,.13);
}
.diagnostic-step-number { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(255,255,255,.1); font-size: 17px; font-weight: 850; }
.diagnostic-intro > div:nth-child(2) { display: grid; gap: 4px; }
.diagnostic-intro span { color: #e7c6df; font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.diagnostic-intro strong { font-size: 17px; }
.diagnostic-intro small { color: rgba(255,255,255,.7); font-size: 10px; line-height: 1.5; }
.diagnostic-intro > p { margin: 0; padding-left: 20px; border-left: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.8); font-size: 11px; line-height: 1.55; }

.diagnostic-toolbar {
  display: grid;
  grid-template-columns: 1.35fr .65fr 1fr;
  gap: 12px;
  margin-bottom: 18px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
}
.diagnostic-toolbar label, .diagnostic-notes { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.diagnostic-toolbar input, .diagnostic-toolbar select, .diagnostic-notes textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 11px;
  outline: none;
  color: var(--ink);
  background: #fbfafc;
  font-size: 12px;
  font-weight: 650;
}
.diagnostic-toolbar input, .diagnostic-toolbar select { height: 44px; padding: 0 12px; }
.diagnostic-toolbar input:focus, .diagnostic-toolbar select:focus, .diagnostic-notes textarea:focus { border-color: var(--purple-500); background: white; box-shadow: 0 0 0 3px rgba(173,85,153,.08); }
.diagnostic-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .75fr); gap: 18px; align-items: start; margin-bottom: 22px; }
.diagnostic-digital { margin: 0 0 18px; padding: 22px; }
.diagnostic-digital > p { color: var(--muted); margin: 8px 0 18px; font-size: 14px; }
.diagnostic-digital-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.diagnostic-digital-grid label { display: grid; gap: 7px; color: var(--ink); font-size: 14px; font-weight: 650; }
.diagnostic-digital-grid input,.diagnostic-digital-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font: inherit; font-weight: 400; background: white; color: var(--ink); resize: vertical; }
.diagnostic-digital-grid input:focus,.diagnostic-digital-grid textarea:focus { outline: 2px solid var(--purple-500); outline-offset: 1px; }
@media (max-width: 700px) { .diagnostic-digital-grid { grid-template-columns: 1fr; } }
.diagnostic-questionnaire, .diagnostic-result { border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 9px 25px rgba(43,9,36,.035); }
.diagnostic-questionnaire { overflow: hidden; }
.diagnostic-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 23px 24px; border-bottom: 1px solid var(--line); }
.diagnostic-section-heading span, .diagnostic-result-top > span { color: var(--purple-600); font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.diagnostic-section-heading h2 { margin-top: 5px; font-size: 21px; letter-spacing: -.02em; }
.diagnostic-section-heading > strong { padding: 8px 11px; border-radius: 999px; color: var(--purple-700); background: var(--purple-50); font-size: 10px; }
.diagnostic-dimension { padding: 24px; border-bottom: 1px solid var(--line); }
.diagnostic-dimension-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.diagnostic-dimension-heading > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: white; background: var(--purple-700); font-size: 10px; font-weight: 850; }
.diagnostic-dimension-heading h3 { font-size: 16px; }
.diagnostic-dimension-heading small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.diagnostic-question-list { display: grid; gap: 18px; }
.diagnostic-question { min-width: 0; margin: 0; padding: 0; border: 0; }
.diagnostic-question legend { display: flex; gap: 8px; align-items: baseline; margin-bottom: 10px; color: var(--ink); font-size: 12px; font-weight: 750; line-height: 1.45; }
.diagnostic-question legend span { flex: 0 0 auto; color: var(--purple-500); font-size: 9px; }
.diagnostic-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.diagnostic-option { position: relative; min-width: 0; cursor: pointer; }
.diagnostic-option input { position: absolute; inset: 11px auto auto 11px; width: 14px; height: 14px; accent-color: var(--purple-700); }
.diagnostic-option > span { display: block; min-height: 106px; padding: 12px 11px 12px 34px; border: 1px solid var(--line); border-radius: 13px; background: #fcfbfc; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.diagnostic-option:hover > span { border-color: var(--purple-100); transform: translateY(-1px); }
.diagnostic-option input:checked + span { border-color: var(--purple-500); background: var(--purple-50); box-shadow: inset 0 0 0 1px rgba(150,58,129,.08); }
.diagnostic-option strong, .diagnostic-option small { display: block; }
.diagnostic-option strong { color: var(--ink); font-size: 9px; }
.diagnostic-option small { margin-top: 6px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.diagnostic-dimension-notes { display: block; margin-top: 18px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.diagnostic-dimension-notes textarea { width: 100%; min-height: 74px; margin-top: 7px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; outline: none; color: var(--ink); background: #fbfafc; font: inherit; line-height: 1.5; resize: vertical; text-transform: none; letter-spacing: normal; }
.diagnostic-dimension-notes textarea:focus { border-color: var(--purple-500); background: white; box-shadow: 0 0 0 3px rgba(173,85,153,.08); }
.diagnostic-notes { display: block; padding: 24px; }
.diagnostic-notes textarea { min-height: 100px; padding: 12px; font-family: inherit; line-height: 1.5; resize: vertical; text-transform: none; letter-spacing: normal; }
.diagnostic-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 18px 24px; border-top: 1px solid var(--line); background: #fcfbfc; }
.diagnostic-status { margin: 0; padding: 0 24px 20px; color: var(--muted); background: #fcfbfc; font-size: 9px; }
.diagnostic-status[data-tone="success"] { color: var(--positive); }
.diagnostic-status[data-tone="danger"] { color: var(--danger); }

.diagnostic-result { position: sticky; top: 90px; overflow: hidden; }
.diagnostic-result-top { padding: 24px; color: white; background: linear-gradient(150deg, var(--purple-950), var(--purple-700)); }
.diagnostic-result-top > span { color: #e6c1dd; }
.diagnostic-score { display: flex; align-items: baseline; gap: 7px; margin-top: 16px; }
.diagnostic-score strong { font-size: 48px; line-height: .9; letter-spacing: -.06em; }
.diagnostic-score small { color: rgba(255,255,255,.66); font-size: 9px; }
.diagnostic-result-top h2 { margin-top: 16px; font-size: 17px; }
.diagnostic-result-top p { margin: 7px 0 0; color: rgba(255,255,255,.72); font-size: 9px; line-height: 1.55; }
.diagnostic-completion, .diagnostic-dimension-bars, .diagnostic-level-scale, .diagnostic-insights { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.diagnostic-completion > div, .diagnostic-dimension-bars p { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 8px; font-size: 9px; }
.diagnostic-completion span, .diagnostic-dimension-bars span { color: var(--muted); }
.diagnostic-completion > i, .diagnostic-dimension-bars i { display: block; height: 6px; overflow: hidden; border-radius: 999px; background: #eee9ed; }
.diagnostic-completion b, .diagnostic-dimension-bars b { display: block; height: 100%; border-radius: inherit; background: var(--purple-600); transition: width .2s ease; }
.diagnostic-adjustment { display: grid; gap: 4px; margin: 16px 20px 0; padding: 12px; border: 1px solid #f0d7a8; border-radius: 11px; color: #77540f; background: #fff7e7; }
.diagnostic-adjustment strong { font-size: 9px; }
.diagnostic-adjustment span { font-size: 8px; line-height: 1.4; }
.diagnostic-dimension-bars h3, .diagnostic-level-scale h3, .diagnostic-insights h3 { margin-bottom: 13px; font-size: 11px; }
.diagnostic-dimension-bars > div { margin-top: 12px; }
.diagnostic-dimension-bars p strong { font-size: 8px; }
.diagnostic-level-scale { display: grid; gap: 6px; }
.diagnostic-level-scale > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 9px; border-radius: 8px; color: var(--muted); background: #faf9fa; font-size: 8px; }
.diagnostic-level-scale > div.active { color: var(--purple-700); background: var(--purple-50); font-weight: 800; }
.diagnostic-insights { border-bottom: 0; }
.diagnostic-insights h3:not(:first-child) { margin-top: 19px; }
.diagnostic-blockers, .diagnostic-recommendations { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.diagnostic-blockers li { position: relative; padding: 10px 10px 10px 28px; border-radius: 10px; color: #8e2936; background: #fcecef; font-size: 8px; line-height: 1.45; }
.diagnostic-blockers li::before { content: "!"; position: absolute; left: 10px; top: 10px; display: grid; width: 12px; height: 12px; place-items: center; border-radius: 50%; color: white; background: var(--danger); font-size: 7px; font-weight: 900; }
.diagnostic-recommendations { counter-reset: priority; }
.diagnostic-recommendations li { counter-increment: priority; position: relative; padding-left: 27px; }
.diagnostic-recommendations li::before { content: counter(priority); position: absolute; left: 0; top: 0; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 6px; color: var(--purple-700); background: var(--purple-50); font-size: 8px; font-weight: 850; }
.diagnostic-recommendations strong, .diagnostic-recommendations span { display: block; }
.diagnostic-recommendations strong { font-size: 9px; }
.diagnostic-recommendations span { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.diagnostic-clear { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.diagnostic-history-panel { margin-top: 6px; }
.diagnostic-history-table { min-width: 900px; }
.diagnostic-blocker-count { color: var(--danger); font-weight: 750; }

@media (max-width: 900px) {
  .permission-role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .permission-layout { grid-template-columns: 1fr; }
  .access-preview-panel { position: static; }
  .access-identity { display: none; }
  .app-frame { margin-left: 0; }
  .sidebar { transform: translateX(-105%); transition: transform .22s ease; }
  body.menu-open .sidebar { transform: translateX(0); }
  .sidebar-scrim { position: fixed; inset: 0; z-index: 25; background: rgba(22,15,22,.38); backdrop-filter: blur(2px); }
  body.menu-open .sidebar-scrim { display: block; }
  .menu-button { display: grid; place-items: center; }
  .hero { grid-template-columns: 1fr; gap: 32px; padding-block: 48px; }
  .scenario-grid { grid-template-columns: 1fr; }
  .comparison-grid { grid-template-columns: 1fr 1fr; }
  .kpi-grid { grid-template-columns: 1fr 1fr; }
  .analytics-grid { grid-template-columns: 1fr; }
  .dashboard-filters { grid-template-columns: 1fr 1fr; }
  .editor-grid { grid-template-columns: 1fr 1fr; }
  .proposal-workspace { grid-template-columns: 1fr; }
  .proposal-editor { order: 1; }
  .proposal-preview-shell { order: 2; }
  .sdr-summary-grid { grid-template-columns: 1fr; }
  .leads-toolbar { grid-template-columns: 1fr 1fr; }
  .report-client-picker { grid-template-columns: 1fr; }
  #reportClientSummary { grid-template-columns: 1fr 1fr; }
  .diagnostic-layout { grid-template-columns: 1fr; }
  .diagnostic-result { position: static; }
  .diagnostic-options { grid-template-columns: 1fr; }
  .diagnostic-option > span { min-height: auto; }
}

@media (max-width: 600px) {
  .shell { width: min(100% - 24px, 1180px); }
  .topbar { height: 64px; padding-inline: 14px; }
  .breadcrumb { flex: 1; margin-left: 12px; }
  .hero { padding-block: 38px; }
  h1 { font-size: 40px; }
  .client-panel, .simulator, .payment-section { padding: 20px; border-radius: 20px; }
  .simulator, .payment-section { margin-bottom: 18px; }
  .section-heading { align-items: start; flex-direction: column; gap: 9px; }
  .field-grid, .management-fields { grid-template-columns: 1fr; }
  .field-wide, .management-fields { grid-column: auto; }
  .result-breakdown { grid-template-columns: 1fr; }
  .comparison-grid { grid-template-columns: 1fr; gap: 12px; }
  .footer { flex-direction: column; }
  .dashboard-page, .records-page, .sdr-page, .leads-page, .module-page { padding-block: 30px; }
  .page-heading, .records-toolbar { align-items: stretch; flex-direction: column; }
  .page-heading h1 { font-size: 36px; }
  .page-actions, .page-actions .button { width: 100%; }
  .dashboard-filters, .kpi-grid { grid-template-columns: 1fr; }
  .kpi-card { min-height: 132px; }
  .panel-heading { align-items: start; flex-direction: column; }
  .records-search { grid-template-columns: 1fr; }
  .records-tabs button { flex: 1; }
  .editor-grid { grid-template-columns: 1fr; }
  .field-span-2 { grid-column: auto; }
  .dialog-body { padding: 18px; }
  .dialog-heading, .dialog-actions { padding-inline: 18px; }
  .proposal-builder { padding: 20px; }
  .proposal-builder-heading { align-items: stretch; }
  .proposal-actions { justify-content: stretch; }
  .proposal-actions label, .proposal-actions select, .proposal-actions .button { width: 100%; }
  .proposal-workspace { display: block; }
  .proposal-preview-shell { margin-top: 14px; padding: 8px; }
  .proposal-paper { min-height: 690px; padding: 30px 27px 42px; }
  .document-brand strong { font-size: 30px; }
  .document-footer { right: 27px; left: 27px; }
  .proposal-field-grid { grid-template-columns: 1fr; }
  .proposal-field.wide, .editor-group-title { grid-column: auto; }
  .module-tabs { display: flex; width: 100%; }
  .module-tabs button { flex: 1; padding-inline: 10px; }
  .sdr-filters, .leads-toolbar { grid-template-columns: 1fr; }
  .payment-person { grid-template-columns: 34px 1fr; }
  .payment-date { grid-column: 2; text-align: left; }
  .benchmark-bars > div { grid-template-columns: 72px 1fr 50px; }
  .leads-footer { align-items: stretch; flex-direction: column; }
  .pagination { justify-content: space-between; }
  .compact-filters, .report-client-picker, #reportClientSummary { grid-template-columns: 1fr; }
  .productivity-actions { align-items: stretch; flex-direction: column; }
  .diagnostic-intro { grid-template-columns: auto 1fr; }
  .diagnostic-intro > p { grid-column: 1 / -1; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .diagnostic-toolbar { grid-template-columns: 1fr; }
  .diagnostic-dimension, .diagnostic-notes { padding: 18px; }
  .diagnostic-section-heading { align-items: flex-start; padding: 20px 18px; }
  .diagnostic-actions { align-items: stretch; flex-direction: column; padding: 16px 18px; }
  .diagnostic-actions .button { width: 100%; }
  .diagnostic-status { padding: 0 18px 18px; }
}

.payment-date-alert {
  padding: 13px 15px;
  border: 1px solid #efb1a7;
  border-radius: 12px;
  background: #fff1ef;
  color: #a52a1f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .025em;
}
.editor-grid input[readonly] { background: #f4f0f4; color: #4d4450; cursor: not-allowed; }
.monthly-check-table td small { display: block; margin-top: 4px; color: #7f7480; }

@media print {
  @page { size: A4; margin: 10mm; }
  body { background: white; }
  .app-frame { margin-left: 0; }
  .sidebar { display: none; }
  .topbar { position: static; height: 54px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .shell { width: 100%; }
  .hero { min-height: auto; grid-template-columns: 1fr 1fr; padding-block: 26px; }
  .hero-description, .client-actions, .save-status { display: none; }
  h1 { font-size: 38px; }
  .client-panel { box-shadow: none; }
  .simulator, .payment-section { margin-bottom: 16px; padding: 20px; box-shadow: none; break-inside: avoid; }
  .scenario-grid { gap: 12px; }
  .scenario-card { break-inside: avoid; }
  .scenario-form { padding: 15px 17px 2px; }
  .scenario-header { padding: 17px; }
  .scenario-result { margin: 10px 17px 17px; }
  .field input, .field select { background: white; }
  .payment-table th, .payment-table td { padding: 9px 13px; }
  .toast { display: none; }
  .app-view { display: none !important; }
  .app-view.active { display: block !important; }
  body.print-proposal .topbar,
  body.print-proposal .sidebar,
  body.print-proposal #proposalView > .hero,
  body.print-proposal #proposalView > .simulator,
  body.print-proposal #proposalView > .payment-section,
  body.print-proposal #commercialProposalView > .module-page,
  body.print-proposal .proposal-builder-heading,
  body.print-proposal .pdf-help,
  body.print-proposal .proposal-editor,
  body.print-proposal .preview-label,
  body.print-proposal .footer { display: none !important; }
  body.print-proposal .app-frame { margin: 0; }
  body.print-proposal .proposal-builder { width: 100%; margin: 0; padding: 0; border: 0; box-shadow: none; }
  body.print-proposal .proposal-workspace { display: block; }
  body.print-proposal .proposal-preview-shell { padding: 0; background: white; }
  body.print-proposal .proposal-preview { gap: 0; }
  body.print-proposal .proposal-paper { width: 210mm; min-height: 297mm; margin: 0; padding: 15mm 16mm 14mm; box-shadow: none; break-after: page; page-break-after: always; }
  body.print-proposal .proposal-paper:last-child { break-after: auto; page-break-after: auto; }
  body.print-proposal .document-footer { right: 16mm; bottom: 7mm; left: 16mm; }
}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.decision-grid .data-panel{min-width:0}
.decision-row{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.8rem 0;border-top:1px solid #eee}
.decision-row small,.decision-metrics small{color:#666}
.decision-metrics{display:grid;gap:.75rem;margin-bottom:1rem}
.decision-metrics>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #eee;padding-top:.75rem}
.decision-metrics strong{white-space:nowrap}
.decision-note{font-size:.875rem;color:#666;line-height:1.5;margin:1rem 0 1.5rem}
@media(max-width:850px){.decision-grid{grid-template-columns:1fr}.decision-metrics>div{flex-wrap:wrap}}
.daily-checkpoint{padding:1.25rem;margin-bottom:1.5rem}.daily-checkpoint-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}.daily-checkpoint-form label,.daily-checkpoint-filter label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600}.daily-checkpoint-form input,.daily-checkpoint-form select,.daily-checkpoint-form textarea,.daily-checkpoint-filter input,.daily-checkpoint-filter select{width:100%;min-height:2.6rem;padding:.55rem;border:1px solid #c9c4d0;border-radius:.5rem;background:#fff;color:#18131d;font:inherit}.daily-checkpoint-form .daily-notes{grid-column:1/-1}.daily-checkpoint-form button{align-self:end}.daily-checkpoint-filter{display:flex;flex-wrap:wrap;gap:1rem;margin:1.25rem 0}.daily-checkpoint .data-table-wrap{overflow-x:auto}

/* Controle de oportunidades */
.opportunity-control .page-heading { margin-bottom: 20px; }
.opportunity-kpis { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-bottom: 12px; }
.opportunity-kpi { display: flex; flex-direction: column; min-height: 132px; gap: 8px; padding: 20px; }
.opportunity-kpi span { color: var(--purple-700); font-size: 13px; font-weight: 700; }
.opportunity-kpi strong { font-size: clamp(20px, 2vw, 29px); line-height: 1.1; }
.opportunity-kpi small { color: #696475; font-size: 12px; }
.opportunity-source-note { margin: 0 0 20px; color: #625d6b; font-size: 13px; line-height: 1.5; }
.opportunity-tabs { display: flex; overflow-x: auto; white-space: nowrap; gap: 6px; margin-bottom: 18px; padding-bottom: 4px; }
.opportunity-tabs button { flex: 0 0 auto; }
.opportunity-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
.opportunity-toolbar input { flex: 1 1 260px; min-width: 0; }
.opportunity-toolbar select { flex: 0 1 200px; }
.opportunity-toolbar input, .opportunity-toolbar select { min-height: 42px; padding: 9px 12px; border: 1px solid #d9d3e1; border-radius: 10px; background: white; font: inherit; }
.opportunity-toolbar label { display: flex; align-items: center; gap: 10px; color: #625969; font-size: 12px; font-weight: 700; }
.general-summary, .general-meetings { margin-bottom: 18px; }
.general-summary-table { min-width: 1000px; }
.general-summary-table th:first-child { min-width: 230px; position: sticky; left: 0; z-index: 1; background: #fcfbfc; }
.general-summary-table th, .general-summary-table td { padding: 13px 10px; text-align: center; }
.general-summary-table th:first-child { text-align: left; }
.general-summary-table td:last-child { color: var(--purple-700); background: var(--purple-50); }
.general-summary-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; border-top: 1px solid var(--line); }
.general-summary-stats > div { display: grid; gap: 5px; padding: 14px; border-radius: 12px; background: var(--purple-50); }
.general-summary-stats span { color: #665b6b; font-size: 11px; font-weight: 700; }
.general-summary-stats strong { color: var(--purple-700); font-size: 23px; }
.general-summary-stats small { color: #766b79; font-size: 10px; }
.general-meeting-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.general-meeting-grid > div { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 12px; }
.general-meeting-grid h3 { margin: 0 0 10px; color: var(--purple-700); font-size: 13px; }
.general-meeting-grid ul { margin: 0; padding-left: 17px; }
.general-meeting-grid li { margin: 7px 0; overflow-wrap: anywhere; font-size: 11px; }
.general-meeting-grid small { display: block; color: var(--muted); }
.general-meeting-grid p { color: var(--muted); font-size: 11px; }
.report-calculation-note { margin: 0; padding: 16px 20px 20px; color: #655e69; font-size: 11px; line-height: 1.6; }
@media (max-width: 750px) { .general-summary-stats, .general-meeting-grid { grid-template-columns: 1fr; } }
.opportunity-table td { vertical-align: top; }
.opportunity-table td strong { display: block; min-width: 135px; }
.opportunity-table td small { display: block; color: #777080; max-width: 230px; margin-top: 4px; }
.opportunity-action { white-space: nowrap; padding: 7px 10px; }
.opportunity-goal-card { margin: 14px 0; }
.performance-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 12px 0 18px; }
.performance-cards article { padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.performance-cards span { font-size: .9rem; color: #5c5263; }
.performance-cards strong { font-size: clamp(1.35rem, 2vw, 1.9rem); color: #642053; line-height: 1.15; }
.performance-cards small { font-size: .82rem; line-height: 1.4; color: #665b6b; }
.performance-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.performance-chart { padding: 20px; min-width: 0; }
.performance-chart h3 { margin: 0 0 6px; font-size: 1.15rem; }
.performance-chart .form-note { margin: 0 0 18px; }
.performance-bar-row { margin-bottom: 16px; }
.performance-bar-row > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 5px; font-size: .9rem; }
.performance-bar-track { height: 11px; border-radius: 999px; background: #eee8f0; overflow: hidden; }
.performance-bar-track > span { display: block; height: 100%; border-radius: inherit; background: #76255f; }
.performance-bar-track.sales > span { background: #b78b24; }
.performance-month { display: grid; grid-template-columns: 3.5rem 1fr 3.5rem; gap: 10px; align-items: center; margin-bottom: 12px; font-size: .82rem; }
.performance-month-bars { display: grid; gap: 3px; }
.performance-month .performance-bar-track { height: 7px; }
.performance-month strong { text-align: right; font-size: .82rem; }
.performance-legend { display: flex; gap: 18px; margin: 8px 0 0; font-size: .8rem; }
.performance-legend span::before { content: ''; display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; background: #76255f; }
.performance-legend span + span::before { background: #b78b24; }
.performance-alerts { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; padding: 15px 18px; margin-bottom: 22px; border: 1px solid #e5dce7; border-radius: 12px; background: #faf7fa; font-size: .88rem; }
.performance-alerts strong { color: #642053; }
.opportunity-goal-card .panel-heading label { display: flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; }
.opportunity-goal-card .panel-heading select { min-height: 38px; padding: 7px 10px; border: 1px solid #d9d3e1; border-radius: 9px; background: #fff; font: inherit; }
.performance-analysis { padding: 20px; margin: 18px 0; }
.performance-analysis-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 12px 0; }
.performance-analysis-grid p { margin: 0; padding: 14px; border-radius: 10px; background: #f6f1f7; line-height: 1.5; font-size: .9rem; }
.performance-analysis > small { color: #665b6b; line-height: 1.5; }
@media (max-width: 900px) { .performance-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .performance-charts { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .performance-analysis-grid { grid-template-columns: 1fr; } }
@media (max-width: 550px) { .performance-cards { grid-template-columns: 1fr; } .opportunity-goal-card .panel-heading { flex-wrap: wrap; } }
.persona-opportunity-dialog { width: min(850px, calc(100vw - 24px)); max-height: min(90vh, 900px); }
.persona-opportunity-dialog textarea { width: 100%; min-height: 75px; }
.opportunity-commission-fields { margin-top: 22px; padding: 18px; border: 1px solid #ddd4e8; border-radius: 12px; }
.opportunity-allocation { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto auto; gap: 8px; align-items: end; margin: 12px 0; padding: 12px; border: 1px solid #e5dfeb; border-radius: 10px; }
.opportunity-allocation label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; }
.opportunity-allocation input, .opportunity-allocation select { width: 100%; min-height: 38px; padding: 8px; border: 1px solid #d9d3e1; border-radius: 8px; }
.opportunity-allocation .opportunity-paid { flex-direction: row; align-items: center; min-height: 38px; white-space: nowrap; }
.opportunity-allocation .opportunity-paid input { width: auto; min-height: 0; }
@media (max-width: 760px) { .opportunity-allocation { grid-template-columns: 1fr 1fr; } .opportunity-allocation label:first-child { grid-column: 1 / -1; } }
[data-management-panel] > .module-tabs { margin-top: 16px; }
#managementPersonaAppointments .opportunity-toolbar, #managementPersonaAnalysis .opportunity-toolbar { margin-top: 16px; }
#sdrView .module-tabs { max-width: 100%; flex-wrap: wrap; }
#sdrView .sdr-opportunity-scope { margin-bottom: 18px; }
#sdrView .sdr-opportunity-scope .opportunity-toolbar label { display: flex; align-items: center; gap: 8px; font-weight: 700; }
@media (max-width: 650px) { #sdrView .module-tabs button { flex: 1 1 150px; } }
