:root {
  --bg: #0b1118;
  --bg-soft: #101820;
  --surface: #121b26;
  --surface-2: #172231;
  --surface-3: #1c2938;
  --border: #2a3645;
  --border-strong: #3a4656;
  --text: #e8eef6;
  --muted: #91a0b2;
  --muted-2: #6f7f91;
  --primary: #0ea5a5;
  --primary-2: #10b8a8;
  --danger: #d94b57;
  --warning: #e0a522;
  --ok: #18a058;
  --shadow: 0 18px 60px rgba(0,0,0,.24);
  --radius: 3px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-theme="light"] {
  --bg: #dfe6ee;
  --bg-soft: #e7edf4;
  --surface: #f2f6fa;
  --surface-2: #e9eff5;
  --surface-3: #dde6ef;
  --border: #c1ccd8;
  --border-strong: #9fadc0;
  --text: #17202b;
  --muted: #4f5f72;
  --muted-2: #667689;
  --shadow: 11px 11px 25px rgba(73, 91, 111, .2), -9px -9px 22px rgba(255, 255, 255, .92);
}

* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; overflow: hidden; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
}

/* Prospecção de Empresas */
.business-intelligence-view { position: relative; }
.business-intelligence-view.active { display: block; }
.bi-layout { height: 100%; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr); }
.bi-filters, .bi-results { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.bi-filters-modal { width: min(920px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; overflow: visible; border: 1px solid var(--border-strong); border-radius: var(--radius); background: transparent; color: var(--text); box-shadow: var(--shadow); }
.bi-filters-modal::backdrop { background: rgba(3, 10, 16, .68); backdrop-filter: blur(3px); }
.bi-filters { max-height: calc(100vh - 30px); padding: 16px; display: grid; gap: 14px; overflow: auto; }
.bi-filters-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.bi-filters-header span { color: var(--primary-2); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bi-filters-header h2 { margin: 3px 0 2px; font-size: 18px; }
.bi-filters-header p { margin: 0; color: var(--muted); font-size: 11px; }
.bi-filter-primary { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 10px; align-items: end; }
.bi-filter-primary .bi-search-field { grid-column: span 2; }
.bi-filter-advanced { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 8px; padding-top: 10px; border-top: 1px solid var(--border); }
.bi-filter-primary label, .bi-filter-advanced label, .bi-results-header label { display: grid; gap: 5px; min-width: 0; }
.bi-filter-primary label > span, .bi-filter-advanced label > span, .bi-results-header label > span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bi-filter-primary input, .bi-filter-primary select, .bi-filter-advanced input, .bi-filter-advanced select { width: 100%; }
.bi-filter-actions { display: flex; align-items: center; gap: 7px; padding-top: 12px; border-top: 1px solid var(--border); }
.bi-results { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
.bi-results-header { min-height: 52px; padding: 8px 12px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bi-results-header > div { display: grid; gap: 2px; }
.bi-results-header b { font-size: 14px; }
.bi-results-header div span { color: var(--muted); font-size: 11px; }
.bi-results-header label { grid-template-columns: auto 70px; align-items: center; }
.bi-results-actions { display: flex; align-items: center; gap: 10px; }
.bi-status { min-height: 180px; display: grid; place-items: center; padding: 28px; color: var(--muted); text-align: center; }
.bi-status[hidden], .bi-table-wrap[hidden], .bi-pagination[hidden] { display: none; }
.bi-status.loading::before { content: ''; width: 24px; height: 24px; margin-bottom: -55px; border: 2px solid var(--border-strong); border-top-color: var(--primary); border-radius: 50%; animation: bi-spin .8s linear infinite; }
.bi-status.error { color: #ffb7bd; }
[data-theme="light"] .bi-status.error { color: #8d1f28; }
@keyframes bi-spin { to { transform: rotate(360deg); } }
.bi-table-wrap { min-height: 0; overflow: auto; }
.bi-table { width: 100%; min-width: 1080px; border-collapse: collapse; }
.bi-table th { position: sticky; top: 0; z-index: 2; height: 34px; padding: 0 10px; background: var(--surface-3); border-bottom: 1px solid var(--border); color: var(--muted); font-size: 9.5px; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.bi-table td { min-height: 52px; padding: 9px 10px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.bi-table tbody tr:hover { background: color-mix(in srgb, var(--surface-2) 72%, transparent); }
.bi-table td > b, .bi-table td > span, .bi-table td > small { display: block; }
.bi-table td > span { color: var(--muted); font-size: 11px; }
.bi-company-cell { min-width: 270px; }
.bi-company-cell b { max-width: 330px; overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; }
.bi-company-cell span { margin-top: 2px; }
.bi-company-cell small { margin-top: 3px; color: var(--muted-2); font-variant-numeric: tabular-nums; }
.bi-segment-cell { min-width: 175px; }
.bi-segment-cell b { display: block; color: var(--text); font-size: 11px; }
.bi-segment-cell small { display: block; margin-top: 4px; color: var(--muted-2); font-size: 9px; letter-spacing: .03em; }
.bi-code { display: inline-flex !important; width: fit-content; padding: 3px 6px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text) !important; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.bi-money { white-space: nowrap; font-variant-numeric: tabular-nums; }
.bi-badges { min-width: 125px; }
.bi-badge { display: inline-flex !important; width: fit-content; margin: 2px 4px 2px 0; padding: 2px 6px; border: 1px solid var(--border); color: var(--muted) !important; font-size: 9px !important; }
.bi-badge.active { border-color: color-mix(in srgb, var(--ok) 55%, var(--border)); background: color-mix(in srgb, var(--ok) 13%, transparent); color: color-mix(in srgb, var(--ok) 78%, var(--text)) !important; }
.bi-contact-list { min-width: 165px; }
.bi-contact-value { display: grid !important; gap: 1px; margin: 4px 0; }
.bi-contact-value small { color: var(--muted-2); font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }
.bi-contact-value b { max-width: 230px; overflow: hidden; color: var(--text); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.bi-contact-value:first-child b { color: var(--primary-2); font-size: 12px; font-weight: 800; }
.bi-contact-indicator { display: flex !important; align-items: center; gap: 5px; margin: 3px 0; color: var(--muted) !important; }
.bi-contact-indicator i { width: 15px; height: 15px; display: inline-grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; font-size: 9px; font-style: normal; }
.bi-contact-indicator.available { color: color-mix(in srgb, var(--ok) 76%, var(--text)) !important; }
.bi-contact-indicator.available i { border-color: var(--ok); }
.bi-details-button { min-width: 88px; }
.bi-pagination { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 12px; border-top: 1px solid var(--border); }
.bi-pagination .btn.active { border-color: var(--primary); background: var(--primary); color: #031416; font-weight: 700; }
.bi-pagination .btn:disabled { cursor: default; opacity: .45; }
.bi-page-ellipsis { padding: 0 3px; color: var(--muted); }
.bi-drawer-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(3, 10, 16, .54); backdrop-filter: blur(2px); }
.bi-drawer { position: fixed; z-index: 91; top: 0; right: 0; width: min(430px, 94vw); height: 100vh; padding: 18px; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 16px; background: var(--surface); border-left: 1px solid var(--border-strong); box-shadow: -18px 0 48px rgba(0,0,0,.3); transform: translateX(102%); transition: transform .2s ease; }
.bi-drawer.open { transform: translateX(0); }
.bi-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.bi-drawer header span { color: var(--muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.bi-drawer h2 { margin: 5px 0 0; font-size: 18px; line-height: 1.25; }
.bi-drawer-content { min-height: 0; overflow: auto; display: grid; align-content: start; grid-template-columns: 1fr 1fr; gap: 8px; }
.bi-detail-item { min-width: 0; padding: 10px; display: grid; gap: 5px; background: var(--surface-2); border: 1px solid var(--border); }
.bi-detail-item:first-child, .bi-detail-item:nth-child(2) { grid-column: 1 / -1; }
.bi-detail-item span { color: var(--muted); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.bi-detail-item b { overflow-wrap: anywhere; font-size: 12px; }

@media (max-width: 1100px) {
  .bi-filter-primary { grid-template-columns: 2fr 90px 1fr 135px; }
  .bi-filter-primary .bi-search-field { grid-column: span 2; }
}

@media (max-width: 700px) {
  .bi-filter-primary, .bi-filter-advanced { grid-template-columns: 1fr 1fr; }
  .bi-filter-primary .bi-search-field { grid-column: 1 / -1; }
  .bi-filter-actions { flex-wrap: wrap; }
  .bi-filter-actions .footer-spacer { display: none; }
  .bi-filter-actions .btn.primary { width: 100%; }
  .bi-results-header { align-items: flex-start; }
  .bi-results-actions { align-items: stretch; flex-direction: column; }
  .bi-drawer-content { grid-template-columns: 1fr; }
  .bi-detail-item:first-child, .bi-detail-item:nth-child(2) { grid-column: auto; }
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app {
  height: 100vh;
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  background:
    linear-gradient(90deg, rgba(14,165,165,.09), transparent 340px),
    var(--bg);
}

.sidebar {
  min-width: 0;
  background: var(--bg-soft);
  border-right: 1px solid var(--border);
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.brand { display: flex; align-items: center; gap: 10px; min-height: 42px; }
.brand img { width: 44px; height: 44px; object-fit: contain; }
.brand strong { display: block; font-size: 15px; letter-spacing: .01em; }
.brand span { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }

.nav { display: grid; gap: 6px; }
.nav-item {
  height: 38px;
  text-align: left;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 0 12px;
  border-radius: var(--radius);
  transition: .15s ease;
}
.nav-item:hover { background: var(--surface-2); color: var(--text); }
.nav-item.active { background: var(--surface-3); color: var(--text); border-color: var(--border); box-shadow: inset 3px 0 0 var(--primary); }

.sidebar-meta {
  margin-top: auto;
  border-top: 1px solid var(--border);
  padding-top: 12px;
  display: grid;
  gap: 4px;
}
.sidebar-meta span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-meta b { font-size: 12px; }

.workspace {
  min-width: 0;
  height: 100vh;
  display: grid;
  grid-template-rows: 58px minmax(0, 1fr);
}

.topbar {
  border-bottom: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface) 84%, transparent);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 14px;
}
.title-block h1 { margin: 0; font-size: 19px; line-height: 1.1; }
.title-block p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 7px; }
.token-input { width: 210px; }

.view {
  display: none;
  min-height: 0;
  overflow: hidden;
  padding: 12px;
}
.view.active { display: block; }

.crm-layout {
  height: 100%;
  display: grid;
  grid-template-rows: 46px 42px minmax(0, 1fr);
  gap: 8px;
}

.metrics-bar {
  display: grid;
  grid-template-columns: repeat(9, minmax(90px, 1fr));
  gap: 6px;
  min-width: 0;
}
.metric {
  background: var(--surface);
  border: 1px solid var(--border);
  padding: 6px 8px;
  border-radius: var(--radius);
  min-width: 0;
  display: grid;
  align-content: center;
}
.metric span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.metric b { font-size: 16px; line-height: 1; margin-top: 2px; }

.toolbar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  min-width: 0;
}
.toolbar.compact { overflow: hidden; }
.segmented {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--border);
  background: var(--surface-2);
  min-width: 128px;
}
.segmented button {
  height: 28px;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 0 10px;
}
.segmented button.active { background: var(--primary); color: #051315; }
.search { flex: 1; min-width: 180px; }
.compact-select { width: 154px; }

input, select, textarea {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: var(--radius);
  padding: 0 9px;
  outline: none;
  min-height: 32px;
}
textarea { padding: 8px 9px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(14,165,165,.12); }

.btn {
  min-height: 30px;
  border: 1px solid var(--border-strong);
  background: var(--surface-2);
  color: var(--text);
  padding: 0 10px;
  border-radius: var(--radius);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  gap: 6px;
}
.btn:hover { border-color: var(--primary); }
.btn.primary { background: var(--primary); border-color: var(--primary); color: #031416; font-weight: 700; }
.btn.dark { background: #111a24; border-color: var(--border-strong); }
[data-theme="light"] .btn.dark { background: #253243; color: #fff; }
.btn.danger { border-color: rgba(217,75,87,.6); color: #ffb7bd; }
[data-theme="light"] .btn.danger { color: #8d1f28; }
.btn.icon { min-width: 34px; padding: 0 9px; }
.btn.tiny { min-height: 25px; padding: 0 7px; font-size: 11px; }

.content-frame {
  min-height: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.list-view, .kanban-view { display: none; height: 100%; min-height: 0; }
.list-view.active, .kanban-view.active { display: block; }
.table-wrap { height: 100%; overflow: auto; }
.crm-table { width: 100%; border-collapse: collapse; min-width: 1180px; }
.crm-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: left;
  height: 32px;
  border-bottom: 1px solid var(--border);
  padding: 0 8px;
}
.crm-table td {
  border-bottom: 1px solid var(--border);
  padding: 6px 8px;
  height: 50px;
  vertical-align: middle;
}
.crm-table tr:hover td { background: color-mix(in srgb, var(--surface-2) 72%, transparent); }
.contact-cell { display: flex; align-items: center; gap: 8px; min-width: 220px; }
.avatar {
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  background: var(--surface-3);
  display: grid;
  place-items: center;
  font-weight: 800;
  color: var(--primary-2);
  overflow: hidden;
  flex: 0 0 auto;
  border-radius: 2px;
}
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.contact-main { min-width: 0; }
.contact-main b { display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-main span { color: var(--muted); display: block; font-size: 11px; }
.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  font-size: 11px;
  white-space: nowrap;
}
.muted { color: var(--muted); }
.truncate { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-buttons { display: flex; gap: 5px; align-items: center; }

.kanban-view {
  overflow: hidden;
  padding: 8px;
}
.kanban-board {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(8, minmax(198px, 1fr));
  gap: 7px;
  min-width: 1584px;
  overflow: visible;
}
.kanban-scroll { height: 100%; overflow: auto; }
.kanban-col {
  border: 1px solid var(--border);
  background: var(--surface-2);
  min-height: 0;
  display: grid;
  grid-template-rows: 34px minmax(0, 1fr);
}
.kanban-col header {
  border-bottom: 1px solid var(--border);
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.kanban-col header b { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kanban-col header span { color: var(--muted); font-size: 11px; }
.kanban-lane {
  min-height: 0;
  overflow-y: auto;
  padding: 6px;
  display: grid;
  align-content: start;
  gap: 6px;
}
.kanban-lane.drag-over { outline: 2px solid var(--primary); outline-offset: -2px; }
.kanban-card {
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 7px;
  cursor: grab;
  border-radius: 2px;
  display: grid;
  gap: 5px;
}
.kanban-card:active { cursor: grabbing; }
.kanban-card .top { display: flex; align-items: center; gap: 7px; min-width: 0; }
.kanban-card .top b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.kanban-card small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.card-meta { display: flex; gap: 4px; flex-wrap: wrap; }
.card-meta span { font-size: 10px; color: var(--muted); border: 1px solid var(--border); padding: 2px 5px; }

.split {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .7fr);
  gap: 10px;
}
.flat-panel {
  min-height: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px;
  overflow: auto;
}
.flat-panel h2 { margin: 0 0 12px; font-size: 17px; }
.form-grid { display: grid; gap: 10px; }
.form-grid.two-cols { grid-template-columns: 1fr 1fr; }
.form-grid label, .modal-grid label { display: grid; gap: 4px; }
.form-grid label span, .modal-grid label span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.full { grid-column: 1 / -1; }
.row-actions { display: flex; gap: 7px; margin-top: 12px; flex-wrap: wrap; }
.status-strip, .log-box {
  margin-top: 12px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 9px;
  color: var(--muted);
}
.qr-panel { display: grid; align-content: start; gap: 8px; }
.qr-box {
  min-height: 280px;
  border: 1px dashed var(--border-strong);
  background: var(--surface-2);
  display: grid;
  place-items: center;
  color: var(--muted);
}
.qr-box img { max-width: 260px; width: 75%; background: #fff; padding: 8px; }
.info-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  padding: 8px;
  background: var(--surface-2);
}
.info-line span { color: var(--muted); }
.campaign-grid, .instance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.campaign-grid article, .instance-grid article {
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 10px;
}
.campaign-grid span, .instance-grid span { display: block; color: var(--muted); font-size: 11px; }
.campaign-grid b, .instance-grid b { font-size: 22px; }
.progress { height: 8px; background: var(--surface-2); border: 1px solid var(--border); margin-top: 12px; }
.progress span { display: block; height: 100%; width: 0; background: var(--primary); }
.instance-panel { max-width: 900px; }

.modal {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
  width: min(920px, calc(100vw - 28px));
}
.modal::backdrop { background: rgba(0,0,0,.62); }
.modal-card {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  display: grid;
  max-height: calc(100vh - 40px);
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.modal-card header, .modal-card footer {
  padding: 12px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.modal-card footer { border-bottom: 0; border-top: 1px solid var(--border); }
.modal-card header h2 { margin: 0; font-size: 18px; }
.modal-card header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.modal-card header .btn { margin-left: auto; }
.lead-assignment-modal .modal-card { width: min(520px, calc(100vw - 24px)); }
.lead-assignment-list { max-height: min(52vh, 440px); overflow-y: auto; padding: 14px; display: grid; gap: 8px; }
.lead-assignment-list label { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); cursor: pointer; }
.lead-assignment-list label:has(input:checked) { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.lead-assignment-list input { width: 17px; height: 17px; accent-color: var(--primary); }
.lead-assignment-list span { min-width: 0; display: grid; gap: 2px; }
.lead-assignment-list b, .lead-assignment-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lead-assignment-list small, .lead-assignment-empty { color: var(--muted); }
.lead-assignment-empty { margin: 12px; text-align: center; }
.icon-action.team { color: #60a5fa; }
.modal-grid {
  padding: 12px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.footer-spacer { flex: 1; }
.toast {
  position: fixed;
  right: 22px;
  top: 22px;
  bottom: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  background: #17202b;
  color: #fff;
  border: 1px solid #334155;
  border-left: 5px solid #38bdf8;
  border-radius: 12px;
  box-shadow: 0 18px 52px rgba(0,0,0,.34);
  transform: translateY(-14px) scale(.98);
  opacity: 0;
  pointer-events: none;
  transition: .16s ease;
  width: min(430px, calc(100vw - 44px));
  min-height: 58px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  z-index: 10000;
}
.toast.show { transform: translateY(0) scale(1); opacity: 1; }
.toast[data-tone="success"] { background: #063c2d; border-color: #15805f; border-left-color: #34d399; }
.toast[data-tone="error"] { background: #4b151b; border-color: #a9323e; border-left-color: #fb7185; }
.toast-icon { flex: 0 0 auto; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); font-size: 18px; font-weight: 900; }
.empty-state {
  color: var(--muted);
  padding: 24px;
  text-align: center;
}

@media (max-width: 1180px) {
  .app { grid-template-columns: 210px minmax(0, 1fr); }
  .metrics-bar { grid-template-columns: repeat(3, 1fr); height: auto; overflow: auto; }
  .crm-layout { grid-template-rows: 96px 84px minmax(0, 1fr); }
  .toolbar { flex-wrap: wrap; align-content: start; }
  .modal-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  html, body { overflow: auto; }
  .app { min-height: 100vh; height: auto; grid-template-columns: 1fr; }
  .sidebar { position: sticky; top: 0; z-index: 20; border-right: 0; border-bottom: 1px solid var(--border); }
  .nav { grid-template-columns: repeat(2, 1fr); }
  .workspace { height: auto; min-height: 100vh; }
  .view { min-height: 700px; }
  .topbar { align-items: flex-start; flex-direction: column; }
  .top-actions { width: 100%; flex-wrap: wrap; }
  .token-input { width: min(100%, 260px); }
  .split { grid-template-columns: 1fr; }
  .modal-grid { grid-template-columns: 1fr; }
}

/* v2.8 ajustes Lungo Corretores */
.app { grid-template-columns: 232px minmax(0, 1fr); }
.app.sidebar-collapsed { grid-template-columns: 68px minmax(0, 1fr); }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-toggle,
.logout-btn,
.token-eye,
.icon-action {
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--muted);
  display: inline-grid;
  place-items: center;
  transition: .15s ease;
}
.sidebar-toggle { width: 30px; height: 30px; border-radius: 2px; flex: 0 0 auto; }
.sidebar-toggle:hover,
.logout-btn:hover,
.token-eye:hover,
.icon-action:hover { color: var(--text); border-color: var(--primary); }
.sidebar svg,
.token-eye svg,
.icon-action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-item { display: flex; align-items: center; gap: 9px; }
.nav-ico { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.nav-ico svg { width: 19px; height: 19px; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 10px; }
.logout-btn {
  height: 32px;
  width: 100%;
  grid-template-columns: 22px 1fr;
  text-align: left;
  justify-content: start;
  padding: 0 9px;
  border-radius: 2px;
  font-size: 12px;
}
.app.sidebar-collapsed .brand-text,
.app.sidebar-collapsed .nav-label,
.app.sidebar-collapsed .sidebar-meta,
.app.sidebar-collapsed .logout-btn .nav-label { display: none; }
.app.sidebar-collapsed .sidebar { padding-inline: 12px; align-items: center; }
.app.sidebar-collapsed .brand { justify-content: center; }
.app.sidebar-collapsed .brand img { width: 34px; height: 34px; }
.app.sidebar-collapsed .brand-row { display: grid; gap: 10px; justify-items: center; }
.app.sidebar-collapsed .nav { width: 42px; }
.app.sidebar-collapsed .nav-item { width: 42px; padding: 0; justify-content: center; }
.app.sidebar-collapsed .logout-btn { width: 42px; padding: 0; grid-template-columns: 1fr; }

.token-wrap { position: relative; display: inline-flex; align-items: center; }
.token-wrap .token-input { padding-right: 38px; }
.token-eye { position: absolute; right: 3px; top: 3px; width: 28px; height: 26px; border: 0; background: transparent; }

.toolbar.compact { overflow: visible; }
.toolbar .btn { min-height: 28px; padding: 0 8px; font-size: 12px; }
.search { min-width: 150px; }
.compact-select { width: 142px; }
.crm-layout { grid-template-rows: 44px 40px minmax(0, 1fr); }
.metrics-bar { grid-template-columns: repeat(9, minmax(76px, 1fr)); }
.metric { padding: 5px 7px; }
.metric b { font-size: 15px; }

.table-wrap { overflow-x: hidden; overflow-y: auto; }
.crm-table { min-width: 0; table-layout: fixed; width: 100%; }
.crm-table th, .crm-table td { padding: 5px 6px; }
.crm-table th:nth-child(1), .crm-table td:nth-child(1) { width: 24%; }
.crm-table th:nth-child(2), .crm-table td:nth-child(2) { width: 12%; }
.crm-table th:nth-child(3), .crm-table td:nth-child(3) { width: 6%; }
.crm-table th:nth-child(4), .crm-table td:nth-child(4) { width: 9%; }
.crm-table th:nth-child(5), .crm-table td:nth-child(5) { width: 13%; }
.crm-table th:nth-child(6), .crm-table td:nth-child(6) { width: 9%; }
.crm-table th:nth-child(7), .crm-table td:nth-child(7) { width: 18%; }
.crm-table th:nth-child(8), .crm-table td:nth-child(8) { width: 9%; }
.crm-table td { overflow: hidden; }
.contact-cell { min-width: 0; gap: 6px; }
.contact-main { overflow: hidden; }
.contact-main b { max-width: 100%; }
.contact-main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.truncate { max-width: 100%; }
.row-buttons { gap: 4px; justify-content: flex-start; flex-wrap: nowrap; }
.icon-action {
  width: 25px;
  height: 25px;
  padding: 0;
  border-radius: 2px;
  text-decoration: none;
  flex: 0 0 auto;
}
.icon-action.whatsapp { color: #36c56b; }
.icon-action.danger { color: #ff9ca5; border-color: rgba(217,75,87,.45); }
.icon-action.disabled { opacity: .35; pointer-events: none; }
.icon-action svg { width: 15px; height: 15px; }

.kanban-board { min-width: 0; grid-template-columns: repeat(8, minmax(155px, 1fr)); }
.kanban-scroll { overflow-x: hidden; }
.kanban-card { padding: 6px; }
.kanban-card .row-buttons { margin-top: 2px; }
.kanban-col header { padding: 0 6px; }
.kanban-col header b { font-size: 11px; }

[data-theme="light"] {
  --bg: #dbe3ee;
  --bg-soft: #cfd8e5;
  --surface: #f9fbfe;
  --surface-2: #edf2f7;
  --surface-3: #dfe7f1;
  --border: #b8c4d3;
  --border-strong: #8d9bad;
  --text: #101923;
  --muted: #3d4c5f;
  --muted-2: #5b6a7d;
}
[data-theme="light"] .topbar { background: #f4f7fb; }
[data-theme="light"] .status-badge { background: #e8eef6; }

@media (max-width: 1320px) {
  .toolbar { flex-wrap: wrap; height: auto; }
  .crm-layout { grid-template-rows: 44px 76px minmax(0, 1fr); }
  .metrics-bar { grid-template-columns: repeat(5, minmax(90px, 1fr)); overflow: hidden; }
  .kanban-board { grid-template-columns: repeat(4, minmax(190px, 1fr)); }
  .kanban-scroll { overflow: auto; }
}

/* v2.9 refinamentos solicitados */
.brand.logo-only { width: 100%; justify-content: center; }
.brand.logo-only img { width: 152px; height: auto; max-height: 58px; object-fit: contain; }
.brand-row { align-items: center; }
.sidebar-toggle { margin-left: auto; }
.app.sidebar-collapsed .brand.logo-only img { width: 38px; max-height: 38px; }
.app.sidebar-collapsed .sidebar-toggle { margin-left: 0; }
.today-label {
  color: var(--muted);
  border: 1px solid var(--border);
  background: var(--surface-2);
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  font-size: 11px;
  white-space: nowrap;
}
.period-select { width: 146px; }
.date-filter { width: 120px; min-height: 28px; font-size: 12px; }
.toolbar .period-select, .toolbar .date-filter { flex: 0 0 auto; }
.crm-table { font-size: 12px; }
.crm-table th, .crm-table td { vertical-align: middle; }
.crm-table th:nth-child(1), .crm-table td:nth-child(1) { width: 23%; }
.crm-table th:nth-child(2), .crm-table td:nth-child(2) { width: 11%; }
.crm-table th:nth-child(3), .crm-table td:nth-child(3) { width: 5%; }
.crm-table th:nth-child(4), .crm-table td:nth-child(4) { width: 8%; }
.crm-table th:nth-child(5), .crm-table td:nth-child(5) { width: 12%; }
.crm-table th:nth-child(6), .crm-table td:nth-child(6) { width: 8%; }
.crm-table th:nth-child(7), .crm-table td:nth-child(7) { width: 24%; }
.crm-table th:nth-child(8), .crm-table td:nth-child(8) { width: 9%; }
.crm-table td { word-break: normal; }
.contact-main b, .contact-main span, .truncate { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  transition: background-color 9999s ease-in-out 0s;
  -webkit-text-fill-color: var(--text);
}
@media (max-width: 1420px) {
  .top-actions { gap: 5px; }
  .today-label { display: none; }
  .toolbar .btn { padding: 0 7px; }
  .search { min-width: 130px; }
  .compact-select { width: 132px; }
  .period-select { width: 128px; }
}


/* v3.0 Clientes */
.clients-layout {
  height: 100%;
  display: grid;
  grid-template-rows: 44px minmax(0, 1fr);
  gap: 8px;
  min-height: 0;
}
.client-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 6px;
  min-width: 0;
}
.clients-main-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 8px;
}
.client-list-panel,
.client-charts-panel,
.chart-card {
  min-height: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.client-list-panel {
  display: grid;
  grid-template-rows: 42px minmax(0, 1fr);
}
.client-toolbar { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
.clients-table-frame { min-height: 0; overflow-y: auto; overflow-x: hidden; }
.clients-table { width: 100%; table-layout: fixed; border-collapse: collapse; min-width: 0; }
.clients-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 31px;
  text-align: left;
  padding: 0 6px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  background: var(--surface-3);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.clients-table td { height: 48px; border-bottom: 1px solid var(--border); padding: 5px 6px; overflow: hidden; }
.clients-table th:nth-child(1), .clients-table td:nth-child(1) { width: 27%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 16%; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width: 12%; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width: 7%; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width: 11%; }
.clients-table th:nth-child(6), .clients-table td:nth-child(6) { width: 14%; }
.clients-table th:nth-child(7), .clients-table td:nth-child(7) { width: 13%; }
.compact-contact .avatar { width: 28px; height: 28px; }
.client-charts-panel { display: grid; grid-template-rows: 1fr 1fr; gap: 8px; background: transparent; border: 0; overflow: hidden; }
.chart-card { padding: 9px; display: grid; grid-template-rows: 28px minmax(0, 1fr); }
.chart-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.chart-card header b { font-size: 13px; }
.chart-card header span { color: var(--muted); font-size: 11px; }
.bar-chart { min-height: 0; overflow: hidden; display: grid; align-content: start; gap: 7px; padding-top: 4px; }
.bar-row { display: grid; grid-template-columns: 88px minmax(0, 1fr) 58px; gap: 6px; align-items: center; font-size: 11px; color: var(--muted); min-width: 0; }
.bar-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bar-row div { height: 8px; background: var(--surface-2); border: 1px solid var(--border); overflow: hidden; }
.bar-row i { display: block; height: 100%; background: var(--primary); }
.bar-row b { font-size: 11px; color: var(--text); font-weight: 600; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-a_renovar { border-color: rgba(224,165,34,.65); color: #ffd27a; }
[data-theme="light"] .status-a_renovar { color: #7a5100; background: #fff3d1; }
.small-modal { width: min(620px, calc(100vw - 28px)); }
.two-modal-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-empty { padding: 10px; }
@media (max-width: 1240px) {
  .clients-main-grid { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) 210px; }
  .client-charts-panel { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
  .client-list-panel { grid-template-rows: 76px minmax(0, 1fr); }
  .client-toolbar { flex-wrap: wrap; }
}
@media (max-width: 820px) {
  .clients-layout { min-height: 760px; }
  .client-metrics { grid-template-columns: repeat(2, 1fr); }
  .client-charts-panel { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .two-modal-cols { grid-template-columns: 1fr; }
}

/* v3.1 Leads, Clientes integrados e módulos futuros */
.nav {
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}
.nav::-webkit-scrollbar { width: 3px; }
.nav::-webkit-scrollbar-thumb { background: var(--border-strong); }
.nav-item { position: relative; }
.soon-item { padding-right: 7px; }
.soon-badge {
  margin-left: auto;
  font-size: 9px;
  line-height: 1;
  padding: 3px 5px;
  border: 1px solid rgba(14,165,165,.45);
  color: #7ce6da;
  background: rgba(14,165,165,.10);
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
}
.soon-badge.big {
  display: inline-flex;
  margin: 0 0 10px;
  font-size: 10px;
  padding: 5px 7px;
}
.app.sidebar-collapsed .soon-badge { display: none; }
.soon-panel {
  height: 100%;
  display: grid;
  place-content: center;
  text-align: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(14,165,165,.10), transparent 55%), var(--surface);
  border: 1px solid var(--border);
  padding: 28px;
}
.soon-panel h2 { margin: 0; font-size: 24px; }
.soon-panel p { margin: 0 auto; max-width: 560px; color: var(--muted); }
.soon-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 220px));
  gap: 8px;
}
.soon-grid article {
  text-align: left;
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 12px;
}
.soon-grid b { display: block; margin-bottom: 4px; }
.soon-grid span { color: var(--muted); font-size: 12px; }
.team-upgrade-panel {
  place-content: initial;
  align-content: start;
  overflow: auto;
  text-align: left;
  padding: clamp(18px, 3vw, 34px);
  gap: 20px;
}
.team-upgrade-hero { max-width: 760px; margin: 0 auto; text-align: center; display: grid; justify-items: center; gap: 9px; }
.team-upgrade-hero h2 { font-size: clamp(24px, 3vw, 36px); line-height: 1.1; }
.team-upgrade-hero p { max-width: 690px; line-height: 1.55; }
.team-upgrade-hero strong { color: var(--primary-2); font-size: 14px; }
.team-upgrade-benefits { width: min(100%, 980px); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.team-upgrade-benefits article { min-width: 0; padding: 15px; border: 1px solid var(--border); background: color-mix(in srgb, var(--surface-2) 88%, transparent); display: flex; gap: 11px; align-items: flex-start; }
.team-upgrade-benefits article > span { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--primary) 16%, transparent); color: var(--primary-2); font-size: 10px; font-weight: 800; }
.team-upgrade-benefits article div { min-width: 0; display: grid; gap: 5px; }
.team-upgrade-benefits b { font-size: 13px; }
.team-upgrade-benefits small { color: var(--muted); line-height: 1.45; font-size: 11px; }
.team-upgrade-cta { width: min(100%, 980px); margin: 0 auto; padding: 16px; border: 1px solid color-mix(in srgb, var(--primary) 45%, var(--border)); background: color-mix(in srgb, var(--primary) 9%, var(--surface)); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.team-upgrade-cta > div { display: grid; gap: 3px; }
.team-upgrade-cta span { color: var(--muted); font-size: 11px; }
.team-upgrade-cta .btn { flex: 0 0 auto; }
.metric {
  background: linear-gradient(135deg, rgba(16,184,168,.92), rgba(24,160,88,.78));
  border-color: rgba(124,230,218,.45);
  color: #f5fffd;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}
.metric span { color: rgba(245,255,253,.78); }
.metric b { color: #ffffff; }
[data-theme="light"] .metric {
  background: linear-gradient(135deg, #12b8a8, #18a058);
  border-color: #0c8f7f;
  color: #fff;
}
.icon-action.strong-danger {
  color: #ff6b78;
  border-color: rgba(255,107,120,.55);
  background: rgba(217,75,87,.10);
}
.icon-action.strong-danger:hover { background: rgba(217,75,87,.22); }
.source-badge {
  display: inline-flex;
  margin-left: 5px;
  padding: 2px 4px;
  font-size: 9px;
  border: 1px solid rgba(14,165,165,.42);
  color: #7ce6da;
  vertical-align: middle;
}
@media (max-width: 900px) {
  .soon-grid { grid-template-columns: 1fr; }
  .team-upgrade-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-upgrade-cta { align-items: stretch; flex-direction: column; }
  .team-upgrade-cta .btn { width: 100%; }
}
@media (max-width: 560px) {
  .team-upgrade-panel { padding: 15px; gap: 14px; }
  .team-upgrade-benefits { grid-template-columns: 1fr; }
  .team-upgrade-benefits article { padding: 12px; }
  .team-upgrade-hero h2 { font-size: 24px; }
}

/* v3.2 Clientes + vendas da base */
.client-metrics { grid-template-columns: repeat(5, minmax(100px, 1fr)); }
.client-charts-panel { grid-template-rows: repeat(3, 1fr); }
.btn.icon-only { width: 34px; padding: 0; justify-content: center; }
.btn.icon-only svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
.base-sales-box { border: 1px solid var(--border); background: var(--surface-2); padding: 8px; }
.inline-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.btn.small { height: 28px; padding: 0 9px; font-size: 11px; }
.mini-sales-list { display: grid; gap: 4px; max-height: 90px; overflow: auto; color: var(--muted); font-size: 12px; }
.mini-sales-list div { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid var(--border); padding-top: 4px; }
.mini-sales-list b { color: var(--text); font-size: 12px; }
.mini-sales-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1240px) {
  .client-charts-panel { grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; }
}
@media (max-width: 820px) {
  .client-metrics { grid-template-columns: repeat(2, 1fr); }
  .client-charts-panel { grid-template-columns: 1fr; grid-template-rows: repeat(3, 1fr); }
}

/* v3.3 ajustes de layout, documentação e popups internos */
.status-mini {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(14,165,165,.42);
  background: rgba(14,165,165,.10);
  color: #8af3e7;
  font-size: 11px;
  white-space: nowrap;
}
.mini-logout {
  min-height: 26px;
  padding: 0 8px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  border-radius: 2px;
}
.mini-logout:hover { color: var(--text); border-color: var(--border-strong); }
.sidebar-bottom { display: none; }
.nav { gap: 4px; }
.nav-item { height: 35px; padding-inline: 10px; }
.nav-ico svg { width: 17px; height: 17px; }
.soon-item { padding-right: 10px; }
.soon-item .soon-badge:not(.big) { display: none; }
.top-actions { min-width: 0; flex-wrap: nowrap; }
.token-input { width: 176px; }
.btn.icon-only {
  width: 29px;
  min-width: 29px;
  padding: 0;
  display: inline-grid;
  place-items: center;
}
.btn.icon-only svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }

.kanban-view { overflow: hidden; min-width: 0; }
.kanban-scroll { overflow: auto !important; min-width: 0; padding-bottom: 4px; }
.kanban-board {
  grid-template-columns: repeat(8, minmax(124px, 1fr)) !important;
  min-width: 1040px !important;
  gap: 6px !important;
}
.kanban-card { min-width: 0; }
.kanban-card .row-buttons { overflow: visible; }
.kanban-card small:nth-of-type(2) { max-height: 32px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.clients-table-frame { overflow: auto !important; }
.clients-table { min-width: 980px !important; }
.clients-table td { overflow: visible; }
.clients-table th:nth-child(1), .clients-table td:nth-child(1) { width: 25%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 14%; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width: 11%; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width: 7%; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width: 10%; }
.clients-table th:nth-child(6), .clients-table td:nth-child(6) { width: 13%; }
.clients-table th:nth-child(7), .clients-table td:nth-child(7) { width: 20%; }
.clients-table .contact-main { min-width: 0; }
.clients-table .contact-main b { display: flex; align-items: center; gap: 5px; max-width: 100%; min-width: 0; }
.clients-table .row-buttons { justify-content: flex-start; overflow: visible; }

.product-icons { display: inline-flex; gap: 3px; flex: 0 0 auto; vertical-align: middle; }
.product-icons i {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(14,165,165,.42);
  background: rgba(14,165,165,.10);
  color: #82f2e5;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
}
.document-box, .base-sales-box {
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 9px;
  display: grid;
  gap: 8px;
}
.inline-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--text);
}
.inline-title span { color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.doc-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.btn.small { min-height: 26px; padding: 0 8px; font-size: 11px; }
.btn.small:disabled, #downloadClientDocBtn:disabled, #downloadSaleDocBtn:disabled { opacity: .45; cursor: not-allowed; }
.mini-sales-list { display: grid; gap: 6px; color: var(--muted); font-size: 12px; }
.sale-mini-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(120px, 1.2fr) 28px;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 5px 6px;
}
.sale-mini-row b, .sale-mini-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tiny-view { width: 24px; height: 24px; }
.sale-view-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}
.sale-view-body article {
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 9px;
  display: grid;
  gap: 4px;
}
.sale-view-body article.full { grid-column: 1 / -1; }
.sale-view-body span { color: var(--muted); font-size: 11px; }
.sale-view-body b { font-size: 13px; overflow-wrap: anywhere; }
.confirm-modal .modal-card { width: min(420px, calc(100vw - 28px)); }
.confirm-modal .modal-card > p { padding: 0 16px 14px; margin: 0; color: var(--muted); }
.toast {
  box-shadow: 0 18px 52px rgba(0,0,0,.34);
}
input[placeholder^="R$"], #leadValorNegocio, #clientValorFechado, #baseSaleValor { font-variant-numeric: tabular-nums; }

@media (max-width: 1320px) {
  .kanban-board { grid-template-columns: repeat(8, minmax(124px, 1fr)) !important; min-width: 1040px !important; }
  .top-actions { gap: 5px; }
  .token-input { width: 148px; }
  .status-mini { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 980px) {
  .top-actions { flex-wrap: wrap; justify-content: flex-end; }
  .workspace { grid-template-rows: 74px minmax(0, 1fr); }
  .sale-view-body { grid-template-columns: 1fr; }
}

/* v3.4 Ajustes de agenda, funil e pasta do cliente */
[data-theme="light"] {
  --bg: #d4dbe5;
  --bg-soft: #c9d2de;
  --surface: #f0f3f7;
  --surface-2: #e5ebf2;
  --surface-3: #d9e1eb;
  --border: #aeb9c8;
  --border-strong: #8492a5;
  --text: #111a24;
  --muted: #435267;
  --muted-2: #617086;
}
[data-theme="light"] body { background: #d4dbe5; }
[data-theme="light"] .topbar { background: #e7ecf3; }

.select-col { width: 34px !important; text-align: center !important; }
.select-col input { min-height: auto; width: 15px; height: 15px; accent-color: var(--primary); }
.crm-table th:nth-child(1), .crm-table td:nth-child(1) { width: 3.5% !important; }
.crm-table th:nth-child(2), .crm-table td:nth-child(2) { width: 21% !important; }
.crm-table th:nth-child(3), .crm-table td:nth-child(3) { width: 11% !important; }
.crm-table th:nth-child(4), .crm-table td:nth-child(4) { width: 5.5% !important; }
.crm-table th:nth-child(5), .crm-table td:nth-child(5) { width: 8% !important; }
.crm-table th:nth-child(6), .crm-table td:nth-child(6) { width: 11% !important; }
.crm-table th:nth-child(7), .crm-table td:nth-child(7) { width: 8% !important; }
.crm-table th:nth-child(8), .crm-table td:nth-child(8) { width: 22% !important; }
.crm-table th:nth-child(9), .crm-table td:nth-child(9) { width: 10% !important; }
.subtle-danger:disabled { opacity: .45; cursor: not-allowed; }

.status-badge.status-novo,
.kanban-col[data-status="novo"] header { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.20); color: var(--text); }
[data-theme="light"] .status-badge.status-novo,
[data-theme="light"] .kanban-col[data-status="novo"] header { background: #f8fafc; border-color: #cbd5e1; color: #1f2937; }
.status-badge.status-em_atendimento,
.kanban-col[data-status="em_atendimento"] header { background: rgba(96,165,250,.18); border-color: rgba(96,165,250,.38); color: #bfe0ff; }
.status-badge.status-cotacao_enviada,
.kanban-col[data-status="cotacao_enviada"] header { background: rgba(37,99,235,.25); border-color: rgba(37,99,235,.52); color: #bcd0ff; }
.status-badge.status-documentacao_recebida,
.kanban-col[data-status="documentacao_recebida"] header { background: rgba(250,204,21,.17); border-color: rgba(250,204,21,.36); color: #ffe891; }
.status-badge.status-venda_cadastrada,
.kanban-col[data-status="venda_cadastrada"] header { background: rgba(202,138,4,.25); border-color: rgba(202,138,4,.50); color: #ffd777; }
.status-badge.status-boleto_gerado,
.kanban-col[data-status="boleto_gerado"] header { background: rgba(34,197,94,.16); border-color: rgba(34,197,94,.36); color: #bdf7cb; }
.status-badge.status-fechamento,
.kanban-col[data-status="fechamento"] header { background: rgba(21,128,61,.30); border-color: rgba(21,128,61,.55); color: #bcf7cf; }
.status-badge.status-venda_perdida,
.kanban-col[data-status="venda_perdida"] header { background: rgba(239,68,68,.18); border-color: rgba(239,68,68,.42); color: #ffb8b8; }
[data-theme="light"] .status-badge.status-em_atendimento,
[data-theme="light"] .kanban-col[data-status="em_atendimento"] header { color:#075985; background:#dff1ff; }
[data-theme="light"] .status-badge.status-cotacao_enviada,
[data-theme="light"] .kanban-col[data-status="cotacao_enviada"] header { color:#1d4ed8; background:#dbe7ff; }
[data-theme="light"] .status-badge.status-documentacao_recebida,
[data-theme="light"] .kanban-col[data-status="documentacao_recebida"] header { color:#854d0e; background:#fff4c4; }
[data-theme="light"] .status-badge.status-venda_cadastrada,
[data-theme="light"] .kanban-col[data-status="venda_cadastrada"] header { color:#713f12; background:#fde68a; }
[data-theme="light"] .status-badge.status-boleto_gerado,
[data-theme="light"] .kanban-col[data-status="boleto_gerado"] header { color:#166534; background:#dcfce7; }
[data-theme="light"] .status-badge.status-fechamento,
[data-theme="light"] .kanban-col[data-status="fechamento"] header { color:#14532d; background:#bbf7d0; }
[data-theme="light"] .status-badge.status-venda_perdida,
[data-theme="light"] .kanban-col[data-status="venda_perdida"] header { color:#991b1b; background:#fee2e2; }

.metric-total { background: linear-gradient(135deg, rgba(107,114,128,.80), rgba(55,65,81,.72)); }
.metric-novo { background: linear-gradient(135deg, rgba(240,244,248,.22), rgba(180,190,205,.18)); }
.metric-em_atendimento { background: linear-gradient(135deg, rgba(96,165,250,.72), rgba(14,116,144,.65)); }
.metric-cotacao_enviada { background: linear-gradient(135deg, rgba(37,99,235,.80), rgba(30,64,175,.70)); }
.metric-documentacao_recebida { background: linear-gradient(135deg, rgba(250,204,21,.78), rgba(202,138,4,.62)); }
.metric-venda_cadastrada { background: linear-gradient(135deg, rgba(202,138,4,.82), rgba(133,77,14,.68)); }
.metric-boleto_gerado { background: linear-gradient(135deg, rgba(34,197,94,.76), rgba(22,101,52,.62)); }
.metric-fechamento { background: linear-gradient(135deg, rgba(21,128,61,.85), rgba(20,83,45,.70)); }
.metric-venda_perdida { background: linear-gradient(135deg, rgba(239,68,68,.80), rgba(153,27,27,.66)); }

.icon-action.schedule { color: var(--muted); }
.icon-action.schedule.active-schedule { color: #f5c542; border-color: rgba(245,197,66,.65); background: rgba(245,197,66,.12); }
.clock-indicator {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  margin-right: 4px;
  color: #f5c542;
  flex: 0 0 auto;
}
.clock-indicator svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.product-icons i svg,
.inline-product-svg svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.product-icons i { color: #82f2e5; }
.inline-product-svg { display: inline-grid; place-items: center; margin-right: 5px; color: var(--primary-2); vertical-align: middle; }
.inline-product-svg svg { width: 15px; height: 15px; }

.client-folder-grid { gap: 9px; }
.modal-section-title {
  border: 1px solid var(--border);
  background: linear-gradient(90deg, rgba(14,165,165,.14), transparent), var(--surface-2);
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 2px;
}
.modal-section-title b { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.modal-section-title span { color: var(--muted); font-size: 11px; text-align: right; }
.document-box, .base-sales-box { border-left: 3px solid var(--primary); }

.clients-table .row-buttons { min-width: 148px; }
.clients-table .icon-action { width: 24px; height: 24px; }
.kanban-board { min-width: 1120px !important; }
.kanban-col { background: color-mix(in srgb, var(--surface-2) 82%, transparent); }
.kanban-col header { position: sticky; top: 0; z-index: 1; }

@media (max-width: 1420px) {
  .crm-table { min-width: 1080px; }
  .table-wrap { overflow: auto; }
  .toolbar.compact { overflow: auto; }
}


/* v3.5 ajustes finais: KPIs neutros com barra inferior, lista mais compacta e produtos sem corte */
.metric {
  position: relative;
  overflow: hidden;
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
.metric span { color: var(--muted) !important; }
.metric b { color: var(--text) !important; }
.metric::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--metric-bar, var(--primary));
}
.metric-total { --metric-bar: #6b7280; }
.metric-novo { --metric-bar: #f8fafc; }
[data-theme="light"] .metric-novo { --metric-bar: #cbd5e1; }
.metric-em_atendimento { --metric-bar: #93c5fd; }
.metric-cotacao_enviada { --metric-bar: #1d4ed8; }
.metric-documentacao_recebida { --metric-bar: #fde68a; }
.metric-venda_cadastrada { --metric-bar: #d97706; }
.metric-boleto_gerado { --metric-bar: #86efac; }
.metric-fechamento { --metric-bar: #15803d; }
.metric-venda_perdida { --metric-bar: #ef4444; }
#deleteSelectedLeadsBtn { min-width: 32px; width: 32px; height: 30px; padding: 0; font-size: 18px; line-height: 1; }
#deleteSelectedLeadsBtn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.crm-table th:nth-child(9), .crm-table td:nth-child(9) { width: 7.5% !important; }
.crm-table th:nth-child(8), .crm-table td:nth-child(8) { width: 24.5% !important; }
.product-cell-inline { display: flex; align-items: center; gap: 5px; min-width: 0; }
.single-product-icon { width: 19px; height: 19px; display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--primary); }
.single-product-icon svg, .inline-product-svg svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mini-sales-list { max-height: none !important; overflow: visible !important; display: grid; gap: 6px; }
.mini-sales-list div { border-top: 0; padding-top: 0; }
.expanded-sale-row, .doc-select-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 7px;
}
.doc-select-row { cursor: pointer; }
.doc-select-row input, .mini-check input { min-height: auto; width: 14px; height: 14px; accent-color: var(--primary); }
.doc-select-row span, .sale-mini-main { min-width: 0; display: grid; gap: 2px; }
.doc-select-row b, .sale-mini-main b { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.doc-select-row small, .sale-mini-main span { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sale-mini-actions { display: flex; align-items: center; gap: 5px; }
.inline-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.client-folder-grid { align-items: start; }
.clients-table th:nth-child(1), .clients-table td:nth-child(1) { width: 30%; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 14%; }
.clients-table th:nth-child(7), .clients-table td:nth-child(7) { width: 12%; }

/* v3.6 ajustes de espaço: lista de clientes sem avatar, produtos só por ícone e sem rolagem lateral */
.toolbar.compact {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  scrollbar-width: none;
}
.toolbar.compact::-webkit-scrollbar { display: none; }
#deleteSelectedLeadsBtn {
  overflow: hidden !important;
  flex: 0 0 32px;
  display: inline-grid;
  place-items: center;
  line-height: 1;
}
#deleteSelectedLeadsBtn svg { display: block; }
.crm-table th:nth-child(9), .crm-table td:nth-child(9) { width: 7% !important; }
.crm-table td:nth-child(9) .row-buttons { justify-content: flex-start; gap: 4px; overflow: hidden; }
.crm-table td:nth-child(9) .icon-action { width: 24px; height: 24px; }

.clients-table-frame {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.clients-table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.clients-table th,
.clients-table td {
  overflow: hidden !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.clients-table th:nth-child(1), .clients-table td:nth-child(1) { width: 25% !important; }
.clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 18% !important; }
.clients-table th:nth-child(3), .clients-table td:nth-child(3) { width: 11% !important; }
.clients-table th:nth-child(4), .clients-table td:nth-child(4) { width: 6% !important; }
.clients-table th:nth-child(5), .clients-table td:nth-child(5) { width: 10% !important; }
.clients-table th:nth-child(6), .clients-table td:nth-child(6) { width: 13% !important; }
.clients-table th:nth-child(7), .clients-table td:nth-child(7) { width: 17% !important; }
.client-name-cell {
  min-width: 0;
  display: block;
}
.client-name-only {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.client-name-only b {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.client-name-only span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-icons-cell {
  white-space: normal !important;
}
.compact-products,
.clients-table .product-icons {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 100%;
  overflow: visible;
}
.clients-table .product-icons i,
.compact-products i {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-grid;
  place-items: center;
  color: var(--primary);
}
.clients-table .product-icons i svg,
.compact-products i svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.clients-table .row-buttons {
  min-width: 0 !important;
  max-width: 100%;
  justify-content: flex-start;
  gap: 4px;
  flex-wrap: nowrap;
  overflow: hidden !important;
}
.clients-table .icon-action {
  width: 23px !important;
  height: 23px !important;
  flex: 0 0 23px;
}
.base-sales-box,
.mini-sales-list,
.client-folder-grid {
  overflow: visible !important;
  max-height: none !important;
}
@media (max-width: 1180px) {
  .clients-table th:nth-child(1), .clients-table td:nth-child(1) { width: 24% !important; }
  .clients-table th:nth-child(2), .clients-table td:nth-child(2) { width: 19% !important; }
  .clients-table th:nth-child(7), .clients-table td:nth-child(7) { width: 16% !important; }
  .clients-table .icon-action { width: 21px !important; height: 21px !important; flex-basis: 21px; }
}


/* v3.7 Lixeira de leads e notificação de nova mensagem */
#openTrashBtn {
  min-width: 32px;
  width: 32px;
  height: 30px;
  padding: 0;
  display: inline-grid;
  place-items: center;
}
#openTrashBtn svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.unread-dot {
  width: 7px;
  height: 7px;
  border-radius: 99px;
  display: inline-block;
  background: #ef4444;
  box-shadow: 0 0 0 3px rgba(239,68,68,.14);
  margin-right: 6px;
  flex: 0 0 auto;
  vertical-align: middle;
}
.lead-row.lead-unread td {
  background: color-mix(in srgb, rgba(239,68,68,.08) 55%, transparent);
}
.kanban-card.lead-unread {
  border-color: rgba(239,68,68,.36);
  box-shadow: inset 3px 0 0 rgba(239,68,68,.72);
}
.contact-main b,
.kanban-card .top b {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.trash-modal .modal-card { max-width: 760px; }
.trash-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  margin-bottom: 10px;
}
.trash-toolbar span { color: var(--muted); font-size: 12px; }
.trash-list {
  display: grid;
  gap: 7px;
  max-height: 420px;
  overflow: auto;
  padding-right: 2px;
}
.trash-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 9px 10px;
}
.trash-main { min-width: 0; display: grid; gap: 2px; }
.trash-main b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.trash-main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
.crm-table td:nth-child(9) .row-buttons { overflow: visible !important; }
.toolbar.compact { gap: 5px; }
@media (max-width: 1280px) {
  .toolbar.compact .btn:not(.icon-only), .toolbar.compact a.btn:not(.icon-only) { padding-inline: 6px; }
  #openTrashBtn, #deleteSelectedLeadsBtn { flex-basis: 30px; width: 30px; min-width: 30px; }
}


/* v3.8 — pasta do cliente compacta, sanfona por produto e docs clicáveis */
.client-editor-modal { width: min(980px, calc(100vw - 22px)); }
.client-editor-card { max-height: calc(100dvh - 28px); }
.client-editor-card header,
.client-editor-card footer { padding: 9px 11px; }
.client-editor-card header h2 { font-size: 17px; }
.client-editor-card header p { font-size: 11px; }
.client-folder-layout {
  padding: 9px;
  overflow: auto;
  display: grid;
  gap: 8px;
  min-height: 0;
}
.folder-accordion,
.product-contract-card {
  border: 1px solid var(--border);
  background: var(--surface-2);
  overflow: hidden;
}
.folder-accordion > summary,
.product-contract-card > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid transparent;
}
.folder-accordion > summary::-webkit-details-marker,
.product-contract-card > summary::-webkit-details-marker { display: none; }
.folder-accordion[open] > summary,
.product-contract-card[open] > summary { border-bottom-color: var(--border); }
.folder-accordion > summary b,
.product-contract-card > summary b { font-size: 12px; text-transform: uppercase; letter-spacing: .035em; }
.folder-accordion > summary span,
.product-contract-card > summary small { color: var(--muted); font-size: 11px; text-align: right; }
.folder-accordion > summary::after,
.product-contract-card > summary::after {
  content: "⌄";
  color: var(--muted);
  font-size: 13px;
  transform: rotate(-90deg);
  transition: transform .16s ease;
}
.folder-accordion[open] > summary::after,
.product-contract-card[open] > summary::after { transform: rotate(0deg); }
.compact-modal-grid {
  padding: 9px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.compact-modal-grid label { min-width: 0; }
.compact-modal-grid .full { grid-column: 1 / -1; }
.compact-modal-grid .wide-field { grid-column: span 2; }
.client-editor-card label span { font-size: 10.5px; }
.client-editor-card input,
.client-editor-card select,
.client-editor-card textarea {
  min-height: 31px;
  padding: 5px 7px;
  font-size: 12px;
}
.client-editor-card textarea { min-height: 54px; resize: vertical; }
.product-doc-line {
  border: 1px dashed var(--border-strong);
  background: var(--surface);
  padding: 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.product-doc-title { display: grid; gap: 2px; min-width: 0; }
.product-doc-title b { font-size: 12px; }
.product-doc-title span { color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-doc-actions { justify-content: flex-end; flex-wrap: nowrap; min-width: 230px; }
.doc-file-button,
.doc-file-link {
  min-height: 26px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--primary-2);
  padding: 0 8px;
  font-size: 11px;
  cursor: pointer;
  max-width: 210px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doc-file-button:disabled { opacity: .45; cursor: not-allowed; color: var(--muted); }
.doc-file-link svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.doc-file-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.base-sales-toolbar {
  padding: 8px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--border);
}
.base-sales-toolbar p { margin: 0; color: var(--muted); font-size: 11px; }
.product-accordion-list { display: grid; gap: 6px; padding: 8px; overflow: visible !important; max-height: none !important; }
.product-empty-state { padding: 10px !important; }
.product-contract-card { background: var(--surface); }
.product-contract-card > summary { padding: 7px 9px; }
.contract-title { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.contract-title b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contract-body { padding: 8px; display: grid; gap: 8px; }
.contract-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.contract-mini-grid article {
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 6px 7px;
  display: grid;
  gap: 2px;
}
.contract-mini-grid span,
.product-doc-download-row > span { color: var(--muted); font-size: 10.5px; }
.contract-mini-grid b { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-doc-download-row {
  border: 1px dashed var(--border);
  background: var(--surface-2);
  padding: 6px 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.no-doc-chip { color: var(--muted); font-size: 11px; }
.contract-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.35; border-left: 2px solid var(--primary); padding-left: 7px; }
.contract-actions { display: flex; justify-content: flex-end; }
#downloadSelectedDocsBtn { display: none !important; }
@media (max-width: 980px) {
  .compact-modal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-modal-grid .wide-field { grid-column: span 1; }
  .product-doc-line, .base-sales-toolbar, .product-doc-download-row { align-items: stretch; flex-direction: column; }
  .compact-doc-actions { min-width: 0; justify-content: flex-start; flex-wrap: wrap; }
  .doc-file-button, .doc-file-link { max-width: 100%; }
}
@media (max-width: 560px) {
  .compact-modal-grid { grid-template-columns: 1fr; }
  .contract-mini-grid { grid-template-columns: 1fr; }
}


/* v3.9 — correção visual final da pasta do cliente: sem campos cortados/empilhados */
.client-editor-modal {
  width: min(940px, calc(100vw - 20px)) !important;
  max-width: calc(100vw - 20px) !important;
}
.client-editor-card {
  border-radius: 8px !important;
  max-height: calc(100dvh - 18px) !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}
.client-editor-card header,
.client-editor-card footer {
  padding: 7px 10px !important;
  min-height: auto !important;
}
.client-editor-card header h2 {
  font-size: 15px !important;
  line-height: 1.1 !important;
}
.client-editor-card header p {
  font-size: 10.5px !important;
  margin-top: 2px !important;
}
.client-editor-card footer .btn {
  min-height: 29px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
}
.client-folder-layout {
  padding: 7px !important;
  gap: 6px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  min-height: 0 !important;
  scrollbar-gutter: stable;
}
.folder-accordion,
.product-contract-card {
  border-radius: 0 !important;
  min-width: 0 !important;
}
.folder-accordion > summary,
.product-contract-card > summary {
  min-height: 27px !important;
  padding: 5px 8px !important;
  gap: 6px !important;
}
.folder-accordion > summary b,
.product-contract-card > summary b {
  font-size: 11px !important;
  letter-spacing: .025em !important;
  line-height: 1.1 !important;
}
.folder-accordion > summary span,
.product-contract-card > summary small {
  font-size: 10px !important;
  line-height: 1.15 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.compact-modal-grid {
  padding: 7px 8px !important;
  grid-template-columns: 1.08fr 1fr 1.05fr 1fr !important;
  gap: 5px 8px !important;
  align-items: end !important;
}
.compact-modal-grid label {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  width: 100% !important;
}
.compact-modal-grid .full { grid-column: 1 / -1 !important; }
.compact-modal-grid .wide-field { grid-column: span 1 !important; }
.client-editor-card label span,
.compact-modal-grid label span {
  font-size: 9.7px !important;
  line-height: 1.05 !important;
  color: var(--muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.client-editor-card input,
.client-editor-card select,
.client-editor-card textarea {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 3px 6px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}
.client-editor-card textarea {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 58px !important;
  resize: vertical !important;
}
.product-doc-line {
  padding: 5px 7px !important;
  min-height: 32px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
}
.product-doc-title { gap: 0 !important; min-width: 0 !important; }
.product-doc-title b { font-size: 11px !important; line-height: 1.1 !important; }
.product-doc-title span { font-size: 10px !important; line-height: 1.1 !important; }
.compact-doc-actions,
.doc-actions.compact-doc-actions {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
}
.client-editor-card .btn.small,
.doc-file-button,
.doc-file-link {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 7px !important;
  font-size: 10.5px !important;
}
.doc-file-button,
.doc-file-link {
  max-width: 185px !important;
}
.base-sales-toolbar {
  padding: 5px 8px !important;
  gap: 6px !important;
}
.base-sales-toolbar p {
  font-size: 10px !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.product-accordion-list {
  padding: 6px !important;
  gap: 5px !important;
}
.product-empty-state {
  padding: 8px !important;
  font-size: 11px !important;
  min-height: 0 !important;
}
.product-contract-card > summary {
  padding: 5px 7px !important;
}
.contract-title {
  gap: 4px !important;
  min-width: 0 !important;
}
.contract-title b { font-size: 11px !important; }
.inline-product-svg svg,
.product-icons i svg,
.compact-products i svg {
  width: 14px !important;
  height: 14px !important;
}
.contract-body {
  padding: 6px !important;
  gap: 6px !important;
}
.contract-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
}
.contract-mini-grid article {
  padding: 5px 6px !important;
  min-width: 0 !important;
}
.contract-mini-grid span,
.product-doc-download-row > span { font-size: 9.8px !important; }
.contract-mini-grid b { font-size: 11px !important; }
.product-doc-download-row {
  padding: 5px 6px !important;
  gap: 6px !important;
}
.contract-note {
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}
.product-list-folder:not([open]) .base-sales-toolbar,
.product-list-folder:not([open]) .product-accordion-list {
  display: none !important;
}
@media (max-height: 760px) {
  .client-editor-card header p { display: none !important; }
  .client-folder-layout { padding: 5px !important; gap: 5px !important; }
  .compact-modal-grid { padding: 6px 7px !important; gap: 4px 7px !important; }
  .folder-accordion > summary { min-height: 24px !important; padding: 4px 7px !important; }
  .client-editor-card input,
  .client-editor-card select { min-height: 24px !important; height: 24px !important; }
  .client-editor-card textarea { height: 32px !important; min-height: 32px !important; }
}
@media (max-width: 860px) {
  .compact-modal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .product-doc-line { grid-template-columns: 1fr !important; }
  .compact-doc-actions { justify-content: flex-start !important; flex-wrap: wrap !important; }
  .doc-file-button, .doc-file-link { max-width: 100% !important; }
}
@media (max-width: 560px) {
  .compact-modal-grid { grid-template-columns: 1fr !important; }
  .contract-mini-grid { grid-template-columns: 1fr !important; }
}

/* v4.0 — produtos clicáveis, pasta por produto e múltiplos PDFs */
.client-product-hint {
  border: 1px solid var(--border);
  background: var(--surface-2);
  padding: 7px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.client-product-hint div { display: grid; gap: 2px; min-width: 0; }
.client-product-hint b { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.client-product-hint span { color: var(--muted); font-size: 10.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-compact-product-grid { grid-template-columns: 1.1fr .7fr 1fr 1fr 1fr !important; }
.clickable-products { gap: 3px !important; }
.product-icon-button {
  width: 22px;
  height: 22px;
  border: 1px solid color-mix(in srgb, var(--primary) 36%, var(--border));
  background: color-mix(in srgb, var(--primary) 7%, var(--surface));
  color: var(--primary);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
  flex: 0 0 22px;
  border-radius: 5px;
}
.product-icon-button:hover { background: color-mix(in srgb, var(--primary) 16%, var(--surface)); border-color: var(--primary); }
.product-icon-button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.clients-table .product-icons { align-items: center !important; gap: 3px !important; }
.product-folder-modal { width: min(760px, calc(100vw - 24px)); }
.product-folder-card {
  max-height: calc(100dvh - 26px);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}
.product-folder-card header,
.product-folder-card footer { padding: 9px 11px; }
.product-folder-card header h2 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 17px;
  line-height: 1.1;
}
.product-folder-card header p { font-size: 11px; margin-top: 2px; }
.product-folder-top {
  padding: 9px 11px;
  display: grid;
  grid-template-columns: 1.2fr .7fr 1fr .95fr;
  gap: 7px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}
.product-folder-top label { min-width: 0; display: grid; gap: 3px; }
.product-folder-top label span { font-size: 10.5px; color: var(--muted); }
.product-folder-top input,
.product-folder-top select,
.product-folder-top textarea {
  min-height: 29px;
  padding: 4px 7px;
  font-size: 12px;
}
.product-folder-top .full { grid-column: 1 / -1; }
.product-folder-top textarea { min-height: 44px; resize: vertical; }
.product-docs-panel {
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.product-docs-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.product-docs-panel > header div { display: grid; gap: 2px; min-width: 0; }
.product-docs-panel > header b { font-size: 12px; }
.product-docs-panel > header span { font-size: 10.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-doc-list {
  padding: 9px 11px;
  display: grid;
  gap: 6px;
  overflow: auto;
  align-content: start;
}
.product-doc-row {
  min-height: 31px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  gap: 6px;
}
.product-doc-item {
  min-width: 0;
  min-height: 31px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--text);
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  cursor: pointer;
  text-align: left;
}
.product-doc-item:hover { border-color: var(--primary); color: var(--primary-2); }
.product-doc-item svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.product-doc-item span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.product-doc-delete {
  width: 30px;
  height: 31px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--danger);
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}
.product-doc-delete:hover { border-color: var(--danger); background: rgba(239, 68, 68, .10); }
.product-folder-note { color: var(--muted); font-size: 11px; margin: 0; line-height: 1.3; }
.hidden-product-cache { display: none !important; }
@media (max-width: 900px) {
  .client-product-hint { align-items: stretch; flex-direction: column; }
  .client-compact-product-grid, .product-folder-top { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .client-compact-product-grid, .product-folder-top { grid-template-columns: 1fr !important; }
  .product-doc-row { grid-template-columns: minmax(0, 1fr) 30px; }
}

/* v4.2 - tela de acesso por token */
.auth-screen { display: none; }
body.auth-locked .app { display: none; }
body.auth-locked .auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 18% 18%, rgba(14,165,165,.18), transparent 34%),
    radial-gradient(circle at 80% 75%, rgba(16,184,168,.10), transparent 34%),
    var(--bg);
  position: relative;
  overflow: hidden;
}
.auth-bg-mark {
  position: fixed;
  inset: auto -90px -120px auto;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(14,165,165,.16);
  transform: rotate(18deg);
  opacity: .55;
  pointer-events: none;
}
.auth-card {
  width: min(100%, 460px);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 8px;
  padding: 22px;
  display: grid;
  gap: 18px;
}
.auth-brand { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: center; gap: 14px; }
.auth-brand img { width: 54px; height: 54px; object-fit: contain; }
.auth-brand h1 { margin: 0; font-size: 23px; letter-spacing: -.02em; }
.auth-brand p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.auth-role-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 6px; }
.auth-role-tab { min-height: 36px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); }
.auth-role-tab:hover { color: var(--text); }
.auth-role-tab.active { background: var(--surface-3); border-color: var(--border-strong); color: var(--text); box-shadow: inset 0 -2px 0 var(--primary); }
.auth-panel { display: grid; gap: 18px; }
.auth-panel[hidden] { display: none; }
.auth-form { display: grid; gap: 10px; }
.auth-form label:not(.auth-check) { display: grid; gap: 6px; }
.auth-form label span { color: var(--muted); font-size: 12px; }
.auth-form input[type="password"], .auth-form input[type="text"], .auth-form input[type="email"] {
  width: 100%;
  height: 42px;
  border: 1px solid var(--border-strong);
  background: var(--surface-2);
  color: var(--text);
  border-radius: 4px;
  padding: 0 12px;
  outline: none;
}
.auth-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(14,165,165,.13); }
.auth-check { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.auth-check input { width: 15px; height: 15px; }
.auth-login-btn { width: 100%; justify-content: center; min-height: 40px; }
.auth-status {
  min-height: 20px;
  color: var(--muted);
  font-size: 12px;
  border-left: 3px solid var(--border-strong);
  padding-left: 8px;
}
.auth-status.error { color: #ffb7bd; border-left-color: var(--danger); }
.auth-status.ok { color: #90e2bd; border-left-color: var(--ok); }
.auth-steps { display: grid; gap: 8px; }
.auth-steps article {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 9px 10px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 5px;
}
.auth-steps b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(14,165,165,.15);
  color: var(--primary-2);
  font-size: 12px;
}
.auth-steps span { color: var(--muted); font-size: 12px; }
body.whatsapp-pending .nav-item:not([data-view="connect"]):not([data-view="instance"]) { opacity: .48; }
body.whatsapp-pending .nav-item:not([data-view="connect"]):not([data-view="instance"]):hover { opacity: .7; }

/* Área Supervisor — shell visual independente */
.admin-master-screen { display: none; }
.admin-master-screen[hidden] { display: none !important; }
body.admin-master-mode { overflow: hidden; }
body.admin-master-mode .auth-screen, body.admin-master-mode .app, body.admin-master-mode .supervisor-screen { display: none !important; }
body.admin-master-mode .admin-master-screen { height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); background: linear-gradient(90deg, rgba(14,165,165,.08), transparent 340px), var(--bg); transition: grid-template-columns .18s ease; }
body.admin-master-mode .admin-master-screen.admin-master-auth { grid-template-columns: 1fr; }
.admin-master-auth .admin-master-sidebar { display: none; }
.admin-master-sidebar { min-width: 0; height: 100vh; padding: 12px; border-right: 1px solid var(--border); background: var(--bg-soft); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; overflow: hidden; }
.admin-master-brand { min-height: 48px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 30px; gap: 8px; align-items: center; }
.admin-master-brand img { width: 48px; height: 48px; object-fit: contain; }
.admin-master-brand b, .admin-master-brand span { display: block; }
.admin-master-brand span { color: var(--muted); font-size: 10px; }
.admin-master-icon-btn { width: 30px; height: 30px; padding: 0; display: grid; place-items: center; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); }
.admin-master-icon-btn svg, .admin-master-nav-item svg, .admin-master-logout svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-master-nav { min-height: 0; display: grid; align-content: start; gap: 3px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.admin-master-nav-item, .admin-master-logout { min-height: 34px; display: flex; align-items: center; gap: 9px; padding: 0 9px; border: 1px solid transparent; background: transparent; color: var(--muted); text-align: left; font-size: 11px; }
.admin-master-nav-item span, .admin-master-logout span { width: 19px; display: grid; place-items: center; color: var(--primary-2); }
.admin-master-nav-item b, .admin-master-logout b { font-weight: 500; }
.admin-master-nav-item:hover, .admin-master-logout:hover { background: var(--surface-2); color: var(--text); }
.admin-master-nav-item.active { background: var(--surface-3); border-color: var(--border); color: var(--text); box-shadow: inset 3px 0 0 var(--primary); }
.admin-master-logout { width: 100%; border-color: var(--border); }
.admin-master-main { min-width: 0; height: 100vh; overflow: hidden; }
.admin-master-login-panel { min-height: 100vh; display: grid; place-items: center; padding: 18px; }
.admin-master-login-card { width: min(100%, 420px); padding: 22px; border: 1px solid var(--border); background: var(--surface); box-shadow: var(--shadow); display: grid; gap: 13px; }
.admin-master-login-card > img { width: 52px; height: 52px; object-fit: contain; }
.admin-master-login-card h1 { margin: 0; font-size: 21px; }
.admin-master-login-card p { margin: 3px 0 0; color: var(--muted); }
.admin-master-login-card label, .admin-master-form-grid label { display: grid; gap: 5px; }
.admin-master-login-card label span, .admin-master-form-grid label span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.admin-master-login-card input, .admin-master-form-grid input, .admin-master-form-grid select, .admin-master-form-grid textarea { width: 100%; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text); padding: 0 9px; outline: none; }
.admin-master-login-card input, .admin-master-form-grid input, .admin-master-form-grid select { height: 36px; }
.admin-master-form-grid textarea { padding-block: 8px; resize: vertical; }
.admin-master-workspace { height: 100vh; display: grid; grid-template-rows: 58px minmax(0, 1fr); }
.admin-master-workspace[hidden], .admin-master-login-panel[hidden] { display: none; }
.admin-master-topbar { padding: 8px 14px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 84%, transparent); display: flex; justify-content: space-between; align-items: center; }
.admin-master-topbar h1 { margin: 0; font-size: 18px; }
.admin-master-topbar p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.admin-master-content { min-height: 0; overflow: hidden; padding: 10px; }
.admin-master-view { display: none; height: 100%; min-height: 0; overflow: auto; }
.admin-master-view.active { display: grid; gap: 8px; align-content: start; }
.admin-master-kpis { display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 6px; }
.admin-master-kpis article { padding: 9px; border: 1px solid var(--border); background: var(--surface); display: grid; gap: 2px; }
.admin-master-kpis article::after { content: ""; height: 2px; margin: 5px -9px -9px; background: var(--primary); opacity: .75; }
.admin-master-kpis span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.admin-master-kpis b { font-size: 17px; }
.admin-master-kpis small { color: var(--muted-2); font-size: 9px; }
.admin-master-panel { min-width: 0; padding: 11px; border: 1px solid var(--border); background: var(--surface); }
.admin-master-panel > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.admin-master-panel h2 { margin: 0; font-size: 14px; }
.admin-master-panel header p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.admin-master-table-wrap { min-height: 0; max-height: calc(100vh - 190px); overflow: auto; border: 1px solid var(--border); scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.admin-master-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 10px; }
.admin-master-table.wide { min-width: 1120px; }
.admin-master-table th, .admin-master-table td { padding: 7px 6px; border-bottom: 1px solid var(--border); text-align: left; white-space: nowrap; vertical-align: middle; }
.admin-master-table th { position: sticky; top: 0; z-index: 1; background: var(--surface-2); color: var(--muted); font-size: 9px; text-transform: uppercase; }
.admin-master-actions { display: flex; gap: 4px; }
.admin-master-action { width: 25px; height: 25px; padding: 0; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font-size: 11px; }
.admin-master-status { display: inline-flex; align-items: center; gap: 5px; }
.admin-master-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.admin-master-status.active::before, .admin-master-status.paid::before { background: var(--ok); }
.admin-master-status.attention::before, .admin-master-status.due::before { background: var(--warning); }
.admin-master-status.inactive::before, .admin-master-status.late::before, .admin-master-status.cancelled::before { background: var(--danger); }
.admin-master-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.admin-master-form-grid .full { grid-column: 1 / -1; }
.admin-master-generated { margin-top: 10px; padding: 10px; border: 1px solid rgba(14,165,165,.35); background: rgba(14,165,165,.07); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.admin-master-generated[hidden] { display: none; }
.admin-master-generated > span { grid-column: 1 / -1; color: var(--primary-2); font-size: 9px; text-transform: uppercase; }
.admin-master-generated pre { margin: 0; white-space: pre-wrap; color: var(--text); font: inherit; }
.admin-master-plan-grid { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 8px; }
.admin-master-plan-grid article { padding: 12px; border: 1px solid var(--border); background: var(--surface); display: grid; gap: 5px; }
.admin-master-plan-grid h2 { margin: 0; font-size: 14px; }
.admin-master-plan-grid span { color: var(--muted); font-size: 10px; }
.admin-master-modal { width: min(760px, calc(100vw - 24px)); }
.admin-master-modal-body { max-height: 62vh; overflow-y: auto; padding: 13px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.admin-master-modal-body article { padding: 8px; border: 1px solid var(--border); background: var(--surface-2); display: grid; gap: 2px; }
.admin-master-modal-body span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.admin-master-dashboard-grid { min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.admin-master-compact-list { max-height: calc(100vh - 280px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.admin-master-compact-list article { padding: 8px 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.admin-master-compact-list article:last-child { border-bottom: 0; }
.admin-master-compact-list article div { min-width: 0; display: grid; gap: 2px; }
.admin-master-compact-list article span { color: var(--muted); font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-clients-table { min-width: 1500px; }
.admin-master-form-actions, .admin-calendar-controls, .admin-finance-filters { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.admin-master-panel h3 { margin: 10px 0 7px; font-size: 11px; color: var(--primary-2); text-transform: uppercase; }
.admin-finance-kpis { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: 6px; margin-bottom: 8px; }
.admin-finance-kpis article { padding: 8px; border: 1px solid var(--border); background: var(--surface-2); display: grid; gap: 2px; }
.admin-finance-kpis span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.admin-finance-kpis b { font-size: 13px; }
.admin-finance-filters { margin-bottom: 8px; }
.admin-finance-filters select, .admin-finance-filters input { min-width: 150px; height: 32px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); padding: 0 8px; }
.admin-calendar-panel { height: 100%; min-height: 0; display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); }
.admin-calendar-week, .admin-financial-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.admin-calendar-week b { padding: 5px; color: var(--muted); font-size: 9px; text-align: center; text-transform: uppercase; }
.admin-financial-calendar { min-height: 0; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.admin-calendar-day { min-width: 0; min-height: 64px; padding: 5px; border: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface-2); color: var(--text); text-align: left; display: grid; align-content: start; gap: 2px; }
.admin-calendar-day:hover { background: var(--surface-3); }
.admin-calendar-day.empty { pointer-events: none; opacity: .35; }
.admin-calendar-day > b { font-size: 10px; }
.admin-calendar-day span, .admin-calendar-day strong { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.admin-calendar-day.paid { box-shadow: inset 0 3px var(--ok); }.admin-calendar-day.pending { box-shadow: inset 0 3px var(--warning); }.admin-calendar-day.late { box-shadow: inset 0 3px var(--danger); }.admin-calendar-day.future { box-shadow: inset 0 3px var(--primary); }
.admin-modal-history { padding: 9px; border: 1px solid var(--border); background: var(--surface-2); }
.admin-modal-history h3 { margin: 0 0 6px; font-size: 11px; }.admin-modal-history p { margin: 4px 0; color: var(--muted); font-size: 10px; }
.admin-email-success { padding: 26px 18px; text-align: center; }
.admin-email-success > span { display: grid; width: 58px; height: 58px; margin: 0 auto 14px; border-radius: 50%; background: rgba(34, 197, 94, .14); color: var(--ok); font-size: 32px; font-weight: 800; place-items: center; }
.admin-email-success h3 { margin: 0 0 7px; font-size: 18px; }
.admin-email-success p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.admin-master-modal-body .full { grid-column: 1 / -1; }

/* Contraste consistente para textos auxiliares no tema claro. */
[data-theme="light"] .auth-status:not(.error):not(.ok),
[data-theme="light"] .admin-master-login-card p,
[data-theme="light"] .admin-master-login-card label > span,
[data-theme="light"] .auth-form label > span,
[data-theme="light"] .modal-card header p,
[data-theme="light"] .admin-master-panel header p,
[data-theme="light"] .admin-sale-access-note span { color: #435466; }
[data-theme="light"] .auth-status.error { color: #a42534; }
[data-theme="light"] .auth-status.ok { color: #087544; }

/* A conta principal e sua equipe permanecem visualmente agrupadas nos dois temas. */
.admin-access-groups .admin-access-group { border: 1px solid color-mix(in srgb, var(--primary) 26%, var(--border-strong)); border-radius: 10px; overflow: hidden; box-shadow: 0 7px 18px rgba(5, 35, 31, .08); }
.admin-access-groups .admin-access-group + .admin-access-group { margin-top: 5px; }
.admin-access-group .admin-access-toggle { background: color-mix(in srgb, var(--primary) 9%, var(--surface-2)); border-bottom-color: color-mix(in srgb, var(--primary) 22%, var(--border)); }
.admin-access-group .admin-access-toggle em { border-radius: 999px; background: var(--surface); }
.admin-access-group .admin-access-principal { background: var(--surface); border-left: 3px solid var(--primary); }
.admin-access-group .admin-access-children { background: color-mix(in srgb, var(--surface-3) 76%, var(--surface-2)); border-left: 3px solid color-mix(in srgb, var(--primary) 42%, var(--border-strong)); }
.admin-access-group .admin-access-children .admin-access-person { background: var(--surface-2); border-color: var(--border-strong); box-shadow: 0 3px 9px rgba(0,0,0,.06); }
[data-theme="light"] .admin-access-groups .admin-access-group { box-shadow: 0 8px 20px rgba(38, 71, 60, .11); }
[data-theme="light"] .admin-access-group .admin-access-children { background: #e9f0ec; }
[data-theme="light"] .admin-access-group .admin-access-children .admin-access-person { background: #fff; }
.admin-modal-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.admin-modal-form label { display: grid; gap: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.admin-modal-form input, .admin-modal-form select, .admin-modal-form textarea { width: 100%; min-height: 34px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); padding: 7px; }
.admin-calendar-detail { max-height: 55vh; overflow-y: auto; scrollbar-width: thin; }
.admin-calendar-detail article { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.admin-calendar-detail article div { display: flex; flex-wrap: wrap; gap: 5px; }
body.admin-master-mode .admin-master-screen.sidebar-collapsed { grid-template-columns: 66px minmax(0, 1fr); }
.admin-master-screen.sidebar-collapsed .admin-master-sidebar { padding-inline: 12px; justify-items: center; }
.admin-master-screen.sidebar-collapsed .admin-master-brand { grid-template-columns: 1fr; }
.admin-master-screen.sidebar-collapsed .admin-master-brand img, .admin-master-screen.sidebar-collapsed .admin-master-brand div { display: none; }
.admin-master-screen.sidebar-collapsed .admin-master-icon-btn svg { transform: rotate(180deg); }
.admin-master-screen.sidebar-collapsed .admin-master-nav, .admin-master-screen.sidebar-collapsed .admin-master-logout { width: 40px; }
.admin-master-screen.sidebar-collapsed .admin-master-nav-item, .admin-master-screen.sidebar-collapsed .admin-master-logout { width: 40px; padding: 0; justify-content: center; }
.admin-master-screen.sidebar-collapsed .admin-master-nav-item b, .admin-master-screen.sidebar-collapsed .admin-master-logout b { display: none; }
@media (max-width: 1100px) { .admin-master-dashboard-grid { grid-template-columns: 1fr; }.admin-master-compact-list { max-height: 220px; } }
@media (max-width: 900px) { .admin-master-kpis { grid-template-columns: repeat(2, minmax(110px, 1fr)); } .admin-master-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-master-plan-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); } .admin-finance-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { body.admin-master-mode .admin-master-screen { grid-template-columns: 66px minmax(0, 1fr); } .admin-master-form-grid, .admin-master-kpis, .admin-master-plan-grid { grid-template-columns: 1fr; } .admin-master-modal-body { grid-template-columns: 1fr; } }

.admin-sales-trend-panel{margin:8px 0}.admin-sales-trend-panel>header{align-items:center}.admin-trend-filters{display:flex;gap:6px}.admin-trend-filters select{height:32px;min-width:118px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:0 8px}.admin-trend-summary{display:flex;align-items:end;justify-content:space-between;margin-top:2px}.admin-trend-summary div{display:grid;gap:1px}.admin-trend-summary small,.admin-trend-summary span{color:var(--muted);font-size:9px;text-transform:uppercase}.admin-trend-summary b{font-size:20px}.admin-trend-chart{width:100%;height:165px;overflow:visible}.admin-trend-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.admin-trend-area{fill:url(#adminTrendArea)}.admin-trend-line{fill:none;stroke:var(--primary-2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--primary) 34%,transparent))}.admin-trend-point circle{fill:var(--surface);stroke:var(--primary-2);stroke-width:2}.admin-trend-point text{fill:var(--primary-2);font:600 8px Inter,sans-serif}.admin-trend-point .admin-trend-label{fill:var(--muted);font-weight:500}.admin-sale-access-note{margin:4px 0 10px;padding:10px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface-2));display:grid;gap:2px}.admin-sale-access-note b{font-size:11px}.admin-sale-access-note span{color:var(--muted);font-size:10px}.admin-master-form-grid label span small{font-size:9px;text-transform:none;color:var(--muted-2)}
.admin-access-panel{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.admin-access-groups{min-height:0;display:grid;align-content:start;gap:7px;overflow-y:auto}.admin-access-group{border:1px solid var(--border);background:var(--surface)}.admin-access-toggle{width:100%;min-height:42px;padding:7px 10px;border:0;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text);display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left}.admin-access-toggle>span{color:var(--primary-2);font-size:20px;transition:transform .18s}.admin-access-toggle[aria-expanded="true"]>span{transform:rotate(90deg)}.admin-access-toggle>div{display:grid;gap:1px}.admin-access-toggle b{font-size:12px}.admin-access-toggle small{color:var(--muted);font-size:9px}.admin-access-toggle em{min-width:23px;height:23px;border:1px solid var(--border);display:grid;place-items:center;font-size:10px;font-style:normal}.admin-access-principal,.admin-access-children{padding:7px 9px}.admin-access-principal>label,.admin-access-children>label{display:block;margin-bottom:5px;color:var(--primary-2);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.admin-access-children{border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 60%,var(--surface))}.admin-access-children[hidden]{display:none}.admin-access-children>p{color:var(--muted);font-size:10px}.admin-access-person{min-height:45px;padding:6px 7px;border:1px solid var(--border);background:var(--surface);display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 90px 100px auto;align-items:center;gap:9px}.admin-access-person+.admin-access-person{margin-top:5px}.admin-access-person.principal{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.admin-access-person>div:first-child{min-width:0;display:grid;gap:2px}.admin-access-person>div:first-child b,.admin-access-person>div:first-child small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-access-person>div:first-child b{font-size:11px}.admin-access-person>div:first-child small,.admin-access-person>small{color:var(--muted);font-size:9px}.admin-access-token{min-width:0;display:flex;align-items:center;gap:5px}.admin-access-token code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.admin-access-person>.admin-master-actions{justify-self:end}
@media(max-width:900px){.admin-access-person{grid-template-columns:minmax(160px,1fr) minmax(120px,1fr) 80px auto}.admin-access-person>small{display:none}}
@media(max-width:560px){.admin-sales-trend-panel>header{display:grid}.admin-trend-filters{width:100%}.admin-trend-filters select{min-width:0;flex:1}.admin-sales-trend-panel #adminSalesTrend{overflow-x:auto}.admin-trend-chart{min-width:560px}.admin-access-person{grid-template-columns:minmax(0,1fr) auto}.admin-access-token,.admin-access-person>span,.admin-access-person>small{display:none}.admin-access-person>.admin-master-actions{grid-column:2;grid-row:1}.admin-access-toggle{grid-template-columns:16px minmax(0,1fr) auto}}

.supervisor-screen { display: none; }
.supervisor-screen[hidden] { display: none !important; }
body.supervisor-mode { overflow: hidden; }
body.supervisor-mode .auth-screen,
body.supervisor-mode .app { display: none !important; }
body.supervisor-mode .supervisor-screen { height: 100vh; display: grid; grid-template-columns: 238px minmax(0, 1fr); background: linear-gradient(90deg, rgba(14,165,165,.08), transparent 350px), var(--bg); transition: grid-template-columns .18s ease; }
.supervisor-sidebar { width: 100%; min-width: 0; height: 100vh; padding: 12px; background: var(--bg-soft); border-right: 1px solid var(--border); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 8px; overflow: hidden; }
.supervisor-brand { min-height: 56px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 32px; gap: 7px; align-items: center; }
.supervisor-brand img { width: 48px; height: 48px; min-width: 48px; object-fit: contain; }
.supervisor-brand-text { min-width: 0; align-self: center; }
.supervisor-brand-text b, .supervisor-brand-text span { display: block; }
.supervisor-brand-text b { max-width: 100%; font-size: 14px; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: break-word; }
.supervisor-brand-text b.medium-name { font-size: 12.5px; }
.supervisor-brand-text b.long-name { font-size: 11px; line-height: 1.15; }
.supervisor-brand-text span { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.supervisor-icon-btn { width: 32px; height: 32px; padding: 0; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--text); display: grid; place-items: center; }
.supervisor-icon-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .18s ease; }
.supervisor-nav { min-height: 0; display: grid; align-content: start; gap: 2px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--border-strong) 70%, transparent) transparent; }
.supervisor-nav::-webkit-scrollbar { width: 3px; }
.supervisor-nav::-webkit-scrollbar-track { background: transparent; }
.supervisor-nav::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--border-strong) 70%, transparent); border-radius: 2px; }
.supervisor-nav-group-title { padding: 5px 9px 1px; color: var(--muted-2); font-size: 8px; font-weight: 700; letter-spacing: .09em; line-height: 1; text-transform: uppercase; }
.supervisor-nav-item, .supervisor-logout { min-height: 31px; display: flex; align-items: center; gap: 8px; padding: 0 9px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); text-align: left; font-size: 10.5px; }
.supervisor-nav-item span, .supervisor-logout span { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 20px; color: var(--primary-2); font-size: 17px; line-height: 0; }
.supervisor-nav-item span svg, .supervisor-logout span svg { width: 17px; height: 17px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; shape-rendering: geometricPrecision; }
.supervisor-nav-item span svg *, .supervisor-logout span svg * { vector-effect: non-scaling-stroke; }
.supervisor-nav-item b, .supervisor-logout b { font-weight: 500; }
.supervisor-nav-item:hover, .supervisor-logout:hover { background: var(--surface-2); color: var(--text); }
.supervisor-nav-item.active { background: var(--surface-3); border-color: var(--border); color: var(--text); box-shadow: inset 3px 0 0 var(--primary); }
.supervisor-sidebar-footer { min-width: 0; padding-top: 8px; border-top: 1px solid var(--border); }
.supervisor-settings-item { width: 100%; }
.supervisor-logout { width: 100%; border-color: var(--border); align-self: end; }
.supervisor-main { min-width: 0; height: 100vh; display: grid; grid-template-rows: 68px minmax(0, 1fr); }
.supervisor-topbar { padding: 9px 16px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 84%, transparent); display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.supervisor-topbar h1 { margin: 0; font-size: 19px; }
.supervisor-topbar p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.supervisor-top-actions { display: flex; align-items: flex-end; gap: 9px; }
.supervisor-top-actions label { min-width: 0; display: grid; grid-template-rows: 11px 32px; gap: 3px; color: var(--muted); font-size: 9px; line-height: 11px; text-transform: uppercase; letter-spacing: .05em; }
.supervisor-top-actions strong { height: 32px; display: flex; align-items: center; color: var(--text); font-size: 12px; line-height: 1; text-transform: none; white-space: nowrap; }
.supervisor-top-actions select { height: 32px; min-width: 140px; border: 1px solid var(--border); border-radius: 7px; padding: 0 9px; background: var(--surface-2); color: var(--text); }
.supervisor-content { min-height: 0; overflow: hidden; padding: 12px; }
.supervisor-view { display: none; height: 100%; min-height: 0; overflow: auto; }
.supervisor-view.active { display: grid; gap: 10px; align-content: start; }
.supervisor-kpis { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; }
.supervisor-kpis article, .supervisor-goal-summary article { padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); display: grid; gap: 3px; }
.supervisor-kpis span, .supervisor-goal-summary span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.supervisor-kpis b, .supervisor-goal-summary b { font-size: 20px; }
.supervisor-kpis small, .supervisor-goal-summary small { color: var(--muted-2); }
.supervisor-card { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); box-shadow: 0 10px 28px rgba(0,0,0,.1); }
.supervisor-card > header { min-height: 40px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.supervisor-card h2, .supervisor-report-actions h2 { margin: 0; font-size: 15px; }
.supervisor-card header p, .supervisor-report-actions p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.supervisor-live { color: var(--ok); font-size: 10px; }
.supervisor-broker-list { max-height: calc(100vh - 215px); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.supervisor-broker-row { min-width: 690px; display: grid; grid-template-columns: minmax(180px, 1.5fr) 110px 90px 1fr 125px; gap: 10px; align-items: center; min-height: 48px; padding: 7px 8px; border-bottom: 1px solid var(--border); }
.supervisor-broker-row:last-child { border-bottom: 0; }
.supervisor-person { display: flex; align-items: center; gap: 8px; }
.supervisor-role-badge { margin-left: 5px; padding: 2px 4px; border: 1px solid rgba(14,165,165,.35); color: var(--primary-2); font-size: 8px; font-weight: 600; text-transform: uppercase; }
.supervisor-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(14,165,165,.16); color: var(--primary-2); font-weight: 700; }
.status-dot { width: 8px; height: 8px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--muted-2); }
.status-dot.online { background: var(--ok); box-shadow: 0 0 0 3px rgba(24,160,88,.12); }
.status-dot.away { background: var(--warning); }
.supervisor-progress { height: 7px; overflow: hidden; border-radius: 99px; background: var(--surface-3); }
.supervisor-progress i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--primary), var(--primary-2)); }
.supervisor-access-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: end; }
.supervisor-access-form label, .supervisor-message-form label { display: grid; gap: 5px; }
.supervisor-access-form span, .supervisor-message-form span { color: var(--muted); font-size: 11px; }
.supervisor-access-form input, .supervisor-message-form select, .supervisor-message-form textarea { width: 100%; border: 1px solid var(--border-strong); border-radius: 4px; background: var(--surface-2); color: var(--text); padding: 0 10px; outline: none; }
.supervisor-access-form input, .supervisor-message-form select { height: 38px; }
.supervisor-message-form textarea { padding-block: 9px; resize: vertical; }
.supervisor-message-ready { margin-top: 10px; padding: 10px; border: 1px solid rgba(14,165,165,.3); border-radius: 5px; background: rgba(14,165,165,.08); display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.supervisor-message-ready[hidden] { display: none; }
.supervisor-message-ready span { color: var(--primary-2); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.supervisor-message-ready p { margin: 5px 0 0; white-space: pre-line; line-height: 1.5; }
.supervisor-table-wrap { min-width: 0; overflow: auto; max-height: calc(100vh - 365px); border: 1px solid var(--border); border-radius: 5px; }
.supervisor-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.supervisor-table th, .supervisor-table td { padding: 9px 8px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; white-space: nowrap; }
.supervisor-table th { position: sticky; top: 0; z-index: 1; background: var(--surface-2); color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.supervisor-client-table { min-width: 1080px; }
.supervisor-card-actions { display: flex; gap: 6px; }
.supervisor-product-btn { width: 30px; height: 30px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: var(--surface-2); color: var(--primary-2); }
#supervisor-view-funnel { overflow: hidden; }
#supervisor-view-funnel.active { display: block; height: 100%; min-height: 0; }
.supervisor-kanban { width: 100%; height: 100%; min-height: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; overflow: hidden; }
.supervisor-lane { min-width: 0; min-height: 0; height: 100%; padding: 5px; border: 1px solid var(--border); border-radius: 5px; background: color-mix(in srgb, var(--surface) 82%, transparent); overflow: hidden; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.supervisor-lane > header { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px; margin-bottom: 5px; color: var(--muted); font-size: 9px; }
.supervisor-lane > header b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supervisor-deal { min-width: 0; margin-bottom: 4px; padding: 6px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); display: grid; gap: 3px; }
.supervisor-deal > b, .supervisor-deal > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supervisor-deal > b { font-size: 10px; }
.supervisor-deal > span { color: var(--muted); font-size: 8.5px; }
.supervisor-deal-seller { display: flex; align-items: center; gap: 5px; }
.supervisor-deal-seller > i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--broker-marker); border: 1px solid color-mix(in srgb, var(--broker-marker) 65%, white); box-shadow: 0 0 0 2px color-mix(in srgb, var(--broker-marker) 18%, transparent), 0 0 7px color-mix(in srgb, var(--broker-marker) 55%, transparent); }
.supervisor-deal > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 3px; }
.supervisor-deal small { min-width: 0; color: var(--primary-2); font-size: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supervisor-deal button { min-height: 21px; padding: 0 5px; font-size: 8px; flex: 0 0 auto; }
.supervisor-lane-cards { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding-right: 3px; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--border-strong) 68%, transparent) transparent; }
.supervisor-lane-cards::-webkit-scrollbar { width: 3px; }
.supervisor-lane-cards::-webkit-scrollbar-track { background: transparent; }
.supervisor-lane-cards::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--border-strong) 68%, transparent); border-radius: 2px; }
.supervisor-lane-total { min-width: 0; padding-top: 5px; border-top: 1px solid var(--border); display: grid; gap: 2px; }
.supervisor-lane-total b, .supervisor-lane-total span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 7.5px; }
.supervisor-lane-total span { color: var(--primary-2); }
.supervisor-lane-total.lost span { color: var(--danger); }
.supervisor-goal-summary { display: grid; grid-template-columns: minmax(250px, 1fr) 180px; gap: 10px; }
.supervisor-goal-editor { padding: 12px; border: 1px solid var(--border); background: var(--surface); display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 10px; align-items: end; }
.supervisor-goal-editor label { display: grid; gap: 5px; }
.supervisor-goal-editor label span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.supervisor-goal-editor input { height: 36px; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text); padding: 0 10px; }
.supervisor-goal-editor .auth-status { grid-column: 1 / -1; }
.supervisor-goal-ring { text-align: center; place-content: center; border-color: var(--primary) !important; }
.supervisor-goal-rows { display: grid; gap: 12px; }
.supervisor-goal-row { display: grid; grid-template-columns: 170px minmax(150px, 1fr) 150px; gap: 12px; align-items: center; }
.supervisor-dashboard-heading { padding: 2px 2px 4px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.supervisor-dashboard-heading > div { display: grid; gap: 3px; }
.supervisor-dashboard-heading > div > span, .supervisor-card-kicker { color: var(--primary-2); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.supervisor-dashboard-heading h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.supervisor-dashboard-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.supervisor-dashboard-heading .btn { min-height: 34px; border-radius: 8px; }
.supervisor-dashboard-heading .btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.supervisor-dashboard-analytics { display: grid; grid-template-columns: minmax(290px, .82fr) minmax(360px, 1.18fr); gap: 10px; }
.supervisor-dashboard-analytics .supervisor-card { min-height: 180px; }
.supervisor-dashboard-goal { overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 10%, var(--surface)), var(--surface) 58%); }
.supervisor-goal-visual { min-height: 118px; display: grid; grid-template-columns: 116px minmax(0, 1fr); align-items: center; gap: 18px; }
.supervisor-goal-ring { --goal-progress: 0deg; width: 108px; height: 108px; padding: 9px; border: 0 !important; border-radius: 50%; background: conic-gradient(var(--primary-2) 0 var(--goal-progress), color-mix(in srgb, var(--border-strong) 55%, transparent) var(--goal-progress) 360deg); display: grid; place-items: center; }
.supervisor-goal-ring > div { width: 82px; height: 82px; border-radius: 50%; background: var(--surface); box-shadow: inset 0 0 0 1px var(--border); display: grid; place-content: center; text-align: center; }
.supervisor-goal-ring b { font-size: 21px; line-height: 1; }
.supervisor-goal-ring span { margin-top: 3px; color: var(--muted); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.supervisor-goal-numbers { display: grid; gap: 9px; }
.supervisor-goal-numbers > span { padding: 8px 10px; border-left: 2px solid var(--primary); background: color-mix(in srgb, var(--surface-2) 78%, transparent); color: var(--muted); font-size: 9px; text-transform: uppercase; }
.supervisor-goal-numbers b { display: block; margin-top: 3px; color: var(--text); font-size: 15px; text-transform: none; }
.supervisor-dashboard-funnel-bars { display: grid; gap: 7px; }
.supervisor-dashboard-funnel-bars > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 9px; }
.supervisor-dashboard-funnel-bars span { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 9px; }
.supervisor-dashboard-funnel-bars span small { color: var(--primary-2); font-weight: 800; }
.supervisor-dashboard-funnel-bars i { height: 7px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--border-strong) 45%, transparent); }
.supervisor-dashboard-funnel-bars em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary), var(--primary-2)); box-shadow: 0 0 12px color-mix(in srgb, var(--primary) 48%, transparent); }
.supervisor-person > b { min-width: 0; }
.supervisor-target-badge { display: inline-flex; margin-left: 7px; padding: 2px 5px; border: 1px solid color-mix(in srgb, var(--primary) 34%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--primary) 8%, transparent); color: var(--primary-2); font-size: 8px; font-weight: 700; white-space: nowrap; vertical-align: middle; }
.supervisor-goal-modal-card { width: min(520px, calc(100vw - 28px)); }
.supervisor-goal-modal-body { display: grid; gap: 14px; }
.supervisor-goal-modal-body > label { display: grid; gap: 6px; }
.supervisor-goal-modal-body > label > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.supervisor-money-input { height: 46px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--surface-2); }
.supervisor-money-input b { color: var(--primary-2); }
.supervisor-money-input input { width: 100%; height: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 18px; font-weight: 750; }
.supervisor-goal-modal-preview { padding: 12px; border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--primary) 8%, var(--surface)); display: grid; gap: 3px; }
.supervisor-goal-modal-preview span, .supervisor-goal-modal-preview small { color: var(--muted); font-size: 9px; }
.supervisor-goal-modal-preview b { font-size: 15px; }
.supervisor-report-layout { grid-template-columns: 230px minmax(0, 1fr); align-items: stretch; overflow: hidden; }
.supervisor-view.active.supervisor-report-layout { align-content: stretch; grid-template-rows: minmax(0, 1fr); }
.supervisor-report-actions { padding: 16px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); display: grid; gap: 12px; align-self: start; }
.supervisor-report-preview { min-width: 0; min-height: 0; height: 100%; display: grid; place-items: center; overflow: hidden; padding: 2px; }
.supervisor-report-sheet { aspect-ratio: 210 / 297; height: min(100%, 790px); width: auto; max-width: 100%; padding: 24px 26px 18px; background: #fff; color: #17202b; box-shadow: 0 12px 36px rgba(0,0,0,.26); display: flex; flex-direction: column; overflow: hidden; }
.supervisor-report-sheet header { display: flex; align-items: center; gap: 14px; }
.supervisor-report-sheet header img { width: 56px; height: 56px; object-fit: contain; }
.broker-report-layout { height: 100%; min-height: 0; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 14px; overflow: hidden; }
.broker-report-actions { align-self: start; padding: 16px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); display: grid; gap: 12px; }
.broker-report-actions h2, .broker-report-actions p { margin: 0; }
.broker-report-actions p { color: var(--muted); line-height: 1.5; }
.broker-report-preview { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: auto; padding: 3px; }
.broker-report-sheet { height: min(100%, 790px); }
.training-library { height: 100%; min-height: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 12px; overflow: hidden; }
.training-library-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.training-library-header h2, .training-library-header p { margin: 0; }
.training-library-header p { margin-top: 4px; color: var(--muted); }
.training-library-header select { width: min(250px, 100%); }
.training-library-actions { display: flex; align-items: center; gap: 8px; }
.training-library-actions select { min-width: 170px; }
.training-tracks { min-height: 0; overflow-y: auto; display: grid; align-content: start; gap: 18px; padding-right: 4px; }
.training-track { display: grid; gap: 9px; }
.training-track > header { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.training-track > header span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.training-track > header h3 { margin: 2px 0 0; font-size: 17px; }
.training-track > header > b { color: var(--primary-2); font-size: 10px; }
.training-card-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.training-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.training-card-admin { border-color: color-mix(in srgb, var(--primary-2) 55%, var(--border)); box-shadow: inset 0 2px 0 color-mix(in srgb, var(--primary-2) 75%, transparent); }
.training-card-watching { box-shadow: inset 0 2px 0 #f5b301; }
.training-track-featured > header h3 { color: var(--primary-2); }
.training-thumb { position: relative; width: 100%; aspect-ratio: 16 / 9; display: block; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: #111; text-align: left; }
.training-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.training-thumb:hover img { transform: scale(1.03); }
.training-thumb span { position: absolute; inset: auto 8px 8px; width: max-content; padding: 5px 8px; border-radius: 4px; background: rgba(0,0,0,.78); color: #fff; font-size: 9px; }
.training-thumb .training-watching-badge { position: absolute; inset: 7px 7px auto auto; padding: 4px 6px; border-radius: 4px; background: #f5b301; color: #191600; font-size: 8px; text-transform: uppercase; letter-spacing: .04em; }
.training-card > div { padding: 8px; display: grid; gap: 4px; }
.training-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.training-eye { min-width: 30px; min-height: 28px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-2); color: var(--primary-2); cursor: pointer; }
.training-progress { display: grid; gap: 4px; margin-top: 4px; }
.training-progress > span { height: 5px; overflow: hidden; border-radius: 99px; background: var(--border); }
.training-progress i { display: block; height: 100%; border-radius: inherit; background: var(--primary-2); }
.training-progress b { color: var(--muted); font-size: 9px; font-weight: 600; }
.training-card small { color: var(--primary-2); font-size: 9px; text-transform: uppercase; }
.training-card h4, .training-card p { margin: 0; }
.training-card h4 { min-height: 32px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12px; line-height: 1.3; }
.training-card p { min-height: 28px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: var(--muted); font-size: 9px; line-height: 1.45; }
.training-stars { color: #f5b301; letter-spacing: 1px; font-size: 11px; }
.training-admin-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(380px, 1.2fr); gap: 12px; align-items: start; }
.campaign-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(320px, 1fr)); gap: 12px; align-items: start; }
.campaign-admin-form { display: grid; gap: 12px; }
.campaign-upload { display: grid; gap: 7px; }
.campaign-upload > span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.campaign-upload img { width: 100%; aspect-ratio: 8 / 1; object-fit: contain; background: #101820; border: 1px solid var(--border); }
.campaign-upload.popup img { aspect-ratio: 25 / 18; max-height: 360px; }
.topbar.campaign-banner-active, .supervisor-topbar.campaign-banner-active { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
.global-campaign-banner { display: block; min-width: 0; width: min(100%, 520px); max-width: 100%; max-height: 64px; aspect-ratio: 8 / 1; object-fit: contain; justify-self: center; }
.topbar .global-campaign-banner { max-height: 42px; }
.supervisor-topbar .global-campaign-banner { max-height: 50px; }
.global-campaign-popup { position: fixed; inset: 0; width: 100%; height: 100%; max-width: 100vw; max-height: 100dvh; z-index: 20000; padding: 20px; overflow: hidden; contain: strict; background: rgba(0,0,0,.72); display: grid; place-items: center; }
.global-campaign-popup > div { position: relative; display: grid; place-items: center; min-width: 0; min-height: 0; width: fit-content; height: fit-content; max-width: calc(100vw - 40px); max-height: calc(100dvh - 40px); overflow: hidden; }
.global-campaign-popup img { display: block; width: auto; height: auto; max-width: calc(100vw - 40px); max-height: calc(100dvh - 40px); object-fit: contain; }
.global-campaign-popup button { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(0,0,0,.72); color: #fff; font-size: 25px; line-height: 1; display: grid; place-items: center; }

@media (max-width: 900px) { .campaign-admin-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .topbar.campaign-banner-active, .supervisor-topbar.campaign-banner-active { grid-template-columns: minmax(70px, auto) minmax(72px, 1fr) auto; } .global-campaign-popup { padding: 10px; } .global-campaign-popup > div, .global-campaign-popup img { max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); } }
.training-admin-list { display: grid; gap: 8px; }
.training-admin-item { min-width: 0; padding: 8px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-2); display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.training-admin-sortable { grid-template-columns: 24px 76px minmax(0, 1fr) auto; cursor: grab; transition: opacity .16s ease, transform .16s ease, border-color .16s ease; }
.training-admin-sortable:active { cursor: grabbing; }
.training-admin-sortable.dragging { opacity: .5; border-color: var(--primary-2); transform: scale(.99); }
.training-admin-sortable > img { width: 76px; }
.training-drag-handle { width: 24px; height: 36px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 17px; cursor: grab; }
.training-form label:has(#adminTrainingOrder) { display: none; }
.training-admin-item img { width: 96px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; }
.training-admin-item > div { min-width: 0; display: grid; gap: 3px; }
.training-admin-item span, .training-admin-item small { color: var(--muted); font-size: 9px; }
.training-admin-toolbar { margin-bottom: 9px; display: flex; align-items:center; justify-content:space-between; gap:12px; }
.training-admin-toolbar .admin-list-search { margin:0; }
.training-player-modal { width: min(960px, calc(100vw - 24px)); }
.training-player-modal .modal-card { width: 100%; max-width: none; }
.training-player-frame { width: 100%; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.training-player-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.training-player-frame > div { width: 100%; height: 100%; }
.training-metrics-modal .modal-card, .training-manager-modal .modal-card { width: min(900px, calc(100vw - 24px)); max-width: none; }
.training-metrics-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.training-metrics-summary article { padding: 14px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-2); display: grid; gap: 5px; }
.training-metrics-summary span, .training-viewer-list span { color: var(--muted); font-size: 10px; }
.training-metrics-summary b { font-size: 20px; }
.training-viewer-list { display: grid; gap: 7px; max-height: 52vh; overflow-y: auto; }
.training-viewer-list article { display: grid; grid-template-columns: minmax(0, 1fr) 130px 170px; align-items: center; gap: 12px; padding: 11px; border: 1px solid var(--border); border-radius: 7px; }
.training-viewer-list article > div { min-width: 0; display: grid; gap: 3px; }
.training-viewer-progress b { color: var(--primary-2); }
.training-viewer-list time { color: var(--muted); font-size: 10px; text-align: right; }
.training-manager-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.training-manager-form label { display: grid; gap: 5px; }
.training-manager-form label > span { color: var(--muted); font-size: 10px; }
.training-manager-form .full { grid-column: 1 / -1; }

@media print {
  body * { visibility: hidden !important; }
  #brokerReportSheet, #brokerReportSheet * { visibility: visible !important; }
  #brokerReportSheet { position: fixed; inset: 0; width: 210mm; height: 297mm; max-width: none; box-shadow: none; margin: 0; }
}
.supervisor-report-sheet header b, .supervisor-report-sheet header span, .supervisor-report-sheet header small { display: block; }
.supervisor-report-sheet header b { font-size: 18px; }
.supervisor-report-sheet header span, .supervisor-report-sheet small { color: #607080; }
.report-rule { height: 3px; margin: 12px 0; background: #0ea5a5; flex: 0 0 auto; }
.supervisor-report-sheet h3 { margin: 12px 0 6px; font-size: 11px; }
.report-numbers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.report-numbers span { padding: 7px; border: 1px solid #dce3ea; background: #f5f8fa; display: grid; gap: 2px; font-size: 9px; }
.report-numbers b { font-size: 11px; }
.report-table { width: 100%; border-collapse: collapse; font-size: 7.5px; }
.report-table th, .report-table td { padding: 4px 3px; border-bottom: 1px solid #dce3ea; text-align: left; white-space: nowrap; }
.report-table th { background: #eef3f6; color: #526273; text-transform: uppercase; font-size: 6.5px; }
.report-funnel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.report-funnel span { padding: 5px 3px; border: 1px solid #dce3ea; border-top: 2px solid #0ea5a5; background: #f8fafb; color: #526273; font-size: 6.7px; text-align: center; display: grid; gap: 1px; }
.report-funnel b { color: #17202b; font-size: 10px; }
.supervisor-report-sheet > footer { margin-top: auto; padding-top: 7px; border-top: 1px solid #dce3ea; color: #607080; font-size: 7px; display: flex; justify-content: space-between; }
.report-chart { height: 180px; padding: 20px 20px 0; border-left: 1px solid #cbd5df; border-bottom: 1px solid #cbd5df; display: flex; align-items: end; gap: 18px; }
.report-chart i { width: 13%; background: linear-gradient(#10b8a8, #0e8282); }
.supervisor-message-layout { grid-template-columns: minmax(300px, .8fr) minmax(350px, 1.2fr); }
.supervisor-message-form { display: grid; gap: 10px; }
.supervisor-history { display: grid; gap: 7px; }
.supervisor-history article { padding: 10px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-2); display: grid; gap: 3px; }
.supervisor-history span, .supervisor-history small { color: var(--muted); }
.message-read-status { color: #f5b301; }
.message-read-status.read { color: var(--success); }
.broker-message-modal { width: min(560px, calc(100vw - 24px)); }
.broker-message-modal .modal-card { width: 100%; }
.broker-message-body { padding: 20px; display: grid; gap: 10px; }
.broker-message-body > span { color: var(--muted); font-size: 10px; }
.broker-message-body > p { margin: 0; padding: 16px; border-left: 3px solid var(--primary); background: var(--surface-2); white-space: pre-wrap; line-height: 1.6; }
.rh-layout { height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; overflow: hidden; }
.rh-vacancy-editor, .rh-candidates-panel { min-height: 0; overflow: auto; }
.rh-editor-modal { width: min(820px, calc(100vw - 24px)); }
.rh-editor-modal .modal-card { width: 100%; max-width: none; max-height: min(92vh, 900px); overflow: hidden; }
.rh-editor-body { min-height: 0; overflow-y: auto; }
.rh-editor-body .rh-vacancy-editor { border: 0; border-radius: 0; box-shadow: none; }
.rh-editor-body .rh-vacancy-editor > header { padding-top: 0; }
.rh-vacancy-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.rh-vacancy-form label { display: grid; gap: 4px; }
.rh-vacancy-form label span { color: var(--muted); font-size: 10px; }
.rh-vacancy-form .full { grid-column: 1 / -1; }
.rh-kanban { min-width: 1120px; display: grid; grid-template-columns: repeat(7, minmax(150px, 1fr)); gap: 6px; }
.rh-lane { min-width: 0; padding: 6px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-2); }
.rh-lane > header { display: flex; justify-content: space-between; padding: 3px 2px 8px; }
.rh-lane > div { display: grid; gap: 6px; }
.rh-lane.drag-over { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--surface-2)); }
.rh-candidate-card { padding: 8px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); display: grid; gap: 6px; }
.rh-candidate-card.new { border-color: var(--primary); box-shadow: inset 3px 0 var(--primary); }
.rh-candidate-card header { display: flex; justify-content: space-between; gap: 5px; }
.rh-candidate-head-actions { display: flex; align-items: center; gap: 5px; }
.rh-candidate-head-actions em { color: var(--primary-2); font-size: 8px; font-style: normal; text-transform: uppercase; }
.rh-candidate-card header span { color: var(--primary-2); font-size: 8px; text-transform: uppercase; }
.rh-candidate-card small, .rh-candidate-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.35; overflow-wrap: anywhere; }
.rh-candidate-card > div { display: grid; gap: 5px; }
.rh-candidate-summary { min-width: 0; padding: 7px; border-radius: 4px; background: var(--surface-2); }
.rh-candidate-summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 9px; }
.rh-card-actions { display: flex !important; align-items: center; gap: 5px; min-width: 0; }
.rh-card-icon { width: 29px; height: 29px; flex: 0 0 29px; display: grid; place-items: center; padding: 6px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-2); color: var(--text); }
.rh-card-icon:hover { border-color: var(--primary); color: var(--primary-2); }.rh-card-icon.whatsapp { color: #21a366; }
.rh-card-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rh-card-actions > .btn.primary { flex: 1; min-width: 0; padding-inline: 6px; font-size: 8px; }
.rh-candidate-card[draggable="true"] { cursor: grab; }
.rh-candidate-card[draggable="true"]:active { cursor: grabbing; }
.rh-hire-pending { padding: 5px; border-radius: 4px; background: color-mix(in srgb, #f5b301 14%, transparent); color: #d99b00; font-size: 8px; line-height: 1.3; }
.rh-hire-pending.done { color: var(--success); background: color-mix(in srgb, var(--success) 12%, transparent); }
.rh-disc-waiting { padding: 5px; border-radius: 4px; background: color-mix(in srgb, #f5b301 14%, transparent); color: #d99b00; font-size: 8px; text-align: center; }
.rh-disc-result-btn { height: 29px; flex: 1; min-width: 52px; border: 1px solid color-mix(in srgb, var(--success) 55%, var(--border)); border-radius: 5px; background: color-mix(in srgb, var(--success) 12%, var(--surface)); color: var(--success); font-size: 9px; font-weight: 700; }
.rh-disc-result-btn b { margin-left: 4px; font-size: 11px; }
.rh-disc-modal .modal-card { width: min(680px, calc(100vw - 28px)); }
.rh-disc-result-body { display: grid; gap: 15px; padding: 18px; overflow: auto; }
.rh-disc-result-body h3 { margin: 2px 0 -5px; font-size: 13px; }
.rh-disc-match { display: flex; align-items: center; justify-content: space-between; padding: 17px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--border); }
.rh-disc-match div { display: grid; }.rh-disc-match span { color: var(--muted); font-size: 10px; }.rh-disc-match div b { font-size: 28px; color: var(--primary-2); }
.rh-disc-bars { display: grid; gap: 9px; }.rh-disc-bars > div { display: grid; grid-template-columns: 115px 1fr 35px; gap: 9px; align-items: center; font-size: 10px; }.rh-disc-bars i { height: 7px; overflow: hidden; border-radius: 10px; background: var(--surface-3); }.rh-disc-bars em { display: block; height: 100%; background: var(--primary); border-radius: inherit; }
.rh-disc-explanations { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.rh-disc-explanations article { padding: 10px; border-radius: 6px; background: var(--surface-2); border-left: 3px solid var(--primary); }.rh-disc-explanations b { font-size: 10px; }.rh-disc-explanations p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.rh-disc-indicators { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.rh-disc-indicators article { display: grid; gap: 3px; padding: 11px; border: 1px solid var(--border); border-radius: 6px; }.rh-disc-indicators span { color: var(--muted); font-size: 10px; }.rh-disc-indicators b { font-size: 12px; }
.rh-decline-composer { display: grid; gap: 9px; padding: 13px; border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--border)); border-radius: 7px; }.rh-decline-composer label { display: grid; gap: 6px; }.rh-decline-composer textarea { resize: vertical; }
.pending-hire-row { background: color-mix(in srgb, var(--primary) 7%, transparent); }
.public-vacancy-mode { min-height: 100vh; overflow: auto; background: #eef6f5; color: #17202b; }
.public-vacancy-mode > :not(.public-vacancy-screen) { display: none !important; }
.public-vacancy-screen { min-height: 100vh; padding: 24px; background: radial-gradient(circle at 10% 0, rgba(14,165,165,.2), transparent 32%), #eef6f5; }
.public-vacancy-page { width: min(1080px, 100%); margin: auto; }
.public-vacancy-page > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 0 22px; color: #526273; }
.public-vacancy-page > header img { width: 58px; height: 58px; object-fit: contain; }
.public-vacancy-page > header b { margin-right: auto; margin-left: 10px; color: #17202b; font-size: 15px; }
.public-vacancy-hero { min-height: 280px; padding: 42px; border-radius: 16px; background: linear-gradient(135deg, #0c262b, #0e8282); color: #fff; display: flex; align-items: center; }
.public-vacancy-hero span { color: #76e3d8; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.public-vacancy-hero h1 { max-width: 700px; margin: 10px 0; font-size: clamp(32px, 6vw, 62px); line-height: 1.02; }
.public-vacancy-hero p { max-width: 650px; margin: 0; font-size: 17px; line-height: 1.5; }
.public-vacancy-content { padding: 28px 0; display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 30px; }
.public-vacancy-content > article { padding: 16px 4px; }
.public-vacancy-content h2, .public-vacancy-content h3 { color: #17202b; }
.public-vacancy-content p { color: #526273; line-height: 1.7; white-space: pre-wrap; }
.public-vacancy-list { display: grid; gap: 8px; color: #334654; }
.public-application-form { padding: 22px; border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(14,47,52,.12); display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
.public-application-form h2, .public-application-form > p, .public-application-form .full, .public-application-form button, .public-application-form .auth-status { grid-column: 1 / -1; }
.public-application-form h2, .public-application-form > p { margin: 0; }
.public-application-form label { display: grid; gap: 5px; }
.public-application-form label span { color: #526273; font-size: 10px; }
#applicationWebsite { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

.team-calendar { width: 100%; min-width: 0; }
.team-calendar-view { overflow-y: auto; }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.calendar-form, .calendar-events { padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-2); box-shadow: var(--shadow); }
.calendar-form > header, .calendar-events > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.calendar-form h2, .calendar-events h2 { margin: 0 0 4px; font-size: 18px; }
.calendar-form header p, .calendar-events header p { margin: 0; color: var(--muted); font-size: 12px; }
.calendar-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.calendar-form-grid label { display: grid; gap: 5px; min-width: 0; }
.calendar-form-grid label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.calendar-form-grid input, .calendar-form-grid select, .calendar-form-grid textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); }
.calendar-form-grid .full { grid-column: 1 / -1; }
.calendar-event-list { display: grid; gap: 9px; max-height: 62vh; overflow-y: auto; }
.calendar-event-card { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.calendar-event-card time { display: grid; place-items: center; gap: 2px; padding: 8px 4px; border-radius: 10px; background: color-mix(in srgb, var(--primary) 14%, transparent); color: var(--primary); text-align: center; }
.calendar-event-card time b { font-size: 13px; text-transform: uppercase; }.calendar-event-card time span { font-size: 11px; }
.calendar-event-card h3 { margin: 3px 0; font-size: 14px; }.calendar-event-card p { margin: 0 0 4px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }.calendar-event-card small { color: var(--muted); overflow-wrap: anywhere; }
.calendar-event-type { color: var(--primary); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.calendar-form-status { display: inline-block; margin-left: 8px; }
.calendar-reminder-body { display: grid; gap: 10px; padding: 20px; }.calendar-reminder-body h3, .calendar-reminder-body p { margin: 0; }.calendar-reminder-body span { color: var(--muted); }
.calendar-editor-modal .modal-card { width: min(720px, calc(100vw - 24px)); }
.calendar-week-panel { min-width: 0; padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-2); box-shadow: var(--shadow); }
.calendar-week-header { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 14px; }
.calendar-week-header h2, .calendar-week-header p { margin: 0; }.calendar-week-header h2 { font-size: 19px; }.calendar-week-header p { margin-top: 4px; color: var(--muted); font-size: 11px; }
.calendar-week-header > div:last-child { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.calendar-week-grid { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); gap: 7px; min-width: 0; }
.calendar-day-column { min-width: 0; min-height: 430px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.calendar-day-column > header { display: flex; justify-content: space-between; align-items: center; padding: 9px; border-bottom: 1px solid var(--border); color: var(--muted); text-transform: capitalize; }
.calendar-day-column > header span { font-size: 10px; font-weight: 700; }.calendar-day-column > header b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; font-size: 12px; }
.calendar-day-column.today { border-color: var(--primary); }.calendar-day-column.today > header b { background: var(--primary); color: #fff; }
.calendar-day-column > div { display: grid; align-content: start; gap: 7px; padding: 7px; }
.calendar-day-empty { padding: 12px 3px; color: var(--muted); font-size: 9px; text-align: center; }
.calendar-week-event { min-width: 0; padding: 8px; border-left: 3px solid var(--primary); border-radius: 8px; background: color-mix(in srgb, var(--primary) 8%, var(--surface-2)); }
.calendar-week-event time { color: var(--primary); font-size: 10px; font-weight: 800; }.calendar-week-event h3 { margin: 3px 0; font-size: 11px; overflow-wrap: anywhere; }.calendar-week-event p, .calendar-week-event small { display: block; margin: 0 0 4px; color: var(--muted); font-size: 8px; overflow-wrap: anywhere; }.calendar-week-event button { margin-top: 4px; }
.lead-storefront { min-width: 0; width: 100%; }
#view-comprar_leads { height: 100%; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; }
#view-comprar_leads .lead-storefront { padding-bottom: 18px; }
.lead-store-header { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 16px; padding: 18px; border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 15%, var(--surface-2)), var(--surface-2)); }
.lead-store-header > div:first-child { display: grid; gap: 3px; }.lead-store-header span, .lead-store-header small { color: var(--muted); }.lead-store-header b { font-size: 28px; }.lead-store-header > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.lead-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(245px, 100%), 1fr)); gap: 13px; min-width: 0; }
.lead-offer-card { display: grid; gap: 12px; min-width: 0; max-width: 100%; overflow: hidden; padding: 15px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); box-shadow: var(--shadow); }
.lead-offer-card.reserved { opacity: .65; }.lead-offer-card > header, .lead-offer-card > footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-width: 0; }.lead-offer-card > header > * { min-width: 0; }.lead-offer-card > header > div { display: grid; justify-items: start; gap: 7px; }.lead-offer-card > header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.lead-offer-card > header span { flex: 0 0 auto; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--primary) 32%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); font-size: 9px; font-weight: 900; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }.lead-offer-card h3 { min-width: 0; margin: 0; overflow: hidden; color: var(--text); font-size: 20px; font-weight: 900; letter-spacing: .015em; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }.lead-offer-card dl { display: grid; gap: 7px; min-width: 0; margin: 0; }.lead-offer-card dl div { display: grid; grid-template-columns: minmax(72px, auto) minmax(0, 1fr); gap: 10px; min-width: 0; }.lead-offer-card dt { color: var(--muted); font-size: 10px; }.lead-offer-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: 11px; font-weight: 700; text-align: right; }.lead-offer-card footer > div { display: grid; min-width: 0; }.lead-offer-card footer .btn { flex: 0 0 auto; }.lead-offer-card footer b { font-size: 16px; }.lead-store-empty { grid-column: 1 / -1; }
.lead-purchase-history { display: grid; gap: 8px; max-height: 60vh; overflow-y: auto; padding: 14px; }.lead-purchase-history article { display: flex; justify-content: space-between; gap: 16px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; }.lead-purchase-history article > div { display: grid; gap: 3px; }.lead-purchase-history article > div:last-child { text-align: right; }.lead-purchase-history span, .lead-purchase-history small { color: var(--muted); font-size: 10px; }
.lead-marketplace-admin { min-height: 0; }.lead-admin-tabs { display: flex; gap: 6px; margin: 12px 0; }.lead-admin-tabs .active { border-color: var(--primary); color: var(--primary); }.lead-marketplace-admin td small { display: block; margin-top: 3px; color: var(--muted); }
.admin-list-search { display:flex; align-items:center; gap:9px; width:min(100%, 480px); margin:12px 0; padding:0 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); transition:border-color .18s ease, box-shadow .18s ease; }
.admin-list-search:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent); }
.admin-list-search > span { color:var(--muted); font-size:21px; line-height:1; transform:rotate(-20deg); }
.admin-list-search input { flex:1; min-width:0; height:42px; padding:0; border:0; outline:0; background:transparent; color:var(--text); font:inherit; }
.admin-list-search small { flex:none; color:var(--muted); white-space:nowrap; }
.lead-admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0; }
.lead-admin-toolbar .lead-admin-tabs, .lead-admin-toolbar .admin-list-search { margin:0; }
@media (max-width: 760px) { .lead-admin-toolbar { align-items:stretch; flex-direction:column; } .admin-list-search { width:100%; } }
.lead-offer-card footer del { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
.lead-wallet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; padding: 2px; }.lead-wallet-card { display: grid; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: 0 8px 22px rgba(15, 23, 42, .05); }.lead-wallet-card header, .lead-wallet-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.lead-wallet-card header > div { display: grid; min-width: 0; }.lead-wallet-card header b, .lead-wallet-card header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.lead-wallet-card header span { padding: 5px 8px; border-radius: 999px; background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); font-size: 10px; font-weight: 800; }.lead-wallet-card p { margin: 0; color: var(--muted); font-size: 11px; }.lead-wallet-balance { display: grid; gap: 3px; padding: 13px; border-radius: 11px; background: var(--surface-soft); }.lead-wallet-balance span { color: var(--muted); font-size: 10px; text-transform: uppercase; }.lead-wallet-balance b { font-size: clamp(20px, 3vw, 28px); }.lead-wallet-card footer { justify-content: flex-start; flex-wrap: wrap; }

@media (max-width: 760px) {
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-form, .calendar-events { padding: 12px; border-radius: 12px; }
  .calendar-event-list { max-height: none; }
  .calendar-event-card { grid-template-columns: 54px minmax(0, 1fr); }
  .calendar-event-card > button { grid-column: 2; justify-self: start; }
  .calendar-week-panel { padding: 10px; overflow-x: auto; }
  .calendar-week-header { min-width: 700px; align-items: flex-start; }
  .calendar-week-grid { min-width: 900px; }
  .calendar-day-column { min-height: 360px; }
  .calendar-form-grid { grid-template-columns: 1fr; }.calendar-form-grid .full { grid-column: auto; }
  .lead-store-header { align-items: flex-start; flex-direction: column; }.lead-store-header > div:last-child { width: 100%; }.lead-store-header .btn { flex: 1; }.lead-store-grid { grid-template-columns: 1fr; }
}
.application-success { grid-column: 1 / -1; min-height: 300px; display: grid; place-content: center; justify-items: center; gap: 10px; text-align: center; }
.application-success > span { width: 58px; height: 58px; border-radius: 50%; background: #0e9f6e; color: #fff; display: grid; place-items: center; font-size: 30px; }
.application-success h2, .application-success p, .application-success small { margin: 0; }
.application-success p { max-width: 330px; color: #526273; line-height: 1.5; }
.application-success small { color: #0e9f6e; }
@media (min-width: 901px) and (min-height: 680px) {
  .public-vacancy-screen { height: 100vh; overflow: hidden; }
  .public-vacancy-page { height: 100%; display: grid; grid-template-rows: 70px 210px minmax(0, 1fr); }
  .public-vacancy-page > header { padding: 5px 0 8px; }
  .public-vacancy-page > header img { width: 48px; height: 48px; }
  .public-vacancy-hero { min-height: 0; padding: 26px 36px; }
  .public-vacancy-hero h1 { font-size: clamp(30px, 4vw, 48px); }
  .public-vacancy-content { min-height: 0; padding: 14px 0 0; gap: 22px; overflow: hidden; }
  .public-vacancy-content > article, .public-application-form { min-height: 0; overflow-y: auto; }
  .public-vacancy-content > article { padding: 4px; }
  .public-vacancy-content h2 { margin-top: 4px; }
  .public-vacancy-content h3 { margin: 14px 0 7px; }
  .public-application-form { padding: 15px 18px; gap: 7px 10px; }
  .public-application-form textarea { min-height: 55px; }
}
.supervisor-modal { width: min(620px, calc(100vw - 24px)); }
.supervisor-modal-body { max-height: min(64vh, 560px); overflow-y: auto; padding: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.supervisor-modal-body article { padding: 9px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); display: grid; gap: 3px; }
.supervisor-modal-body span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
body.supervisor-mode .supervisor-screen.sidebar-collapsed { grid-template-columns: 70px minmax(0, 1fr); }
.supervisor-screen.sidebar-collapsed .supervisor-sidebar { padding-inline: 14px; align-items: center; }
.supervisor-screen.sidebar-collapsed .supervisor-brand { width: 42px; grid-template-columns: 1fr; justify-items: center; }
.supervisor-screen.sidebar-collapsed .supervisor-brand img, .supervisor-screen.sidebar-collapsed .supervisor-brand-text { display: none; }
.supervisor-screen.sidebar-collapsed .supervisor-icon-btn svg { transform: rotate(180deg); }
.supervisor-screen.sidebar-collapsed .supervisor-nav { width: 42px; }
.supervisor-screen.sidebar-collapsed .supervisor-nav-item, .supervisor-screen.sidebar-collapsed .supervisor-logout { width: 42px; padding: 0; justify-content: center; }
.supervisor-screen.sidebar-collapsed .supervisor-nav-item b, .supervisor-screen.sidebar-collapsed .supervisor-logout b { display: none; }
.supervisor-screen.sidebar-collapsed .supervisor-nav-group-title { display: none; }
.supervisor-screen.sidebar-collapsed .supervisor-sidebar-footer { width: 42px; }
.supervisor-screen.sidebar-collapsed .supervisor-settings-item { width: 42px; padding: 0; justify-content: center; }
.supervisor-screen.sidebar-collapsed .supervisor-settings-item b { display: none; }
.supervisor-screen.sidebar-collapsed .supervisor-nav-item span, .supervisor-screen.sidebar-collapsed .supervisor-logout span { width: 20px; }

.supervisor-access-card { border-top: 3px solid var(--primary); }
.supervisor-brokers-table { min-width: 900px; }
.supervisor-broker-actions, .supervisor-client-actions { display: flex; gap: 5px; align-items: center; flex-wrap: nowrap; }
.icon-action-btn { width: 28px; height: 28px; min-width: 28px; padding: 0 !important; display: inline-grid; place-items: center; border-radius: 6px; }
.icon-action-btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.icon-action-btn:hover { transform: translateY(-1px); }
.supervisor-token-cell { display: flex; align-items: center; gap: 5px; min-width: 0; }
.supervisor-token-cell code { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.access-limit-card header > div { display: grid; justify-items: start; gap: 5px; }
.access-limit-icon { width: 42px; height: 42px; margin-bottom: 3px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--warning) 14%, var(--surface-2)); color: var(--warning); }
.access-limit-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.access-limit-body { padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); display: grid; gap: 4px; }
.access-limit-body p { margin: 0; color: var(--muted); line-height: 1.5; }
.supervisor-token-cell { min-width: 0; display: flex; align-items: center; gap: 5px; }
.supervisor-token-cell code { font-size: 10px; white-space: nowrap; }
.supervisor-token-cell > span { color: var(--muted); font-size: 9px; white-space: normal; }
.supervisor-clients-layout { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; }
.supervisor-client-metrics { grid-template-columns: repeat(5, minmax(110px, 1fr)); }
.supervisor-client-list-panel { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; }
.supervisor-client-toolbar { min-height: 50px; height: auto; flex-wrap: wrap; align-content: center; }
.supervisor-client-toolbar .search { min-width: 230px; flex: 1 1 260px; }
.supervisor-clients-table-frame { min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.supervisor-clients-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.supervisor-clients-table th, .supervisor-clients-table td { height: 44px; min-width: 0; padding: 4px; border-bottom: 1px solid var(--border); text-align: left; white-space: nowrap; vertical-align: middle; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }
.supervisor-clients-table th { position: sticky; top: 0; z-index: 2; background: var(--surface-2); color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.supervisor-clients-table th:nth-child(1), .supervisor-clients-table td:nth-child(1) { width: 3%; text-align: center; }
.supervisor-clients-table th:nth-child(2), .supervisor-clients-table td:nth-child(2) { width: 15%; }
.supervisor-clients-table th:nth-child(3), .supervisor-clients-table td:nth-child(3) { width: 12%; }
.supervisor-clients-table th:nth-child(4), .supervisor-clients-table td:nth-child(4) { width: 6%; }
.supervisor-clients-table th:nth-child(5), .supervisor-clients-table td:nth-child(5) { width: 8%; }
.supervisor-clients-table th:nth-child(6), .supervisor-clients-table td:nth-child(6) { width: 5%; }
.supervisor-clients-table th:nth-child(7), .supervisor-clients-table td:nth-child(7) { width: 9%; }
.supervisor-clients-table th:nth-child(8), .supervisor-clients-table td:nth-child(8) { width: 10%; }
.supervisor-clients-table th:nth-child(9), .supervisor-clients-table td:nth-child(9) { width: 10%; }
.supervisor-clients-table th:nth-child(10), .supervisor-clients-table td:nth-child(10) { width: 22%; }
.supervisor-client-name { display: grid; gap: 2px; }
.supervisor-client-name b, .supervisor-client-name span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supervisor-client-name span { color: var(--muted); font-size: 8.5px; }
.supervisor-product-icons { display: flex; gap: 4px; }
.supervisor-product-icons .supervisor-product-btn { border-radius: 4px; }
.supervisor-clients-table .product-icon-button { width: 21px; height: 21px; flex-basis: 21px; }
.supervisor-row-action { width: 23px; height: 23px; flex: 0 0 23px; padding: 0; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--text); font-size: 12px; }
.supervisor-row-action:hover { border-color: var(--primary); color: var(--primary-2); }
.supervisor-product-folder { padding: 14px; display: grid; gap: 12px; }
.supervisor-product-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.supervisor-product-details article { padding: 9px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); display: grid; gap: 3px; }
.supervisor-product-details span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.supervisor-product-folder > section { border: 1px solid var(--border); border-radius: 5px; padding: 10px; }
.supervisor-product-folder > section > header { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.supervisor-product-folder > section > header b, .supervisor-product-folder > section > header span { display: block; }
.supervisor-product-folder > section > header span { color: var(--muted); font-size: 10px; }
.supervisor-document-list { display: grid; gap: 6px; margin-top: 9px; }
.supervisor-document-row { padding: 8px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.supervisor-document-row span { color: var(--muted); font-size: 10px; }
.supervisor-form-modal { width: min(720px, calc(100vw - 24px)); }
.supervisor-product-folder-modal { width: min(760px, calc(100vw - 24px)); }
.supervisor-operation-content { min-height: 100%; display: grid; align-content: start; gap: 8px; }
.supervisor-operation-content:has(.supervisor-shared-view) { height: 100%; align-content: stretch; }
.supervisor-operation-content > .supervisor-shared-view { display: block !important; width: 100%; height: 100%; padding: 0; }
.supervisor-operation-content > #view-soon.supervisor-shared-view { display: grid !important; place-items: center; }
.supervisor-operation-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid var(--border); background: var(--surface); }
.supervisor-operation-header h2 { margin: 0; font-size: 16px; }
.supervisor-operation-header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.supervisor-operation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.supervisor-operation-grid article { min-width: 0; padding: 12px; border: 1px solid var(--border); background: var(--surface); display: grid; gap: 5px; }
.supervisor-operation-grid span { color: var(--muted); font-size: 10px; }
.company-settings-form { width: 100%; display: grid; gap: 8px; }
.company-settings-section { padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.company-settings-section > header { margin-bottom: 16px; padding-bottom: 11px; border-bottom: 1px solid var(--border); }
.company-settings-section h2 { margin: 0; font-size: 14px; }
.company-settings-section header p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.company-settings-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.company-settings-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.company-identity-form { max-width: none; }
.company-identity-grid { grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) 150px minmax(180px, .65fr); gap: 14px; align-items: stretch; }
.company-identity-grid > label, .company-preview-field { grid-template-rows: 14px 38px 16px; align-content: start; }
.company-identity-grid small { color: var(--muted-2); font-size: 9px; line-height: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-preview-field { min-width: 0; display: grid; gap: 4px; }
.company-preview-field > span { color: var(--muted); font-size: 10px; line-height: 14px; text-transform: uppercase; letter-spacing: .04em; }
.company-logo-preview { min-height: 38px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-2); display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 8px; align-items: center; }
.company-logo-preview img { width: 42px; height: 28px; object-fit: contain; }
.company-logo-preview b { color: var(--text); font-size: 10px; font-weight: 600; }
.company-settings-grid label, .company-message-field { min-width: 0; display: grid; gap: 4px; }
.company-settings-grid label > span, .company-message-field > span, .company-appearance-grid label > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.company-settings-grid input, .company-message-field textarea { width: 100%; border: 1px solid var(--border-strong); background: var(--surface-2); color: var(--text); padding: 0 9px; outline: none; }
.company-settings-grid input { height: 38px; border-radius: 6px; }
.company-message-field textarea { padding-block: 8px; resize: vertical; }
.company-upload-field { grid-template-columns: 1fr; align-items: start; }
.company-upload-field input { display: none; }
.company-upload-field .btn { width: 100%; min-height: 38px; border-radius: 6px; }
.company-color-field input[type="color"] { width: 100%; height: 38px; padding: 4px; cursor: pointer; }
.company-color-field input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.company-color-field input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 4px; }
.company-appearance-grid { display: grid; grid-template-columns: 180px 180px minmax(220px, 1fr); gap: 12px; align-items: end; }
.company-appearance-grid > label { display: grid; grid-template-columns: 1fr 44px; gap: 8px; align-items: center; }
.company-appearance-grid input[type="color"] { width: 44px; height: 34px; border: 1px solid var(--border); background: var(--surface-2); }
.company-appearance-grid fieldset { min-height: 42px; display: flex; align-items: center; gap: 18px; border: 1px solid var(--border); }
.company-appearance-grid legend { color: var(--muted); font-size: 10px; }
.company-settings-actions { position: sticky; bottom: 0; min-height: 58px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-soft); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.company-settings-actions .auth-status { margin: 0; min-height: 34px; display: flex; align-items: center; }
.company-settings-actions .btn { min-height: 38px; padding-inline: 18px; }
.company-background-picker { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); gap: 10px; }
.company-background-option { min-width: 0; position: relative; display: grid; gap: 7px; cursor: pointer; }
.company-background-option input { position: absolute; opacity: 0; pointer-events: none; }
.company-background-thumb { height: 92px; border: 2px solid transparent; border-radius: 9px; background-image: linear-gradient(rgba(7,22,17,.08),rgba(7,22,17,.22)),var(--thumb); background-size: cover; background-position: center; box-shadow: 0 8px 18px rgba(0,0,0,.18); transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.company-background-option:hover .company-background-thumb { transform: translateY(-2px); }
.company-background-option input:focus-visible + .company-background-thumb { outline: 3px solid color-mix(in srgb,var(--primary) 45%,transparent); outline-offset: 2px; }
.company-background-option input:checked + .company-background-thumb { border-color: var(--primary-2); box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent),0 10px 22px rgba(0,0,0,.24); }
.company-background-option b { color: var(--text); font-size: 10px; line-height: 1.25; font-weight: 600; text-align: center; }
.company-background-option.no-background .company-background-thumb { position: relative; background: repeating-linear-gradient(135deg,var(--surface-2) 0 9px,var(--surface-3) 9px 18px); }
.company-background-option.no-background .company-background-thumb::after { content:""; position:absolute; inset:50% auto auto 50%; width:34px; height:2px; background:var(--muted); transform:translate(-50%,-50%) rotate(-35deg); border-radius:2px; }
.broker-personalization-panel { margin-bottom: 10px; padding: 16px; display: grid; gap: 16px; }
.broker-personalization-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.broker-personalization-panel h2 { margin: 0; font-size: 16px; }
.broker-personalization-panel header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.broker-profile-photo { width: 58px; height: 58px; flex: 0 0 58px; overflow: hidden; border: 2px solid color-mix(in srgb,var(--primary) 68%,var(--border)); border-radius: 50%; background: var(--surface-3); display: grid; place-items: center; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.broker-profile-photo img,.broker-profile-photo span { grid-area: 1/1; width: 100%; height: 100%; }
.broker-profile-photo img { object-fit: cover; }
.broker-profile-photo span { display: grid; place-items: center; color: var(--text); font-size: 16px; font-weight: 700; }
.brand img.broker-personal-photo { border: 2px solid color-mix(in srgb,var(--company-sidebar-icon,#a2f8d2) 70%,transparent); border-radius: 50%; object-fit: cover; box-shadow: 0 5px 14px rgba(0,0,0,.24); }
.brand img.company-custom-photo,
.supervisor-brand img.company-custom-photo { aspect-ratio: 1; border: 2px solid color-mix(in srgb,var(--company-sidebar-icon,#a2f8d2) 70%,transparent); border-radius: 50%; object-fit: cover; box-shadow: 0 5px 14px rgba(0,0,0,.24); }
.company-logo-preview img.company-custom-photo { width: 32px; height: 32px; justify-self: center; border-radius: 50%; object-fit: cover; }
.broker-personalization-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.broker-personalization-grid > label { min-width: 0; display: grid; grid-template-rows: 14px 38px 16px; gap: 4px; }
.broker-personalization-grid label > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.broker-personalization-grid input,.broker-personalization-grid select { min-width: 0; width: 100%; height: 38px; padding: 0 9px; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--surface-2); color: var(--text); }
.broker-personalization-grid input[readonly] { color: var(--muted); cursor: not-allowed; }
.broker-personalization-grid small { color: var(--muted-2); font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.broker-background-picker { padding-top: 4px; }
.broker-background-picker legend { margin-bottom: 9px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.broker-personalization-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.broker-personalization-actions .auth-status { margin: 0; }
.broker-photo-editor-modal .modal-card { width: min(460px,calc(100vw - 24px)); }
.broker-photo-editor-body { padding: 18px; display: grid; justify-items: center; gap: 14px; }
.broker-photo-crop-stage { width: min(320px,76vw); aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #111; box-shadow: 0 0 0 7px var(--surface-3),0 14px 32px rgba(0,0,0,.3); touch-action: none; }
.broker-photo-crop-stage canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.broker-photo-crop-stage canvas:active { cursor: grabbing; }
.broker-photo-editor-body label { width: min(320px,76vw); display: grid; gap: 7px; }
.broker-photo-editor-body label span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.broker-photo-editor-body input[type="range"] { width: 100%; accent-color: var(--primary); }
.broker-photo-editor-body > small { color: var(--muted-2); font-size: 10px; text-align: center; }
.connect-token-wrap { position: relative; display: block; }
.connect-token-wrap input { width: 100%; padding-right: 42px; }
.connect-token-wrap .token-eye { position: absolute; top: 50%; right: 5px; width: 32px; height: 30px; transform: translateY(-50%); border: 0; background: transparent; color: var(--muted); }
.connect-token-wrap .token-eye:hover,.connect-token-wrap .token-eye.revealed { color: var(--primary-2); }
.broker-goal-header { min-width: 470px; display: grid; grid-template-columns: 1fr 1.35fr 1.35fr; gap: 3px 15px; align-items: end; }
.broker-goal-header span { display: grid; gap: 2px; color: var(--muted); font-size: 9px; line-height: 1; text-transform: uppercase; letter-spacing: .04em; }
.broker-goal-header b { color: var(--text); font-size: 12px; line-height: 16px; text-transform: none; }
.broker-goal-header strong { font: inherit; color: inherit; }
.broker-goal-header i { grid-column: 1/-1; height: 4px; overflow: hidden; border-radius: 5px; background: var(--surface-3); }
.broker-goal-header em { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--primary),var(--primary-2)); transition: width .35s ease; }
.top-actions > #topLogoutBtn { width: 34px; min-width: 34px; padding: 0; display: grid; place-items: center; }
.top-actions > #topLogoutBtn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media(max-width:900px){.broker-goal-header{min-width:315px;grid-template-columns:repeat(3,1fr);gap-inline:7px}.broker-goal-header span{font-size:7px}.broker-goal-header b{font-size:10px}}

body[data-company-background]:not([data-company-background="none"]) .app,
body[data-company-background]:not([data-company-background="none"]).supervisor-mode .supervisor-screen { position: relative; background-image: linear-gradient(var(--company-bg-overlay),var(--company-bg-overlay)),var(--company-background-image); background-size: cover; background-position: center; background-attachment: fixed; }
body[data-company-background]:not([data-company-background="none"]) { --company-bg-overlay: rgba(13,18,16,.68); }
[data-theme="light"] body[data-company-background]:not([data-company-background="none"]) { --company-bg-overlay: rgba(235,242,238,.58); }
body[data-company-background]:not([data-company-background="none"]) .content-frame,
body[data-company-background]:not([data-company-background="none"]) .flat-panel,
body[data-company-background]:not([data-company-background="none"]) .metric,
body[data-company-background]:not([data-company-background="none"]) .supervisor-card,
body[data-company-background]:not([data-company-background="none"]) .supervisor-kpis article,
body[data-company-background]:not([data-company-background="none"]) .supervisor-goal-summary article,
body[data-company-background]:not([data-company-background="none"]) .kanban-card { background: color-mix(in srgb,var(--surface) 91%,transparent); backdrop-filter: blur(12px) saturate(110%); -webkit-backdrop-filter: blur(12px) saturate(110%); }
@media(max-width:1050px){.company-background-picker{grid-template-columns:repeat(3,minmax(110px,1fr))}}
@media(max-width:900px){.broker-personalization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.company-background-picker{grid-template-columns:repeat(2,minmax(110px,1fr))}.company-background-thumb{height:76px}.broker-personalization-grid{grid-template-columns:1fr}.broker-personalization-actions{align-items:stretch;flex-direction:column}.broker-personalization-actions .btn{width:100%}}
.broker-branding-banner { height: 62px; position: relative; overflow: hidden; border: 1px solid var(--border); background: var(--surface); display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 12px; }
.broker-branding-banner[hidden] { display: none; }
.broker-branding-banner > img { width: 44px; height: 44px; object-fit: contain; position: relative; z-index: 1; }
.broker-branding-banner > div, .broker-branding-banner > article { position: relative; z-index: 1; }
.broker-branding-banner h2 { margin: 0; font-size: 15px; }
.broker-branding-banner p { margin: 2px 0 0; color: var(--muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.broker-branding-banner span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.broker-branding-banner > article { min-width: 130px; text-align: right; display: grid; }
.broker-branding-banner:not([hidden]) + .crm-layout { height: calc(100% - 70px); margin-top: 8px; }
.broker-branding-banner.has-background::before { content: ""; position: absolute; inset: 0; background: var(--company-banner) center/cover; opacity: .17; }
.team-upgrade-panel { max-width: none; width: 100%; margin: 0; }
.view.team-upgrade-panel { display: none; }
.view.team-upgrade-panel.active { display: grid; }
.team-upgrade-panel[hidden] { display: none; }
.team-upgrade-panel strong { color: var(--primary-2); }
.team-upgrade-panel .btn { justify-self: auto; margin-top: 0; }
@media (max-width: 900px) {
  .supervisor-kpis { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
  .supervisor-dashboard-analytics { grid-template-columns: 1fr; }
  .supervisor-top-actions label:first-child { display: none; }
  .supervisor-report-layout, .supervisor-message-layout { grid-template-columns: 1fr; }
  .supervisor-view.active.supervisor-report-layout { grid-template-rows: auto auto; overflow: auto; }
  .supervisor-report-preview { height: auto; overflow: visible; }
  .supervisor-report-sheet { width: min(100%, 560px); height: auto; }
  .supervisor-client-metrics { grid-template-columns: repeat(2, minmax(110px, 1fr)); }
  .company-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .broker-report-layout { height: auto; grid-template-columns: 1fr; overflow: auto; }
  .broker-report-preview { overflow: visible; }
  .broker-report-sheet { width: min(100%, 560px); height: auto; }
  .training-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-admin-layout { grid-template-columns: 1fr; }
  .rh-layout { height: auto; grid-template-columns: 1fr; overflow: auto; }
  .rh-candidates-panel { overflow-x: auto; }
  .public-vacancy-content { grid-template-columns: 1fr; }
}

/* Ajustes de legibilidade mobile — metas, funis, clientes e KPIs */
@media (max-width: 600px) {
  .public-vacancy-screen { padding: 12px; }
  .public-vacancy-hero { min-height: 230px; padding: 24px; border-radius: 10px; }
  .public-vacancy-content { padding-top: 14px; gap: 12px; }
  .public-application-form { grid-template-columns: 1fr; padding: 16px; }
  .public-application-form > * { grid-column: 1 !important; }
  .rh-vacancy-form { grid-template-columns: 1fr; }
  .rh-vacancy-form > * { grid-column: 1 !important; }
  .training-library { height: auto; overflow: visible; }
  .training-library-header { align-items: stretch; flex-direction: column; }
  .training-library-actions { align-items: stretch; flex-direction: column; }
  .training-library-header select { width: 100%; }
  .training-tracks { overflow: visible; }
  .training-card-grid { grid-template-columns: 1fr; }
  .training-admin-item { grid-template-columns: 76px minmax(0, 1fr); }
  .training-admin-item img { width: 76px; }
  .training-admin-item .admin-master-actions { grid-column: 1 / -1; }
  .training-metrics-summary { grid-template-columns: 1fr; }
  .training-viewer-list article { grid-template-columns: 1fr auto; }
  .training-viewer-list time { grid-column: 1 / -1; text-align: left; }
  .training-manager-form { grid-template-columns: 1fr; }
  .training-manager-form .full { grid-column: auto; }
  /* Supervisor: metas sem sobreposição */
  body.supervisor-mode .supervisor-goal-summary { grid-template-columns: 1fr; }
  body.supervisor-mode .supervisor-goal-summary article { min-height: 72px; align-content: center; }
  body.supervisor-mode .supervisor-goal-summary span,
  body.supervisor-mode .supervisor-goal-summary small { white-space: normal; line-height: 1.3; }
  body.supervisor-mode .supervisor-goal-summary b { font-size: 16px; line-height: 1.2; }
  body.supervisor-mode .supervisor-goal-row {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 8px 0;
    align-items: stretch;
  }
  body.supervisor-mode .supervisor-goal-row > b,
  body.supervisor-mode .supervisor-goal-row > span { max-width: 100%; white-space: normal; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
  body.supervisor-mode .supervisor-progress { width: 100%; min-width: 0; }

  /* Supervisor: Kanban conserva a largura das colunas e rola lateralmente */
  body.supervisor-mode #supervisor-view-funnel,
  body.supervisor-mode #supervisor-view-funnel.active {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  body.supervisor-mode .supervisor-kanban {
    width: max-content;
    min-width: max-content;
    height: 100%;
    display: flex;
    gap: 8px;
    overflow: visible;
    padding: 0 2px 6px;
  }
  body.supervisor-mode .supervisor-lane {
    flex: 0 0 238px;
    width: 238px;
    min-width: 238px;
    padding: 8px;
    scroll-snap-align: start;
  }
  body.supervisor-mode .supervisor-lane > header { font-size: 10px; }
  body.supervisor-mode .supervisor-lane > header b,
  body.supervisor-mode .supervisor-lane-total b,
  body.supervisor-mode .supervisor-lane-total span { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.25; }
  body.supervisor-mode .supervisor-lane-total b,
  body.supervisor-mode .supervisor-lane-total span { font-size: 8.5px; }

  /* Supervisor: Todos os clientes usa tabela legível com rolagem lateral */
  body.supervisor-mode .supervisor-clients-layout { grid-template-rows: auto minmax(0, 1fr); }
  body.supervisor-mode .supervisor-client-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.supervisor-mode .supervisor-client-metrics article { min-height: 58px; align-content: center; }
  body.supervisor-mode .supervisor-client-toolbar { flex-wrap: nowrap; overflow-x: auto; padding: 7px; }
  body.supervisor-mode .supervisor-client-toolbar > * { flex: 0 0 auto; }
  body.supervisor-mode .supervisor-client-toolbar .search { width: 180px; min-width: 180px; }
  body.supervisor-mode .supervisor-clients-table-frame {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.supervisor-mode .supervisor-clients-table {
    width: 1120px;
    min-width: 1120px;
    table-layout: auto;
  }
  body.supervisor-mode .supervisor-clients-table th,
  body.supervisor-mode .supervisor-clients-table td {
    width: auto !important;
    min-width: 78px;
    max-width: 220px;
    height: 46px;
    padding: 6px 8px;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.supervisor-mode .supervisor-clients-table th:nth-child(2),
  body.supervisor-mode .supervisor-clients-table td:nth-child(2) { min-width: 180px; }
  body.supervisor-mode .supervisor-clients-table th:nth-child(3),
  body.supervisor-mode .supervisor-clients-table td:nth-child(3) { min-width: 140px; }
  body.supervisor-mode .supervisor-clients-table th:last-child,
  body.supervisor-mode .supervisor-clients-table td:last-child { min-width: 190px; }
  body.supervisor-mode .supervisor-client-name b,
  body.supervisor-mode .supervisor-client-name span { max-width: 165px; font-size: 10px; }

  /* Corretor: KPIs inteiros e carteira de clientes legível */
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-layout {
    min-height: 0;
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 7px;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-metrics .metric {
    min-width: 0;
    min-height: 58px;
    padding: 7px;
    align-content: center;
    overflow: visible;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-metrics .metric span,
  body:not(.admin-master-mode):not(.supervisor-mode) .client-metrics .metric small {
    max-width: 100%;
    font-size: 8px;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-metrics .metric b {
    max-width: 100%;
    font-size: 14px;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-main-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(330px, 1fr) auto;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-list-panel { min-width: 0; grid-template-rows: auto minmax(0, 1fr); }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-toolbar { flex-wrap: nowrap; overflow-x: auto; padding: 7px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-toolbar > * { flex: 0 0 auto; }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-toolbar .search { width: 180px; min-width: 180px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table-frame {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table {
    width: 900px !important;
    min-width: 900px !important;
    table-layout: auto !important;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table th,
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table td {
    width: auto !important;
    min-width: 82px;
    max-width: 210px;
    padding: 6px 8px !important;
    font-size: 10px;
    overflow: hidden !important;
    text-overflow: ellipsis;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table th:first-child,
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table td:first-child { min-width: 190px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table th:last-child,
  body:not(.admin-master-mode):not(.supervisor-mode) .clients-table td:last-child { min-width: 165px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-name-only b,
  body:not(.admin-master-mode):not(.supervisor-mode) .client-name-only span {
    max-width: 170px;
    font-size: 10px;
    white-space: nowrap;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .client-charts-panel { min-height: 360px; }
}
@media (max-width: 560px) {
  .supervisor-topbar { align-items: flex-start; }
  .supervisor-top-actions { flex-wrap: wrap; justify-content: flex-end; }
  .supervisor-top-actions select { min-width: 110px; }
  .supervisor-kpis, .supervisor-goal-summary { grid-template-columns: 1fr; }
  .supervisor-access-form, .supervisor-goal-row { grid-template-columns: 1fr; }
  .supervisor-content { padding: 8px; }
  .supervisor-report-sheet { padding: 22px; }
  .supervisor-product-details { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  body.auth-locked .auth-screen { padding: 14px; }
  .auth-card { padding: 18px; }
  .auth-brand { grid-template-columns: 44px minmax(0, 1fr); }
  .auth-brand img { width: 44px; height: 44px; }
  .auth-brand h1 { font-size: 20px; }
}

/* v4.3 - Área Admin Master */
body.admin-mode { overflow: hidden; }
body.admin-mode .app,
body.admin-mode .auth-screen { display: none !important; }
body.admin-mode .admin-screen {
  height: 100vh;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  background:
    linear-gradient(90deg, rgba(14,165,165,.08), transparent 360px),
    var(--bg);
}
.admin-screen[hidden] { display: none !important; }
.admin-aside {
  min-width: 0;
  background: var(--bg-soft);
  border-right: 1px solid var(--border);
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.admin-logo-block { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 12px; }
.admin-logo-block img { width: 46px; height: 46px; object-fit: contain; }
.admin-logo-block b { display: block; font-size: 16px; }
.admin-logo-block span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.admin-note {
  margin-top: 10px;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  display: grid;
  gap: 4px;
}
.admin-note span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.admin-note b { font-size: 12px; line-height: 1.35; }
.btn.full { width: 100%; justify-content: center; }
.admin-main {
  min-width: 0;
  height: 100vh;
  overflow: auto;
  padding: 18px;
}
.admin-login-panel { min-height: calc(100vh - 36px); display: grid; place-items: center; }
.admin-login-card {
  width: min(100%, 460px);
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 8px;
  padding: 22px;
  display: grid;
  gap: 14px;
}
.admin-login-title h1,
.admin-topbar h1 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
.admin-login-title p,
.admin-topbar p,
.admin-card-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.admin-field,
.admin-create-grid label { display: grid; gap: 6px; }
.admin-field span,
.admin-create-grid span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.admin-field input,
.admin-create-grid input {
  height: 38px;
  border: 1px solid var(--border-strong);
  background: var(--surface-2);
  color: var(--text);
  border-radius: 4px;
  padding: 0 10px;
  outline: none;
}
.auth-admin-link {
  border: 0;
  background: transparent;
  color: var(--primary-2);
  justify-self: center;
  font-size: 12px;
  padding: 2px 4px;
}
.auth-admin-link:hover { text-decoration: underline; }
.admin-dashboard { display: grid; gap: 12px; }
.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0 8px;
}
.admin-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 8px;
}
.admin-metric {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 12px;
  display: grid;
  gap: 2px;
  min-width: 0;
}
.admin-metric span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.admin-metric b { font-size: 20px; line-height: 1.1; }
.admin-metric small { color: var(--muted-2); font-size: 11px; }
.admin-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 12px;
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}
.admin-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.admin-card-head h2 { margin: 0; font-size: 15px; }
.admin-create-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 140px;
  gap: 8px;
  align-items: end;
}
.admin-created-token {
  margin-top: 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px;
  background: rgba(14,165,165,.08);
  border: 1px solid rgba(14,165,165,.25);
  border-radius: 5px;
}
.admin-created-token span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.admin-created-token code,
.admin-token-cell code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: var(--text);
}
.admin-created-token small { grid-column: 2 / 4; color: var(--muted); font-size: 11px; }
.admin-table-wrap { overflow: auto; max-height: calc(100vh - 390px); border: 1px solid var(--border); border-radius: 5px; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.admin-table th,
.admin-table td { border-bottom: 1px solid var(--border); padding: 9px 8px; text-align: left; vertical-align: middle; }
.admin-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.admin-table tr:last-child td { border-bottom: 0; }
.admin-person { display: grid; gap: 2px; min-width: 0; }
.admin-person b { font-size: 13px; }
.admin-person span,
.admin-person small { color: var(--muted); font-size: 11px; }
.admin-funnel-mini { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.admin-funnel-mini span {
  min-width: 40px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 3px;
  justify-content: center;
  align-items: center;
  padding: 4px 5px;
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--muted);
  font-size: 10px;
  background: var(--surface-2);
}
.admin-funnel-mini b { color: var(--text); font-size: 11px; }
.admin-token-cell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; max-width: 240px; }
.tiny-btn {
  min-height: 26px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 11px;
}
.tiny-btn:hover { border-color: var(--primary); }
.tiny-btn.danger { border-color: color-mix(in srgb, var(--danger) 65%, var(--border)); color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, var(--surface-2)); }
.tiny-btn.warning { border-color: color-mix(in srgb, var(--warning) 65%, var(--border)); color: var(--warning); background: color-mix(in srgb, var(--warning) 10%, var(--surface-2)); }
.tiny-btn.success { border-color: color-mix(in srgb, var(--ok) 65%, var(--border)); color: var(--ok); background: color-mix(in srgb, var(--ok) 10%, var(--surface-2)); }
.empty-admin-row { color: var(--muted); text-align: center !important; padding: 22px !important; }
@media (max-width: 1000px) {
  body.admin-mode .admin-screen { grid-template-columns: 1fr; }
  .admin-aside { position: static; border-right: 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 1fr auto auto; align-items: center; }
  .admin-note { display: none; }
  .admin-main { height: calc(100vh - 84px); }
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-create-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .admin-main { padding: 12px; }
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-card-head, .admin-topbar { align-items: stretch; flex-direction: column; }
  .admin-aside { grid-template-columns: 1fr; }
}


.terms-modal { width: min(760px, calc(100vw - 24px)); }
.terms-card { max-height: min(760px, calc(100vh - 28px)); }
.terms-body {
  padding: 14px;
  overflow: auto;
  display: grid;
  gap: 10px;
  line-height: 1.45;
}
.terms-body h3 {
  margin: 4px 0 0;
  font-size: 13px;
  letter-spacing: .02em;
}
.terms-body p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

/* Admin Master — composição mobile compacta com navegação apenas por ícones */
@media (max-width: 600px) {
  body.admin-master-mode .admin-master-screen,
  body.admin-master-mode .admin-master-screen.sidebar-collapsed {
    grid-template-columns: 52px minmax(0, 1fr);
    width: 100vw;
    height: 100dvh;
    overflow: hidden;
  }

  .admin-master-sidebar,
  .admin-master-screen.sidebar-collapsed .admin-master-sidebar {
    width: 52px;
    height: 100dvh;
    padding: 7px 6px;
    gap: 8px;
    justify-items: center;
  }

  .admin-master-brand,
  .admin-master-screen.sidebar-collapsed .admin-master-brand {
    width: 40px;
    min-height: 40px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
  }

  .admin-master-brand img {
    display: block !important;
    width: 36px;
    height: 36px;
  }

  .admin-master-brand div,
  .admin-master-brand .admin-master-icon-btn,
  .admin-master-nav-item b,
  .admin-master-logout b {
    display: none !important;
  }

  .admin-master-nav,
  .admin-master-screen.sidebar-collapsed .admin-master-nav {
    width: 40px;
    gap: 5px;
    overflow-x: hidden;
  }

  .admin-master-nav-item,
  .admin-master-logout,
  .admin-master-screen.sidebar-collapsed .admin-master-nav-item,
  .admin-master-screen.sidebar-collapsed .admin-master-logout {
    width: 40px;
    min-width: 40px;
    min-height: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface);
  }

  .admin-master-nav-item span,
  .admin-master-logout span {
    width: 22px;
  }

  .admin-master-icon-btn svg,
  .admin-master-nav-item svg,
  .admin-master-logout svg {
    width: 18px;
    height: 18px;
  }

  .admin-master-nav-item.active {
    border-color: color-mix(in srgb, var(--primary) 65%, var(--border));
    box-shadow: inset 3px 0 0 var(--primary);
    background: var(--surface-3);
  }

  .admin-master-main,
  .admin-master-workspace {
    width: 100%;
    min-width: 0;
    height: 100dvh;
  }

  .admin-master-workspace { grid-template-rows: 50px minmax(0, 1fr); }
  .admin-master-topbar { min-width: 0; padding: 7px 9px; gap: 7px; }
  .admin-master-topbar > div { min-width: 0; }
  .admin-master-topbar h1 { max-width: 100%; font-size: 14px; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-master-topbar p { display: none; }
  .admin-master-topbar .btn { min-height: 30px; padding: 0 8px; font-size: 9px; flex: 0 0 auto; }

  .admin-master-content { padding: 7px; overflow: hidden; }
  .admin-master-view { padding: 0; overscroll-behavior: contain; }
  .admin-master-view.active { gap: 7px; }

  .admin-master-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .admin-master-kpis article { min-width: 0; padding: 8px; overflow: hidden; }
  .admin-master-kpis span, .admin-master-kpis small { font-size: 8px; line-height: 1.25; overflow-wrap: anywhere; }
  .admin-master-kpis b { font-size: 14px; line-height: 1.2; overflow-wrap: anywhere; }

  .admin-master-panel { width: 100%; min-width: 0; padding: 8px; overflow: hidden; }
  .admin-master-panel > header { align-items: flex-start; gap: 7px; margin-bottom: 7px; }
  .admin-master-panel > header > div { min-width: 0; }
  .admin-master-panel h2 { font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
  .admin-master-panel h3 { font-size: 9px; }
  .admin-master-panel header p { font-size: 8px; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
  .admin-master-panel .btn, .admin-master-form-actions .btn, .admin-calendar-controls .btn { min-height: 30px; padding: 0 8px; font-size: 9px; }

  .admin-master-dashboard-grid { grid-template-columns: 1fr; gap: 7px; }
  .admin-master-compact-list { max-height: none; }
  .admin-master-compact-list article { min-width: 0; align-items: flex-start; }
  .admin-master-compact-list article div { min-width: 0; }
  .admin-master-compact-list article b, .admin-master-compact-list article span { max-width: 100%; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .admin-master-form-grid, .admin-modal-form { grid-template-columns: 1fr; gap: 7px; }
  .admin-master-form-grid label, .admin-modal-form label { min-width: 0; }
  .admin-master-login-card input, .admin-master-form-grid input, .admin-master-form-grid select,
  .admin-master-form-grid textarea, .admin-modal-form input, .admin-modal-form select, .admin-modal-form textarea {
    min-width: 0;
    max-width: 100%;
    font-size: 11px;
  }

  .admin-master-form-actions, .admin-calendar-controls, .admin-finance-filters { gap: 5px; }
  .admin-finance-filters > * { flex: 1 1 125px; min-width: 0 !important; max-width: 100%; font-size: 10px; }
  .admin-finance-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .admin-finance-kpis article { min-width: 0; padding: 7px; overflow: hidden; }
  .admin-finance-kpis span { font-size: 8px; overflow-wrap: anywhere; }
  .admin-finance-kpis b { font-size: 11px; overflow-wrap: anywhere; }

  .admin-master-table-wrap { width: 100%; max-width: 100%; max-height: calc(100dvh - 150px); overflow: auto; -webkit-overflow-scrolling: touch; }
  .admin-master-table { min-width: 700px; font-size: 9px; }
  .admin-master-table.wide { min-width: 940px; }
  .admin-clients-table { min-width: 1220px; }
  .admin-master-table th, .admin-master-table td { padding: 6px 5px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
  .admin-master-table th { font-size: 8px; }
  .admin-master-actions { flex-wrap: nowrap; }
  .tiny-btn { min-height: 27px; padding: 0 7px; font-size: 9px; }

  .admin-calendar-panel { overflow-x: auto; }
  .admin-calendar-week, .admin-financial-calendar { min-width: 510px; }
  .admin-calendar-day { min-height: 58px; padding: 4px; }
  .admin-calendar-day > b { font-size: 9px; }
  .admin-calendar-day span, .admin-calendar-day strong { font-size: 7px; }

  .admin-master-modal { width: calc(100vw - 14px); max-width: calc(100vw - 14px); margin: auto; }
  .admin-master-modal .modal-card { max-height: calc(100dvh - 14px); }
  .admin-master-modal-body { max-height: calc(100dvh - 130px); grid-template-columns: 1fr; padding: 9px; gap: 6px; }
  .admin-master-modal-body article, .admin-modal-history { min-width: 0; overflow: hidden; }
  .admin-master-modal-body b, .admin-master-modal-body code, .admin-modal-history p { overflow-wrap: anywhere; word-break: break-word; }
  .admin-calendar-detail article { align-items: flex-start; flex-direction: column; }

  .toast { max-width: calc(100vw - 32px); left: auto; right: 16px; font-size: 13px; overflow-wrap: anywhere; }
}
.terms-alert {
  display: grid;
  gap: 4px;
  border: 1px solid var(--border-strong);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-2) 82%, transparent);
  padding: 12px;
}
.terms-alert b { font-size: 13px; }
.terms-alert span { color: var(--muted); font-size: 12px; }
.terms-accept {
  margin-top: 4px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid var(--border-strong);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface-2);
  cursor: pointer;
}
.terms-accept input { margin-top: 2px; accent-color: var(--primary); }
.terms-accept span { font-size: 13px; color: var(--text); }
.terms-card footer .btn[disabled] { opacity: .55; cursor: not-allowed; }

/* Supervisor e Corretor — navegação mobile lateral, compacta e somente por ícones */
@media (max-width: 600px) {
  /* Corretor */
  body:not(.admin-master-mode):not(.supervisor-mode) .app,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed {
    width: 100vw;
    min-height: 100dvh;
    height: 100dvh;
    grid-template-columns: 52px minmax(0, 1fr);
    overflow: hidden;
  }

  body:not(.admin-master-mode):not(.supervisor-mode) .sidebar,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .sidebar {
    position: static;
    width: 52px;
    height: 100dvh;
    padding: 7px 6px;
    gap: 8px;
    align-items: center;
    border-right: 1px solid var(--border);
    border-bottom: 0;
    overflow: hidden;
  }

  body:not(.admin-master-mode):not(.supervisor-mode) .brand-row,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .brand-row {
    width: 40px;
    min-height: 40px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
  }

  body:not(.admin-master-mode):not(.supervisor-mode) .brand,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .brand { justify-content: center; }
  body:not(.admin-master-mode):not(.supervisor-mode) .brand img,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .brand img { display: block; width: 36px; height: 36px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .brand-text,
  body:not(.admin-master-mode):not(.supervisor-mode) .sidebar-toggle,
  body:not(.admin-master-mode):not(.supervisor-mode) .sidebar-meta,
  body:not(.admin-master-mode):not(.supervisor-mode) .soon-badge { display: none !important; }

  body:not(.admin-master-mode):not(.supervisor-mode) .nav,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .nav {
    width: 40px;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .nav::-webkit-scrollbar { display: none; }

  body:not(.admin-master-mode):not(.supervisor-mode) .nav-item,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .nav-item {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface);
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .nav-item.active {
    border-color: color-mix(in srgb, var(--primary) 65%, var(--border));
    background: var(--surface-3);
    box-shadow: inset 3px 0 0 var(--primary);
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .nav-ico { width: 21px; height: 21px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .nav-ico svg { width: 18px; height: 18px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .nav-label,
  body:not(.admin-master-mode):not(.supervisor-mode) .logout-btn .nav-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .sidebar-bottom { width: 40px; margin-top: auto; gap: 5px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .logout-btn,
  body:not(.admin-master-mode):not(.supervisor-mode) .app.sidebar-collapsed .logout-btn {
    width: 40px;
    height: 40px;
    padding: 0;
    grid-template-columns: 1fr;
    justify-content: center;
    border-radius: 5px;
  }

  body:not(.admin-master-mode):not(.supervisor-mode) .workspace {
    width: 100%;
    min-width: 0;
    min-height: 100dvh;
    height: 100dvh;
    grid-template-rows: 50px minmax(0, 1fr);
    overflow: hidden;
  }
  body:not(.admin-master-mode):not(.supervisor-mode) .topbar { min-width: 0; padding: 7px 9px; gap: 6px; flex-direction: row; align-items: center; }
  body:not(.admin-master-mode):not(.supervisor-mode) .title-block { min-width: 0; }
  body:not(.admin-master-mode):not(.supervisor-mode) .title-block h1 { max-width: 100%; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body:not(.admin-master-mode):not(.supervisor-mode) .title-block p { display: none; }
  body:not(.admin-master-mode):not(.supervisor-mode) .top-actions { width: auto; min-width: 0; margin-left: auto; flex-wrap: nowrap; }
  body:not(.admin-master-mode):not(.supervisor-mode) .top-actions .token-wrap,
  body:not(.admin-master-mode):not(.supervisor-mode) .top-actions > label { display: none; }
  body:not(.admin-master-mode):not(.supervisor-mode) .top-actions .btn,
  body:not(.admin-master-mode):not(.supervisor-mode) .top-actions button { min-height: 30px; padding: 0 7px; font-size: 9px; }

  body:not(.admin-master-mode):not(.supervisor-mode) .content { min-width: 0; padding: 7px; overflow: hidden; }
  body:not(.admin-master-mode):not(.supervisor-mode) .view { min-width: 0; min-height: 0; height: 100%; padding: 7px; overflow: auto; }
  body:not(.admin-master-mode):not(.supervisor-mode) .crm-layout { min-width: 0; height: 100%; grid-template-rows: auto auto minmax(0, 1fr); gap: 6px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .toolbar { min-width: 0; padding: 7px; gap: 5px; overflow-x: auto; flex-wrap: nowrap; }
  body:not(.admin-master-mode):not(.supervisor-mode) .toolbar > * { flex: 0 0 auto; min-width: 0; font-size: 9px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .toolbar .search { width: 128px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .metrics-bar { min-width: 640px; height: auto; grid-template-columns: repeat(9, minmax(64px, 1fr)); gap: 4px; overflow: visible; }
  body:not(.admin-master-mode):not(.supervisor-mode) .metric { min-width: 0; padding: 5px; overflow: hidden; }
  body:not(.admin-master-mode):not(.supervisor-mode) .metric span { font-size: 7px; overflow-wrap: anywhere; }
  body:not(.admin-master-mode):not(.supervisor-mode) .metric b { font-size: 12px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .table-wrap { width: 100%; max-width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; }
  body:not(.admin-master-mode):not(.supervisor-mode) .crm-table { min-width: 760px; table-layout: auto; font-size: 9px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .crm-table th,
  body:not(.admin-master-mode):not(.supervisor-mode) .crm-table td { padding: 6px 5px; max-width: 170px; overflow: hidden; text-overflow: ellipsis; }
  body:not(.admin-master-mode):not(.supervisor-mode) .kanban-scroll { width: 100%; overflow: auto; }
  body:not(.admin-master-mode):not(.supervisor-mode) .kanban-board { min-width: 1880px; gap: 6px; }
  body:not(.admin-master-mode):not(.supervisor-mode) .panel,
  body:not(.admin-master-mode):not(.supervisor-mode) .card { min-width: 0; padding: 8px; overflow: hidden; }

  /* Supervisor */
  body.supervisor-mode .supervisor-screen,
  body.supervisor-mode .supervisor-screen.sidebar-collapsed {
    width: 100vw;
    height: 100dvh;
    grid-template-columns: 52px minmax(0, 1fr);
    overflow: hidden;
  }
  .supervisor-sidebar,
  .supervisor-screen.sidebar-collapsed .supervisor-sidebar {
    width: 52px;
    height: 100dvh;
    padding: 7px 6px;
    gap: 8px;
    align-items: center;
  }
  .supervisor-brand,
  .supervisor-screen.sidebar-collapsed .supervisor-brand {
    width: 40px;
    min-height: 40px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
  }
  .supervisor-brand img,
  .supervisor-screen.sidebar-collapsed .supervisor-brand img { display: block; width: 36px; height: 36px; }
  .supervisor-brand-text, .supervisor-icon-btn, .supervisor-nav-group-title,
  .supervisor-nav-item b, .supervisor-logout b { display: none !important; }
  .supervisor-nav,
  .supervisor-screen.sidebar-collapsed .supervisor-nav { width: 40px; gap: 5px; scrollbar-width: none; }
  .supervisor-nav::-webkit-scrollbar { display: none; }
  .supervisor-nav-item, .supervisor-logout,
  .supervisor-screen.sidebar-collapsed .supervisor-nav-item,
  .supervisor-screen.sidebar-collapsed .supervisor-logout {
    width: 40px;
    min-width: 40px;
    min-height: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface);
  }
  .supervisor-nav-item.active { border-color: color-mix(in srgb, var(--primary) 65%, var(--border)); background: var(--surface-3); }
  .supervisor-nav-item span, .supervisor-logout span,
  .supervisor-screen.sidebar-collapsed .supervisor-nav-item span,
  .supervisor-screen.sidebar-collapsed .supervisor-logout span { width: 21px; }
  .supervisor-nav-item span svg, .supervisor-logout span svg { width: 18px; height: 18px; }

  .supervisor-nav-item b, .supervisor-logout b {
    display: block !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .supervisor-main { width: 100%; min-width: 0; height: 100dvh; grid-template-rows: 50px minmax(0, 1fr); }
  .supervisor-topbar { min-width: 0; padding: 7px 9px; gap: 6px; align-items: center; }
  .supervisor-topbar > div:first-child { min-width: 0; }
  .supervisor-topbar h1 { max-width: 100%; font-size: 14px; line-height: 1.15; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .supervisor-topbar p { display: none; }
  .supervisor-top-actions { min-width: 0; flex-wrap: nowrap; gap: 5px; }
  .supervisor-top-actions label, .supervisor-top-actions select { display: none; }
  .supervisor-top-actions .btn, .supervisor-top-actions button { min-height: 30px; padding: 0 7px; font-size: 9px; }
  .supervisor-content { min-width: 0; padding: 7px; overflow: hidden; }
  .supervisor-view { min-width: 0; padding: 0; }
  .supervisor-view.active { gap: 7px; }
  .supervisor-kpis, .supervisor-goal-summary, .supervisor-client-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .supervisor-kpis article, .supervisor-goal-summary article, .supervisor-client-metrics article { min-width: 0; padding: 8px; overflow: hidden; }
  .supervisor-kpis span, .supervisor-goal-summary span, .supervisor-client-metrics span { font-size: 8px; overflow-wrap: anywhere; }
  .supervisor-kpis b, .supervisor-goal-summary b, .supervisor-client-metrics b { font-size: 14px; overflow-wrap: anywhere; }
  .supervisor-card { min-width: 0; padding: 8px; overflow: hidden; }
  .supervisor-card h2 { font-size: 12px; overflow-wrap: anywhere; }
  .supervisor-card p { font-size: 8px; line-height: 1.35; overflow-wrap: anywhere; }
  .supervisor-table-wrap { width: 100%; max-width: 100%; max-height: calc(100dvh - 190px); overflow: auto; -webkit-overflow-scrolling: touch; }
  .supervisor-table { min-width: 700px; font-size: 9px; }
  .supervisor-table th, .supervisor-table td { padding: 6px 5px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
  .supervisor-table th { font-size: 8px; }
  .supervisor-funnel { min-width: 1540px; gap: 6px; }
  #supervisor-view-funnel { overflow: auto; -webkit-overflow-scrolling: touch; }
  .supervisor-access-form, .company-settings-grid, .supervisor-report-layout, .supervisor-message-layout { grid-template-columns: 1fr; gap: 7px; }
  .supervisor-access-form input, .supervisor-access-form select,
  .company-settings-grid input, .company-settings-grid select, .company-settings-grid textarea { min-width: 0; max-width: 100%; font-size: 11px; }
  .supervisor-detail-modal, .supervisor-client-modal, .supervisor-product-modal,
  .supervisor-product-folder-modal, .supervisor-post-sale-modal { width: calc(100vw - 14px); max-width: calc(100vw - 14px); }

  /* Proteção comum contra vazamento de conteúdo */
  body.supervisor-mode .supervisor-content *,
  body:not(.admin-master-mode):not(.supervisor-mode) .content * { min-width: 0; }
  body.supervisor-mode code, body.supervisor-mode pre,
  body:not(.admin-master-mode):not(.supervisor-mode) code,
  body:not(.admin-master-mode):not(.supervisor-mode) pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
  body.supervisor-mode .toast,
  body:not(.admin-master-mode):not(.supervisor-mode) .toast { max-width: calc(100vw - 32px); left: auto; right: 16px; font-size: 13px; overflow-wrap: anywhere; }
}
/* Refinamento visual Lungo — vidro verde e profundidade suave */
:root {
  --sidebar-glass: rgba(8, 55, 43, .92);
  --sidebar-glass-deep: rgba(5, 38, 31, .97);
  --sidebar-text: #edf6f2;
  --sidebar-muted: #bfd2ca;
  --sidebar-line: rgba(224, 244, 236, .14);
  --sidebar-highlight: rgba(230, 250, 242, .10);
  --card-radius: 9px;
  --card-depth: 7px 7px 18px rgba(0, 0, 0, .20), -3px -3px 12px rgba(255, 255, 255, .025);
  --green-glass: rgba(12, 112, 81, .10);
}

[data-theme="light"] {
  --sidebar-glass: rgba(8, 72, 54, .91);
  --sidebar-glass-deep: rgba(5, 49, 39, .96);
  --card-depth: 8px 8px 20px rgba(45, 68, 59, .12), -5px -5px 14px rgba(255, 255, 255, .76);
  --green-glass: rgba(11, 111, 78, .09);
}

/* A navegação permanece verde-escura nos temas claro e escuro. */
.sidebar,
.admin-master-sidebar,
.supervisor-sidebar {
  position: relative;
  isolation: isolate;
  color: var(--sidebar-text);
  border-right-color: var(--sidebar-line);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .07), transparent 42%),
    linear-gradient(180deg, var(--sidebar-glass), var(--sidebar-glass-deep));
  box-shadow: 8px 0 28px rgba(3, 32, 25, .18);
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
}

.sidebar::before,
.admin-master-sidebar::before,
.supervisor-sidebar::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, rgba(255, 255, 255, .055), transparent 38% 74%, rgba(81, 199, 158, .055));
}

.sidebar .brand strong,
.sidebar .sidebar-meta b,
.admin-master-brand b,
.supervisor-brand-text b { color: var(--sidebar-text); }

.sidebar .brand span,
.sidebar .sidebar-meta span,
.admin-master-brand span,
.supervisor-brand-text span,
.supervisor-nav-group-title { color: var(--sidebar-muted); }

.nav-item,
.admin-master-nav-item,
.admin-master-logout,
.supervisor-nav-item,
.supervisor-logout { color: var(--sidebar-muted); border-radius: 7px; }

.nav-item .nav-ico,
.admin-master-nav-item span,
.admin-master-logout span,
.supervisor-nav-item span,
.supervisor-logout span { color: var(--sidebar-text); opacity: .9; }

.nav-item:hover,
.admin-master-nav-item:hover,
.admin-master-logout:hover,
.supervisor-nav-item:hover,
.supervisor-logout:hover {
  color: var(--sidebar-text);
  background: var(--sidebar-highlight);
  border-color: rgba(235, 251, 244, .08);
}

.nav-item.active,
.admin-master-nav-item.active,
.supervisor-nav-item.active {
  color: #fff;
  border-color: rgba(235, 251, 244, .16);
  background: rgba(235, 251, 244, .13);
  box-shadow: inset 3px 0 0 #74d9b4, 0 7px 16px rgba(2, 27, 21, .16);
}

.sidebar-toggle,
.admin-master-icon-btn,
.supervisor-icon-btn {
  color: var(--sidebar-text);
  border-color: var(--sidebar-line);
  background: rgba(255, 255, 255, .08);
  border-radius: 7px;
}

.sidebar-meta,
.admin-master-logout,
.supervisor-logout { border-color: var(--sidebar-line); }

/* Cantos levemente suaves e sombra dupla dão profundidade sem inflar o layout. */
.metric,
.content-frame,
.flat-panel,
.kanban-card,
.modal-card,
.chart-card,
.client-list-panel,
.supervisor-card,
.supervisor-kpis article,
.supervisor-goal-summary article,
.training-card,
.rh-candidate-card,
.calendar-event-card,
.calendar-week-panel,
.lead-offer-card,
.lead-wallet-card,
.admin-master-login-card,
.admin-master-kpis article,
.admin-master-panel,
.admin-master-plan-grid article,
.admin-finance-kpis article,
.admin-master-modal-body article,
.product-contract-card,
.product-folder-card,
.product-docs-panel {
  border-radius: var(--card-radius);
  box-shadow: var(--card-depth);
}

.toolbar,
.segmented,
.supervisor-table-wrap,
.admin-master-table-wrap,
.supervisor-lane,
.supervisor-deal { border-radius: 7px; }

/* Reflexos verdes discretos conectam o conteúdo à identidade da sidebar. */
.app,
body.admin-master-mode .admin-master-screen,
body.supervisor-mode .supervisor-screen {
  background:
    radial-gradient(circle at 18% 8%, var(--green-glass), transparent 28%),
    radial-gradient(circle at 92% 92%, color-mix(in srgb, var(--green-glass) 65%, transparent), transparent 24%),
    var(--bg);
}

.topbar,
.admin-master-topbar,
.supervisor-topbar {
  background: color-mix(in srgb, var(--surface) 88%, var(--green-glass));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[data-theme="light"] body { background: #e7eee9; }
[data-theme="light"] .topbar,
[data-theme="light"] .admin-master-topbar,
[data-theme="light"] .supervisor-topbar {
  background: rgba(242, 248, 244, .88);
  border-bottom-color: rgba(25, 91, 68, .14);
}

[data-theme="light"] .metric,
[data-theme="light"] .content-frame,
[data-theme="light"] .flat-panel,
[data-theme="light"] .supervisor-card,
[data-theme="light"] .admin-master-panel {
  border-color: rgba(34, 91, 70, .14);
}

@media (max-width: 720px) {
  .sidebar,
  .admin-master-sidebar,
  .supervisor-sidebar { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
}

/* Segunda passagem visual: contraste noturno, Kanban e neumorfismo claro. */
:root:not([data-theme="light"]) {
  --bg: #151817;
  --bg-soft: #191d1b;
  --surface: #222624;
  --surface-2: #292e2b;
  --surface-3: #313733;
  --border: rgba(242, 248, 245, .15);
  --border-strong: rgba(242, 248, 245, .24);
  --text: #f3f6f4;
  --muted: #c0c9c4;
  --muted-2: #929e98;
  --card-depth: 8px 8px 20px rgba(0, 0, 0, .28), -3px -3px 10px rgba(255, 255, 255, .035);
}

:root:not([data-theme="light"]) body,
:root:not([data-theme="light"]) .app,
:root:not([data-theme="light"]) body.admin-master-mode .admin-master-screen,
:root:not([data-theme="light"]) body.supervisor-mode .supervisor-screen { background-color: var(--bg); }

:root:not([data-theme="light"]) .metric,
:root:not([data-theme="light"]) .content-frame,
:root:not([data-theme="light"]) .flat-panel,
:root:not([data-theme="light"]) .supervisor-card,
:root:not([data-theme="light"]) .admin-master-panel,
:root:not([data-theme="light"]) .kanban-card,
:root:not([data-theme="light"]) .supervisor-deal { border-color: rgba(245, 250, 247, .16); }

/* Kanban: curvas discretas em colunas, cartões, avatares e controles internos. */
.kanban-col { border-radius: 9px; overflow: hidden; }
.kanban-card { border-radius: 8px; overflow: hidden; }
.kanban-card .avatar { border-radius: 7px; overflow: hidden; }
.kanban-card .card-meta span,
.kanban-card .icon-action,
.kanban-card .tiny-btn,
.kanban-card button { border-radius: 6px; }
.kanban-col header,
.kanban-col header b { min-width: 0; }

/* Os títulos longos passam a ocupar duas linhas sem invadir a coluna vizinha. */
.kanban-col[data-status="documentacao_recebida"],
.kanban-col[data-status="venda_cadastrada"] { grid-template-rows: 42px minmax(0, 1fr); }
.kanban-col[data-status="documentacao_recebida"] header b,
.kanban-col[data-status="venda_cadastrada"] header b {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.08;
  font-size: 10px;
}

.supervisor-lane { border-radius: 9px; }
.supervisor-deal { border-radius: 7px; }
.supervisor-deal button { border-radius: 6px; }
.supervisor-lane > header { min-height: 24px; align-items: start; }
.supervisor-lane > header b {
  white-space: normal;
  overflow: hidden;
  text-overflow: clip;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

/* Saída discreta no cabeçalho do Supervisor; o mesmo ID mantém a lógica original. */
.supervisor-top-logout {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  opacity: .72;
  transition: opacity .15s ease, color .15s ease, background .15s ease;
}
.supervisor-top-logout:hover { opacity: 1; color: var(--text); background: var(--surface-2); }
.supervisor-top-logout svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Tema claro: relevo multicamada mais delicado e superfícies acetinadas. */
[data-theme="light"] {
  --card-depth: 11px 11px 24px rgba(72, 89, 108, .2), -9px -9px 22px rgba(255, 255, 255, .94), inset 1px 1px 0 rgba(255, 255, 255, .9), inset -1px -1px 0 rgba(150, 166, 184, .16);
  --card-depth-hover: 14px 14px 29px rgba(72, 89, 108, .23), -10px -10px 25px rgba(255, 255, 255, .96), inset 1px 1px 0 #fff;
  --inset-depth: inset 4px 4px 9px rgba(104, 121, 140, .16), inset -4px -4px 9px rgba(255, 255, 255, .92);
}

[data-theme="light"] .metric,
[data-theme="light"] .content-frame,
[data-theme="light"] .flat-panel,
[data-theme="light"] .kanban-card,
[data-theme="light"] .chart-card,
[data-theme="light"] .supervisor-card,
[data-theme="light"] .supervisor-kpis article,
[data-theme="light"] .supervisor-goal-summary article,
[data-theme="light"] .training-card,
[data-theme="light"] .lead-offer-card,
[data-theme="light"] .lead-wallet-card,
[data-theme="light"] .admin-master-kpis article,
[data-theme="light"] .admin-master-panel,
[data-theme="light"] .admin-master-plan-grid article {
  background: linear-gradient(145deg, #fbfdff 0%, #e8eef4 100%);
  border-color: rgba(255, 255, 255, .9);
  box-shadow: var(--card-depth);
}

[data-theme="light"] .modal-card,
[data-theme="light"] .client-folder-layout > details,
[data-theme="light"] .product-contract-card,
[data-theme="light"] .lead-assignment-list label,
[data-theme="light"] .supervisor-dashboard-heading,
[data-theme="light"] .supervisor-report-actions,
[data-theme="light"] .broker-branding-banner {
  border-color: rgba(255, 255, 255, .88);
  background: linear-gradient(145deg, #fafdff, #e5ecf3);
  box-shadow: var(--card-depth);
}

[data-theme="light"] .metric:hover,
[data-theme="light"] .kanban-card:hover,
[data-theme="light"] .supervisor-card:hover,
[data-theme="light"] .training-card:hover,
[data-theme="light"] .lead-offer-card:hover {
  box-shadow: var(--card-depth-hover);
}

[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
[data-theme="light"] select,
[data-theme="light"] textarea,
[data-theme="light"] .table-wrap,
[data-theme="light"] .admin-master-table-wrap,
[data-theme="light"] .supervisor-table-wrap,
[data-theme="light"] .client-charts-panel {
  border-color: rgba(157, 174, 192, .48);
  background: #e8eef4;
  box-shadow: var(--inset-depth);
}

[data-theme="light"] .btn:not(.primary):not(.danger),
[data-theme="light"] .icon-action,
[data-theme="light"] .supervisor-row-action,
[data-theme="light"] .product-icon-button,
[data-theme="light"] .supervisor-top-logout {
  border-color: rgba(255, 255, 255, .88);
  background: linear-gradient(145deg, #f9fcff, #dfe7ef);
  box-shadow: 4px 4px 9px rgba(79, 96, 115, .18), -4px -4px 9px rgba(255, 255, 255, .9);
}

[data-theme="light"] .btn:not(.primary):not(.danger):active,
[data-theme="light"] .icon-action:active,
[data-theme="light"] .supervisor-row-action:active,
[data-theme="light"] .product-icon-button:active {
  box-shadow: inset 3px 3px 7px rgba(82, 99, 118, .2), inset -3px -3px 7px rgba(255, 255, 255, .9);
  transform: translateY(1px);
}

[data-theme="light"] .sidebar,
[data-theme="light"] .supervisor-sidebar,
[data-theme="light"] .admin-master-sidebar {
  border-right-color: rgba(139, 240, 198, .3);
  background:
    radial-gradient(circle at 12% 8%, rgba(111, 238, 188, .28), transparent 30%),
    linear-gradient(145deg, rgba(18, 126, 91, .97), rgba(5, 67, 52, .98) 56%, rgba(3, 45, 37, .99));
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .14), inset -12px 0 26px rgba(0, 35, 27, .2), 10px 0 28px rgba(16, 66, 51, .26);
  backdrop-filter: blur(22px) saturate(155%);
  -webkit-backdrop-filter: blur(22px) saturate(155%);
}

[data-theme="light"] .sidebar::before,
[data-theme="light"] .supervisor-sidebar::before,
[data-theme="light"] .admin-master-sidebar::before {
  background: linear-gradient(112deg, rgba(255, 255, 255, .16), transparent 34% 70%, rgba(109, 241, 191, .12));
}

[data-theme="light"] .nav-item,
[data-theme="light"] .admin-master-nav-item,
[data-theme="light"] .admin-master-logout,
[data-theme="light"] .supervisor-nav-item,
[data-theme="light"] .supervisor-logout {
  color: rgba(242, 255, 250, .88);
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 29, 22, .48);
}

[data-theme="light"] .nav-item .nav-ico,
[data-theme="light"] .admin-master-nav-item span,
[data-theme="light"] .admin-master-logout span,
[data-theme="light"] .supervisor-nav-item span,
[data-theme="light"] .supervisor-logout span {
  color: #91f5c9;
  opacity: 1;
  filter: drop-shadow(0 0 5px rgba(105, 240, 185, .45));
}

[data-theme="light"] .nav-item:hover,
[data-theme="light"] .admin-master-nav-item:hover,
[data-theme="light"] .admin-master-logout:hover,
[data-theme="light"] .supervisor-nav-item:hover,
[data-theme="light"] .supervisor-logout:hover {
  color: #fff;
  border-color: rgba(189, 255, 229, .3);
  background: rgba(224, 255, 243, .13);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .16), 0 7px 16px rgba(0, 35, 26, .2);
}

[data-theme="light"] .nav-item.active,
[data-theme="light"] .admin-master-nav-item.active,
[data-theme="light"] .supervisor-nav-item.active {
  color: #fff;
  border-color: rgba(207, 255, 237, .48);
  background: linear-gradient(135deg, rgba(224, 255, 243, .25), rgba(117, 235, 191, .14));
  box-shadow: inset 4px 0 0 #9bf7d0, inset 1px 1px 0 rgba(255, 255, 255, .2), 0 8px 20px rgba(0, 31, 23, .3), 0 0 16px rgba(105, 240, 185, .12);
}

[data-theme="light"] .sidebar .brand strong,
[data-theme="light"] .admin-master-brand b,
[data-theme="light"] .supervisor-brand-text b { color: #fff; text-shadow: 0 1px 3px rgba(0, 24, 18, .5); }

[data-theme="light"] .sidebar .brand span,
[data-theme="light"] .admin-master-brand span,
[data-theme="light"] .supervisor-brand-text span,
[data-theme="light"] .supervisor-nav-group-title { color: rgba(211, 247, 232, .76); }

[data-theme="light"] .sidebar-toggle,
[data-theme="light"] .admin-master-icon-btn,
[data-theme="light"] .supervisor-icon-btn {
  color: #dffff2;
  border-color: rgba(206, 255, 236, .28);
  background: rgba(225, 255, 244, .12);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .17), 0 6px 14px rgba(0, 35, 27, .22);
}

[data-theme="light"] .topbar,
[data-theme="light"] .supervisor-topbar,
[data-theme="light"] .admin-master-topbar {
  background: rgba(238, 244, 249, .94);
  box-shadow: 0 7px 18px rgba(77, 94, 113, .14), inset 0 1px 0 rgba(255, 255, 255, .95);
}

[data-theme="light"] #saveTokenBtn {
  color: #fff;
  border-color: rgba(3, 75, 55, .72);
  background: linear-gradient(145deg, #11956d, #086047 58%, #064737);
  box-shadow: 6px 6px 13px rgba(55, 77, 70, .28), -4px -4px 10px rgba(255, 255, 255, .88), inset 1px 1px 0 rgba(207, 255, 236, .28);
  text-shadow: 0 1px 2px rgba(0, 35, 25, .55);
}

[data-theme="light"] #saveTokenBtn:hover {
  border-color: #21bd8a;
  background: linear-gradient(145deg, #16aa7c, #08694d 62%, #054233);
  box-shadow: 8px 8px 16px rgba(55, 77, 70, .32), -5px -5px 12px rgba(255, 255, 255, .92), 0 0 0 2px rgba(22, 170, 124, .14);
}

html .sidebar.company-sidebar-custom,
html .supervisor-sidebar.company-sidebar-custom {
  --sidebar-text: var(--company-sidebar-text);
  --sidebar-muted: var(--company-sidebar-muted);
  --sidebar-line: var(--company-sidebar-line);
  --sidebar-highlight: var(--company-sidebar-highlight);
  border-right-color: var(--company-sidebar-line);
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 255, 255, .2), transparent 31%),
    linear-gradient(145deg, var(--company-sidebar), var(--company-sidebar-deep) 78%);
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, .13), inset -12px 0 26px rgba(0, 0, 0, .16), 10px 0 28px rgba(18, 47, 39, .22);
}

.company-sidebar-custom .nav-item,
.company-sidebar-custom .supervisor-nav-item,
.company-sidebar-custom .supervisor-logout { color: var(--company-sidebar-muted); }

.company-sidebar-custom .nav-item .nav-ico,
.company-sidebar-custom .supervisor-nav-item span,
.company-sidebar-custom .supervisor-logout span { color: var(--company-sidebar-icon); filter: drop-shadow(0 0 4px color-mix(in srgb, var(--company-sidebar-icon) 42%, transparent)); }

.company-sidebar-custom .nav-item:hover,
.company-sidebar-custom .supervisor-nav-item:hover,
.company-sidebar-custom .supervisor-logout:hover { color: var(--company-sidebar-text); border-color: var(--company-sidebar-line); background: var(--company-sidebar-highlight); }

.company-sidebar-custom .nav-item.active,
.company-sidebar-custom .supervisor-nav-item.active {
  color: var(--company-sidebar-text);
  border-color: var(--company-sidebar-line);
  background: var(--company-sidebar-highlight);
  box-shadow: inset 4px 0 0 var(--company-sidebar-icon), inset 1px 1px 0 rgba(255,255,255,.15), 0 8px 20px rgba(0,0,0,.2);
}

.company-sidebar-custom .brand strong,
.company-sidebar-custom .supervisor-brand-text b { color: var(--company-sidebar-text); }
.company-sidebar-custom .brand span,
.company-sidebar-custom .supervisor-brand-text span,
.company-sidebar-custom .supervisor-nav-group-title { color: var(--company-sidebar-muted); }

[data-theme="light"] .kanban-col,
[data-theme="light"] .supervisor-lane {
  border-color: rgba(51, 95, 77, .13);
  background: rgba(230, 238, 233, .7);
  box-shadow: inset 2px 2px 7px rgba(66, 88, 78, .08), inset -2px -2px 7px rgba(255, 255, 255, .76);
}

@media (max-width: 560px) {
  .supervisor-top-logout { width: 32px; min-width: 32px; padding: 0 !important; }
}

/* Supervisor: dropdowns contidos na sidebar, sem sobrepor o conteudo. */
.supervisor-sidebar { overflow: hidden; }
.supervisor-nav {
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 3px;
}
.supervisor-nav-cluster { min-width: 0; }
.supervisor-nav-parent { width: 100%; }
.supervisor-nav-parent > i {
  margin-left: auto;
  color: currentColor;
  font-size: 15px;
  font-style: normal;
  line-height: 1;
  opacity: .7;
  transform: rotate(90deg);
  transition: transform .16s ease, opacity .16s ease;
}
.supervisor-hover-submenu {
  max-height: 0;
  display: grid;
  gap: 2px;
  margin: 0 0 0 28px;
  padding: 0 0 0 8px;
  overflow: hidden;
  border-left: 1px solid rgba(116, 217, 180, .28);
  opacity: 0;
  visibility: hidden;
  transition: max-height .18s ease, margin .18s ease, padding .18s ease, opacity .14s ease, visibility .14s ease;
}
.supervisor-hover-submenu > span { display: none; }
.supervisor-hover-submenu .supervisor-nav-item {
  width: 100%;
  min-height: 29px;
  justify-content: flex-start;
  padding: 0 8px;
  border-radius: 5px;
  color: var(--sidebar-muted);
  font-size: 10px;
  white-space: normal;
}
.supervisor-hover-submenu .supervisor-nav-item b { display: block; }
.supervisor-nav-cluster:hover > .supervisor-hover-submenu,
.supervisor-nav-cluster:focus-within > .supervisor-hover-submenu {
  max-height: none;
  margin-top: 3px;
  margin-bottom: 3px;
  padding-top: 2px;
  padding-bottom: 2px;
  opacity: 1;
  visibility: visible;
}
.supervisor-nav-cluster:hover > .supervisor-nav-parent > i,
.supervisor-nav-cluster:focus-within > .supervisor-nav-parent > i { transform: rotate(270deg); opacity: 1; }
.supervisor-nav-cluster.has-active > .supervisor-nav-parent {
  color: #fff;
  border-color: rgba(235, 251, 244, .16);
  background: rgba(235, 251, 244, .13);
  box-shadow: inset 3px 0 0 #74d9b4;
}
.supervisor-screen.sidebar-collapsed .supervisor-brand img {
  display: block;
  width: 42px;
  height: 42px;
  min-width: 42px;
  max-width: 42px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
}
.supervisor-screen.sidebar-collapsed .supervisor-nav-cluster { width: 42px; }
.supervisor-screen.sidebar-collapsed .supervisor-nav-parent > i,
.supervisor-screen.sidebar-collapsed .supervisor-hover-submenu { display: none; }

/* Alternância de tema compacta: mostra somente a ação disponível. */
.theme-toggle {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  border-radius: 7px;
}
.theme-icon { display: grid; place-items: center; }
.theme-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.theme-icon-moon { display: none; }
[data-theme="light"] .theme-icon-sun { display: none; }
[data-theme="light"] .theme-icon-moon { display: grid; }

/* Kanban do Corretor: cada coluna mantém altura fixa e sua própria rolagem. */
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-view.active,
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-scroll,
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-board,
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-col {
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

body:not(.admin-master-mode):not(.supervisor-mode) .kanban-board { align-items: stretch; }
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-col { overflow: hidden; }
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-lane {
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  grid-auto-rows: max-content;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--border-strong) 72%, transparent) transparent;
}
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-lane::-webkit-scrollbar { width: 4px; }
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-lane::-webkit-scrollbar-track { background: transparent; }
body:not(.admin-master-mode):not(.supervisor-mode) .kanban-lane::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--border-strong) 72%, transparent);
}

/* Kanban do Supervisor: os negócios rolam dentro de cada coluna. */
body.supervisor-mode #supervisor-view-funnel,
body.supervisor-mode #supervisor-view-funnel.active,
body.supervisor-mode .supervisor-kanban,
body.supervisor-mode .supervisor-lane {
  height: 100%;
  max-height: 100%;
  min-height: 0;
}
body.supervisor-mode .supervisor-lane { overflow: hidden; }
body.supervisor-mode .supervisor-lane-cards {
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--border-strong) 72%, transparent) transparent;
}
body.supervisor-mode .supervisor-lane-cards::-webkit-scrollbar { width: 4px; }
body.supervisor-mode .supervisor-lane-cards::-webkit-scrollbar-track { background: transparent; }
body.supervisor-mode .supervisor-lane-cards::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--border-strong) 72%, transparent);
}

/* Restauração de sessão acontece antes da primeira pintura, sem exibir o login. */
html.session-restoring body.auth-locked .auth-screen { display: none !important; }
html.session-restoring body.auth-locked {
  background:
    radial-gradient(circle at 22% 16%, rgba(49, 176, 130, .14), transparent 30%),
    linear-gradient(145deg, #071c16, #0b2b21 58%, #061510);
}

/* Login moderno em vidro verde com detalhes brancos. */
body.auth-locked .auth-screen {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(92, 221, 172, .18), transparent 28%),
    radial-gradient(circle at 82% 78%, rgba(40, 156, 116, .16), transparent 30%),
    linear-gradient(145deg, #061b15, #0a3427 52%, #061a14);
}
body.auth-locked .auth-screen::before,
body.auth-locked .auth-screen::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(44vw, 520px);
  aspect-ratio: 1;
  border: 1px solid rgba(238, 255, 248, .10);
  border-radius: 50%;
  background: rgba(218, 255, 240, .035);
  filter: blur(1px);
}
body.auth-locked .auth-screen::before { top: -24%; right: -10%; }
body.auth-locked .auth-screen::after { bottom: -32%; left: -12%; }

body.auth-locked .auth-card {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)),
    rgba(0, 0, 0, .50);
  color: #f5faf7;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .42), inset 1px 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(16px) saturate(0%);
  -webkit-backdrop-filter: blur(16px) saturate(0%);
}
body.auth-locked .auth-brand {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
  gap: 8px;
}
body.auth-locked .auth-brand img {
  width: 190px;
  max-width: 100%;
  height: 90px;
}
body.auth-locked .auth-brand p,
body.auth-locked .auth-form label > span,
body.auth-locked .auth-status { color: rgba(241, 250, 246, .72); }
body.auth-locked .auth-brand img {
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
}
body.auth-locked .auth-role-tabs {
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 10px;
  background: rgba(0, 0, 0, .24);
}
body.auth-locked .auth-role-tab {
  border-radius: 7px;
  color: rgba(244, 251, 248, .66);
}
body.auth-locked .auth-role-tab.active {
  background: rgba(255, 255, 255, .13);
  color: #fff;
  box-shadow: 0 7px 16px rgba(0, 18, 13, .20), inset 0 0 0 1px rgba(255, 255, 255, .10);
}
body.auth-locked .auth-form input {
  border-color: rgba(255, 255, 255, .17);
  border-radius: 8px;
  background: rgba(0, 0, 0, .30);
  color: #fff;
}
/* Keep login tokens readable, including browser autofill and saved light themes. */
body.auth-locked #authScreen .auth-form input {
  color-scheme: dark;
  background-color: #202020;
  color: #fff;
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
}
body.auth-locked #authScreen .auth-form input:is(:autofill, :-webkit-autofill) {
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
  box-shadow: inset 0 0 0 1000px #202020;
  transition: none;
}
body.auth-locked #authScreen .auth-form input:is(:autofill, :-webkit-autofill):focus {
  box-shadow: inset 0 0 0 1000px #202020, 0 0 0 3px rgba(87, 207, 161, .14);
}
body.auth-locked .auth-form input::placeholder { color: rgba(241, 250, 246, .42); }
body.auth-locked .auth-form input:focus {
  border-color: rgba(185, 247, 220, .62);
  box-shadow: 0 0 0 3px rgba(87, 207, 161, .14);
}
body.auth-locked .auth-login-btn {
  border-color: rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: linear-gradient(135deg, #2fc48c, #159464);
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 29, 20, .28), inset 0 1px 0 rgba(255, 255, 255, .22);
}
body.auth-locked .auth-login-btn:hover { filter: brightness(1.06); }

/* Login: fotografia com filtro preto suave e formulário de vidro. */
body.auth-locked .auth-screen {
  background: #073d2d;
}
body.auth-locked .auth-screen::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(rgba(0, 0, 0, .46), rgba(0, 0, 0, .56)),
    url("assets/backgrounds/login-office.png") center center / cover no-repeat,
    #073d2d;
  filter: grayscale(50%);
}
body.auth-locked .auth-screen::after,
body.auth-locked .auth-bg-mark { display: none; }
body.auth-locked .auth-brand img {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* Supervisor: Kanban usa o espaço central real, sem somar 100% ao cabeçalho e rodapé. */
body.supervisor-mode .supervisor-lane-cards {
  height: auto;
  max-height: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
}
body.supervisor-mode .supervisor-deal {
  flex: 0 0 auto;
  margin-bottom: 0;
}
body.supervisor-mode .supervisor-deal > b {
  font-size: 8.5px;
  line-height: 1.2;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

/* A listagem ocupa toda a aba Corretores; a criação fica em modal. */
#supervisor-view-brokers.active {
  grid-template-rows: minmax(0, 1fr);
  align-content: stretch;
  overflow: hidden;
}
.supervisor-brokers-card {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.supervisor-brokers-card > header { align-items: center; }
.supervisor-brokers-table-wrap {
  height: 100%;
  max-height: none;
  min-height: 0;
}
.supervisor-access-modal { width: min(760px, calc(100vw - 24px)); }
.supervisor-access-modal-body { padding: 16px; display: grid; gap: 12px; }
.supervisor-access-modal .supervisor-access-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 700px) {
  .supervisor-access-modal .supervisor-access-form { grid-template-columns: 1fr; }
}

/* Meus Leads compartilhado: fluxo vertical estável após sincronizar conversas. */
.kanban-view.active,
.kanban-scroll,
.kanban-board,
.kanban-col {
  height: 100%;
  max-height: 100%;
  min-height: 0;
}
.kanban-board { align-items: stretch; }
.kanban-col { overflow: hidden; }
.kanban-lane {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--border-strong) 72%, transparent) transparent;
}
.kanban-card {
  flex: 0 0 auto;
  width: 100%;
  min-height: max-content;
}
.kanban-lane::-webkit-scrollbar { width: 4px; }
.kanban-lane::-webkit-scrollbar-track { background: transparent; }
.kanban-lane::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--border-strong) 72%, transparent);
}

/* Ícone de saída do Supervisor com desenho limpo e consistente. */
.supervisor-top-logout svg { display: none; }
.supervisor-top-logout::before {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M15 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M15 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Admin Master mobile — shell de aplicativo, sem alterar o desktop ou a lógica existente. */
.admin-master-more, .admin-mobile-quick-actions, .admin-mobile-hero, .admin-mobile-sale-flow, .admin-mobile-sale-review, .admin-mobile-sale-navigation, .admin-mobile-back, .admin-mobile-logo, .admin-mobile-more-sheet { display: none; }
@media (max-width: 600px) {
  body.admin-master-mode { background: var(--bg); }
  body.admin-master-mode .admin-master-screen,
  body.admin-master-mode .admin-master-screen.sidebar-collapsed {
    width: 100%; height: 100dvh; display: block; overflow: hidden; background: var(--bg);
  }
  .admin-master-sidebar,
  .admin-master-screen.sidebar-collapsed .admin-master-sidebar {
    position: fixed; inset: auto 0 0; z-index: 70; width: 100%; height: calc(68px + env(safe-area-inset-bottom));
    padding: 6px 8px max(6px, env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(18px);
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; overflow: visible; box-shadow: 0 -10px 30px rgba(0,0,0,.12);
  }
  .admin-master-brand { display: none !important; }
  .admin-master-nav, .admin-master-screen.sidebar-collapsed .admin-master-nav { display: contents; }
  .admin-master-nav-item,
  .admin-master-screen.sidebar-collapsed .admin-master-nav-item,
  .admin-master-more {
    width: auto; min-width: 0; height: 54px; min-height: 54px; padding: 5px 2px; border: 0; border-radius: 12px;
    background: transparent; color: var(--muted); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px;
    font: inherit; text-align: center;
  }
  .admin-master-nav-item:nth-child(n+5) { display: none; }
  .admin-master-nav-item span, .admin-master-more span { width: auto; min-height: 22px; display: grid; place-items: center; color: currentColor; font-size: 17px; line-height: 1; }
  .admin-master-more span { font-size:0; }
  .admin-master-more span::before { content:"";width:21px;height:21px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat; }
  .admin-master-nav-item b, .admin-master-screen.sidebar-collapsed .admin-master-nav-item b, .admin-master-more b {
    display: block !important; max-width: 100%; font-size: 9px; line-height: 1.1; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .admin-master-nav-item.active,.admin-master-more.active { color: var(--primary-2); background: transparent; box-shadow: none; }
  .admin-master-nav-item:nth-child(3) { transform:translateY(-10px); }
  .admin-master-nav-item:nth-child(3) span { width:46px;height:46px;min-height:46px;border-radius:50%;background:linear-gradient(145deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 34%,transparent); }
  .admin-master-nav-item:nth-child(3).active { background:transparent; }
  .admin-master-logout { display: none; }
  .admin-master-screen.mobile-more-open::before { content: ""; position: fixed; inset: 0; z-index: 71; background: rgba(3,10,18,.54); backdrop-filter: blur(2px); }
  .mobile-more-open .admin-master-nav,
  .mobile-more-open .admin-master-screen.sidebar-collapsed .admin-master-nav {
    position: fixed; z-index: 72; left: 10px; right: 10px; bottom: calc(76px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - 105px); overflow-y:auto; padding: 18px 12px 70px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface);
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.28);
  }
  .mobile-more-open .admin-master-nav::before { content: "Mais áreas"; grid-column: 1/-1; padding: 0 4px 8px; color: var(--text); font-size: 17px; font-weight: 700; }
  .mobile-more-open .admin-master-nav-item:nth-child(-n+4) { display: none; }
  .mobile-more-open .admin-master-nav-item:nth-child(n+5) {
    display: flex; height: 58px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2);
    flex-direction: row; justify-content: flex-start; gap: 10px; text-align: left;
  }
  .mobile-more-open .admin-master-nav-item b { font-size: 11px; }
  .mobile-more-open .admin-master-logout {
    position: fixed; z-index: 73; left: 23px; right: 23px; bottom: calc(89px + env(safe-area-inset-bottom));
    width: auto; height: 44px; display: flex; justify-content: center; border: 1px solid color-mix(in srgb,#ef4444 35%,var(--border)); border-radius: 12px; background: var(--surface-2); color: #ef6b6b;
  }
  .mobile-more-open .admin-master-more { position: relative; z-index: 74; color: var(--primary-2); }
  .mobile-more-open .admin-master-nav,.mobile-more-open .admin-master-screen.sidebar-collapsed .admin-master-nav { position:static;display:contents;padding:0;border:0;background:transparent;box-shadow:none; }
  .mobile-more-open .admin-master-nav::before { display:none; }
  .mobile-more-open .admin-master-nav-item:nth-child(-n+4) { display:flex; }
  .mobile-more-open .admin-master-nav-item:nth-child(n+5),.mobile-more-open .admin-master-logout { display:none; }
  .admin-mobile-more-sheet { position:fixed;z-index:73;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px);overflow:auto;padding:18px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.34); }
  .admin-mobile-more-sheet:not([hidden]) { display:block; }
  .admin-mobile-more-sheet > header { display:flex;align-items:center;justify-content:space-between;margin-bottom:12px; }
  .admin-mobile-more-sheet > header span { color:var(--primary-2);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }
  .admin-mobile-more-sheet > header h2 { margin:3px 0 0;font-size:18px; }
  .admin-mobile-more-sheet > header button { width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:24px; }
  .admin-mobile-more-sheet nav { display:grid; }
  .admin-mobile-more-sheet nav button { min-height:54px;padding:8px 2px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;font:inherit; }
  .admin-mobile-more-sheet nav button > span { width:24px;height:24px;display:grid;place-items:center;color:var(--primary-2); }
  .admin-mobile-more-sheet nav button > span svg,.admin-mobile-more-next { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
  .admin-mobile-more-sheet nav button b { font-size:12px;font-weight:600; }
  .admin-mobile-more-next { color:var(--muted); }
  .admin-mobile-more-logout { width:100%;min-height:44px;margin-top:14px;border:0;background:transparent;color:var(--danger);font:inherit;font-size:11px;font-weight:600; }

  .admin-master-main, .admin-master-workspace { width: 100%; height: 100dvh; }
  .admin-master-workspace { grid-template-rows: 62px minmax(0,1fr); }
  .admin-master-topbar { padding: max(10px,env(safe-area-inset-top)) 16px 9px; border: 0; background: var(--bg); gap:9px; }
  .admin-mobile-logo { display:block; width:44px; max-height:24px; object-fit:contain; object-position:left center; opacity:.88; }
  .admin-mobile-back { width:36px;height:36px;min-width:36px;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);place-items:center; }
  .admin-mobile-back.visible { display:grid; }
  .admin-mobile-back svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
  .admin-master-topbar > div { min-width:0;flex:1; }
  .admin-master-topbar h1 { font-size: 21px; letter-spacing: -.02em; }
  .admin-master-topbar p { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .admin-master-topbar .theme-toggle { width: 42px; height: 42px; min-height: 42px; border-radius: 50%; background: var(--surface); border-color: var(--border); }
  .admin-master-content { padding: 8px 12px calc(82px + env(safe-area-inset-bottom)); overflow: hidden; }
  .admin-master-view { padding: 0 0 12px; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }
  .admin-master-view::-webkit-scrollbar { display: none; }
  .admin-master-view.active { gap: 14px; }

  .admin-mobile-hero { position:relative; display:grid; grid-template-columns:1fr auto; gap:14px; min-height:190px; padding:23px 21px 18px; border-radius:24px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#075e55 0%,#0e8f7d 54%,#36b991 100%); box-shadow:0 18px 38px rgba(5,104,89,.24); }
  .admin-mobile-hero::before,.admin-mobile-hero::after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.08); }
  .admin-mobile-hero::before { width:190px;height:190px;right:-75px;top:-95px; }
  .admin-mobile-hero::after { width:130px;height:130px;right:35px;bottom:-95px; }
  .admin-mobile-hero > div,.admin-mobile-hero > i,.admin-mobile-hero footer { position:relative;z-index:1; }
  .admin-mobile-hero > div { display:flex; flex-direction:column; align-items:flex-start; }
  .admin-mobile-hero > div > span { font-size:10px; text-transform:uppercase; letter-spacing:.08em; opacity:.82; }
  .admin-mobile-hero > div > b { margin-top:10px; font-size:29px; line-height:1; letter-spacing:-.04em; }
  .admin-mobile-hero > div > small { margin-top:9px; font-size:10px; opacity:.78; }
  .admin-mobile-hero > i { width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:19px;font-style:normal; }
  .admin-mobile-hero footer { grid-column:1/-1; align-self:end; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .admin-mobile-hero footer span { padding:10px 12px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(2,48,43,.17); font-size:9px; }
  .admin-mobile-hero footer b { display:block; margin-top:4px; font-size:12px; }

  .admin-master-kpis { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -12px; padding: 2px 12px 8px; scrollbar-width: none; }
  .admin-master-kpis::-webkit-scrollbar { display:none; }
  .admin-master-kpis article { flex: 0 0 min(76vw,260px); min-height: 112px; padding: 17px; border: 0; border-radius: 18px; scroll-snap-align: start; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
  .admin-master-kpis article:nth-child(4),.admin-master-kpis article:nth-child(5),.admin-master-kpis article:nth-child(6) { display:none; }
  .admin-master-kpis article::after { width: 34px; height: 3px; margin: 10px 0 0; border-radius: 99px; }
  .admin-master-kpis span { font-size: 10px; letter-spacing: .06em; }
  .admin-master-kpis b { font-size: 25px; letter-spacing: -.03em; }
  .admin-master-kpis small { font-size: 10px; }

  .admin-mobile-quick-actions { display:grid; gap:10px; }
  .admin-mobile-quick-actions header { display:flex; align-items:end; justify-content:space-between; padding:0 2px; }
  .admin-mobile-quick-actions h2 { margin:0; font-size:15px; }
  .admin-mobile-quick-actions header span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
  .admin-mobile-quick-actions > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .admin-mobile-quick-actions button { min-width:0; min-height:76px; padding:9px 3px; border:0; border-radius:16px; background:var(--surface); color:var(--text); display:grid; place-items:center; align-content:center; gap:7px; box-shadow:0 5px 18px rgba(0,0,0,.06); }
  .admin-mobile-quick-actions button span { width:32px; height:32px; display:grid; place-items:center; background:transparent; color:var(--primary-2); font-size:14px; font-weight:700; }
  .admin-mobile-quick-actions button span { font-size:0; }
  .admin-mobile-quick-actions button span::before { content:"";width:17px;height:17px;background:currentColor;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat; }
  .admin-mobile-quick-actions button:nth-child(1) span::before {-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");}
  .admin-mobile-quick-actions button:nth-child(2) span::before {-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M3 21v-2a5 5 0 0 1 5-5h2a5 5 0 0 1 5 5v2M17 8h4M19 6v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M3 21v-2a5 5 0 0 1 5-5h2a5 5 0 0 1 5 5v2M17 8h4M19 6v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");}
  .admin-mobile-quick-actions button:nth-child(3) span::before {-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l8-8M15 8l2 2M17 6l2 2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l8-8M15 8l2 2M17 6l2 2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");}
  .admin-mobile-quick-actions button:nth-child(4) span::before {-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M7 10h10M7 14h6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M7 10h10M7 14h6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");}
  .admin-mobile-quick-actions button b { max-width:100%; font-size:9px; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .admin-mobile-quick-actions button:active { transform:scale(.97); }

  .admin-master-panel { padding: 16px; border: 0; border-radius: 18px; box-shadow: 0 5px 20px rgba(0,0,0,.06); overflow: visible; }
  .admin-master-panel > header { margin-bottom: 14px; align-items: center; flex-wrap: wrap; }
  .admin-master-panel h2 { font-size: 16px; letter-spacing: -.01em; }
  .admin-master-panel h3 { margin: 20px 0 10px; font-size: 10px; letter-spacing: .08em; }
  .admin-master-panel header p { margin-top: 4px; font-size: 11px; line-height: 1.45; }
  .admin-master-panel .btn, .admin-master-form-actions .btn, .admin-calendar-controls .btn, .tiny-btn { min-height: 44px; padding: 0 14px; border-radius: 12px; font-size: 11px; }
  .admin-master-dashboard-grid { gap: 12px; }
  .admin-master-compact-list article { min-height: 56px; padding: 10px 0; gap: 10px; }
  .admin-master-compact-list article b { font-size: 12px; }
  .admin-master-compact-list article span { margin-top: 3px; font-size: 10px; white-space: normal; }

  .admin-sales-trend-panel > header { display: grid; gap: 12px; }
  .admin-trend-filters { width: 100%; gap: 8px; }
  .admin-trend-filters select { flex: 1; height: 42px; border-radius: 11px; font-size: 11px; }
  .admin-sales-trend-panel #adminSalesTrend { overflow: hidden; }
  .admin-trend-chart { width: 100%; min-width: 0; height: 180px; }
  .admin-trend-summary { margin: 4px 0 8px; }
  .admin-trend-summary b { font-size: 23px; }

  .admin-master-form-grid, .admin-modal-form { grid-template-columns: 1fr; gap: 12px; }
  .admin-master-form-grid label span, .admin-modal-form label { font-size: 10px; }
  .admin-master-login-card input, .admin-master-form-grid input, .admin-master-form-grid select, .admin-master-form-grid textarea,
  .admin-modal-form input, .admin-modal-form select, .admin-modal-form textarea { min-height: 48px; padding: 10px 12px; border-radius: 12px; font-size: 16px; }
  .admin-master-form-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .admin-master-form-actions .btn { width: 100%; }
  .admin-finance-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .admin-finance-filters > * { width: 100%; min-height: 44px; border-radius: 11px; }
  .admin-finance-filters > :last-child { grid-column: 1/-1; }
  .admin-finance-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
  .admin-finance-kpis article { min-height: 78px; padding: 12px; border-radius: 14px; }

  .admin-master-table-wrap { max-height: none; overflow: visible; border: 0; }
  .admin-master-table, .admin-master-table.wide, .admin-clients-table { width:100%; min-width:0; display:block; }
  .admin-master-table thead { display:none; }
  .admin-master-table tbody { display:grid; gap:10px; }
  .admin-master-table tr { display:grid; padding:14px; border:1px solid var(--border); border-radius:15px; background:var(--surface-2); }
  .admin-master-table td { max-width:none; min-height:34px; padding:7px 0; border-bottom:1px solid var(--border); white-space:normal; overflow:visible; display:flex; justify-content:space-between; align-items:center; gap:14px; text-align:right; font-size:11px; }
  .admin-master-table td:last-child { border:0; padding-bottom:0; }
  .admin-master-table td::before { content:"Detalhe"; flex:0 0 auto; color:var(--muted); font-size:9px; font-weight:600; text-transform:uppercase; text-align:left; }
  .admin-clients-table td:nth-child(1)::before{content:"Cliente"}.admin-clients-table td:nth-child(2)::before{content:"Responsável"}.admin-clients-table td:nth-child(3)::before{content:"Tipo"}.admin-clients-table td:nth-child(4)::before{content:"Plano"}.admin-clients-table td:nth-child(5)::before{content:"Incluídos"}.admin-clients-table td:nth-child(6)::before{content:"Extras"}.admin-clients-table td:nth-child(7)::before{content:"Total"}.admin-clients-table td:nth-child(8)::before{content:"Ativos"}.admin-clients-table td:nth-child(9)::before{content:"Mensalidade"}.admin-clients-table td:nth-child(10)::before{content:"Vencimento"}.admin-clients-table td:nth-child(11)::before{content:"Financeiro"}.admin-clients-table td:nth-child(12)::before{content:"Conta"}.admin-clients-table td:nth-child(13)::before{content:"Ações"}
  #admin-master-view-receivables .admin-master-table td:nth-child(1)::before{content:"Cliente"}#admin-master-view-receivables .admin-master-table td:nth-child(2)::before{content:"Plano"}#admin-master-view-receivables .admin-master-table td:nth-child(3)::before{content:"Competência"}#admin-master-view-receivables .admin-master-table td:nth-child(4)::before{content:"Vencimento"}#admin-master-view-receivables .admin-master-table td:nth-child(5)::before{content:"Previsto"}#admin-master-view-receivables .admin-master-table td:nth-child(6)::before{content:"Pago"}#admin-master-view-receivables .admin-master-table td:nth-child(7)::before{content:"Pagamento"}#admin-master-view-receivables .admin-master-table td:nth-child(8)::before{content:"Status"}#admin-master-view-receivables .admin-master-table td:nth-child(9)::before{content:"Forma"}#admin-master-view-receivables .admin-master-table td:nth-child(10)::before{content:"Observação"}#admin-master-view-receivables .admin-master-table td:nth-child(11)::before{content:"Ações"}
  .admin-master-actions { justify-content:flex-end; flex-wrap:wrap; }
  .admin-master-table td .admin-master-actions { flex:1; }

  .admin-clients-table tr { cursor:pointer; grid-template-columns:1fr auto; gap:0 12px; box-shadow:0 5px 18px rgba(0,0,0,.04); }
  .admin-clients-table td { grid-column:1/-1; }
  .admin-clients-table td:nth-child(1) { padding:0 0 5px; border:0; justify-content:flex-start; text-align:left; }
  .admin-clients-table td:nth-child(1)::before { display:none; }
  .admin-clients-table td:nth-child(1) b { font-size:14px; }
  .admin-clients-table td:nth-child(2),.admin-clients-table td:nth-child(3),.admin-clients-table td:nth-child(5),.admin-clients-table td:nth-child(6),.admin-clients-table td:nth-child(7) { display:none; }
  .admin-clients-table td:nth-child(13) { padding-top:10px; }
  #admin-master-view-receivables .admin-master-table td:nth-child(3),#admin-master-view-receivables .admin-master-table td:nth-child(7),#admin-master-view-receivables .admin-master-table td:nth-child(9),#admin-master-view-receivables .admin-master-table td:nth-child(10) { display:none; }

  .admin-mobile-sale-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:0 0 16px; }
  .admin-mobile-sale-flow button { position:relative; min-width:0; padding:0 2px 10px; border:0; border-bottom:2px solid var(--border); background:transparent; color:var(--muted); display:flex; align-items:center; justify-content:center; gap:5px; font:inherit; }
  .admin-mobile-sale-flow button span { width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:9px;font-weight:700; }
  .admin-mobile-sale-flow button b { font-size:9px; }
  .admin-mobile-sale-flow button.active { border-color:var(--primary); color:var(--primary-2); }
  .admin-mobile-sale-flow button.active span { background:var(--primary); color:#fff; }
  .admin-mobile-sale-navigation { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:15px; }
  .admin-mobile-sale-navigation .btn { width:100%; }
  .admin-mobile-sale-review { gap:0; }
  .admin-mobile-sale-review h3 { margin:0 0 10px; }
  .admin-mobile-sale-review article { padding:12px 0; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; gap:14px; }
  .admin-mobile-sale-review article span { color:var(--muted);font-size:10px; }
  .admin-mobile-sale-review article b { max-width:65%;font-size:11px;text-align:right; }
  #adminNewSaleForm[data-mobile-sale-step="1"] .admin-sale-step-plan,#adminNewSaleForm[data-mobile-sale-step="1"] .admin-mobile-sale-review,#adminNewSaleForm[data-mobile-sale-step="1"] .admin-sale-access-note,#adminNewSaleForm[data-mobile-sale-step="1"] > .admin-master-form-actions,#adminNewSaleForm[data-mobile-sale-step="1"] > .auth-status { display:none; }
  #adminNewSaleForm[data-mobile-sale-step="1"] [data-sale-step-back] { visibility:hidden; }
  #adminNewSaleForm[data-mobile-sale-step="2"] .admin-sale-step-client,#adminNewSaleForm[data-mobile-sale-step="2"] .admin-mobile-sale-review,#adminNewSaleForm[data-mobile-sale-step="2"] .admin-sale-access-note,#adminNewSaleForm[data-mobile-sale-step="2"] > .admin-master-form-actions,#adminNewSaleForm[data-mobile-sale-step="2"] > .auth-status { display:none; }
  #adminNewSaleForm[data-mobile-sale-step="3"] .admin-sale-step,#adminNewSaleForm[data-mobile-sale-step="3"] .admin-sale-step-heading { display:none; }
  #adminNewSaleForm[data-mobile-sale-step="3"] .admin-mobile-sale-review { display:grid; }
  #adminNewSaleForm[data-mobile-sale-step="3"] [data-sale-step-next] { display:none; }
  #adminNewSaleForm[data-mobile-sale-step="3"] .admin-mobile-sale-navigation { grid-template-columns:1fr; }

  .admin-access-panel { min-height:auto; display:block; }
  .admin-access-groups { overflow:visible; display:grid; }
  .admin-access-person { padding: 12px; border-radius: 13px; grid-template-columns:minmax(0,1fr); gap:10px; }
  .admin-access-person > div:first-child { grid-column:1;grid-row:1; }
  .admin-access-person > .admin-master-actions { grid-column:1;grid-row:2;justify-self:stretch;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px; }
  .admin-access-person > .admin-master-actions .icon-action-btn { width:100%;height:38px;min-height:38px;border-radius:11px;background:var(--surface-2); }
  .admin-access-person > .admin-master-actions .icon-action-btn svg { width:17px;height:17px; }
  .admin-access-toggle { min-height: 54px; border-radius: 13px 13px 0 0; }
  .admin-access-group { border-radius: 14px; overflow:hidden; }
  .admin-access-principal, .admin-access-children { padding:10px; position:relative; z-index:1; }
  .admin-access-children:not([hidden]) { display:block; }
  .admin-calendar-panel { overflow-x:hidden; }
  .admin-calendar-controls { width:100%; display:grid; grid-template-columns:1fr 1fr 1fr; }
  .admin-calendar-week, .admin-financial-calendar { min-width:0; }
  .admin-calendar-day { min-height:54px; padding:4px 2px; }
  .admin-calendar-day span { display:none; }

  .admin-master-modal { width:100%; max-width:100%; margin:auto 0 0; border-radius:22px 22px 0 0; }
  .admin-master-modal::backdrop { background:rgba(3,10,18,.58); backdrop-filter:blur(2px); }
  .admin-master-modal .modal-card { width:100%; max-height:92dvh; border-radius:22px 22px 0 0; }
  .admin-master-modal .modal-card > header { padding:17px 16px 12px; }
  .admin-master-modal .modal-card > footer { padding:10px 16px max(12px,env(safe-area-inset-bottom)); }
  .admin-master-modal-body { max-height:calc(92dvh - 132px); padding:12px 16px 18px; gap:10px; }
  .admin-master-modal-body article, .admin-modal-history { padding:12px; border-radius:13px; }
  .toast { left:12px; right:12px; top:auto; bottom:calc(80px + env(safe-area-inset-bottom)); max-width:none; width:auto; padding:14px 16px; border-radius:12px; font-size:13px; }
}

@media (max-width: 350px) {
  .admin-master-sidebar, .admin-master-screen.sidebar-collapsed .admin-master-sidebar { padding-inline:4px; }
  .admin-master-nav-item b, .admin-master-more b { font-size:8px; }
  .admin-master-content { padding-inline:9px; }
  .admin-master-kpis { margin-inline:-9px; padding-inline:9px; }
  .admin-finance-filters { grid-template-columns:1fr; }
  .admin-finance-filters > :last-child { grid-column:auto; }
}

/* Admin claro: relevo suave e contraste sem perder a aparência limpa. */
[data-theme="light"] .admin-master-screen {
  --bg: #e1e7ed;
  --bg-soft: #e7ecf1;
  --surface: #f7f9fb;
  --surface-2: #edf1f5;
  --surface-3: #e2e8ee;
  --border: #c4ced8;
  --border-strong: #9facb9;
  background: linear-gradient(145deg, #e8edf2, #dbe2e9);
}
[data-theme="light"] .admin-master-panel,
[data-theme="light"] .admin-master-kpis article,
[data-theme="light"] .admin-finance-kpis article,
[data-theme="light"] .admin-master-table tr,
[data-theme="light"] .admin-mobile-hero,
[data-theme="light"] .admin-mobile-quick-actions {
  border-color: rgba(151, 165, 179, .62);
  box-shadow: 9px 9px 22px rgba(145, 157, 169, .25), -7px -7px 18px rgba(255, 255, 255, .82);
}
[data-theme="light"] .admin-master-panel,
[data-theme="light"] .admin-master-table tr { background: #f5f7f9; }
[data-theme="light"] .admin-master-form-grid input,
[data-theme="light"] .admin-master-form-grid select,
[data-theme="light"] .admin-master-form-grid textarea,
[data-theme="light"] .admin-modal-form input,
[data-theme="light"] .admin-modal-form select,
[data-theme="light"] .admin-modal-form textarea {
  background: #edf1f4;
  border-color: #b8c3ce;
  box-shadow: inset 2px 2px 5px rgba(152, 164, 176, .18), inset -2px -2px 5px rgba(255, 255, 255, .8);
}

/* Acessos: sanfona nativa, resistente a novas renderizações. */
.admin-access-group { border-radius: 14px; overflow: hidden; }
.admin-access-group > summary { list-style: none; }
.admin-access-group > summary::-webkit-details-marker { display: none; }
.admin-access-group[open] > .admin-access-toggle > span { transform: rotate(90deg); }
.admin-access-group:not([open]) > .admin-access-toggle { border-bottom-color: transparent; }
.admin-access-group .admin-access-toggle { cursor: pointer; user-select: none; }
.admin-access-group .admin-access-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: -3px; }
.admin-access-group .admin-access-toggle em {
  min-width: 28px;
  border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
  color: var(--primary-2);
  font-weight: 800;
}
.admin-access-group .admin-access-principal { border-bottom: 1px solid var(--border); }
.admin-access-group .admin-access-children { border-top: 0; }
.admin-access-person > .admin-master-actions .icon-action-btn {
  color: var(--text);
  opacity: 1;
}
.admin-access-person > .admin-master-actions .icon-action-btn svg {
  display: block;
  stroke: currentColor;
  fill: none;
}
[data-theme="light"] .admin-access-groups .admin-access-group {
  background: #f4f7f9;
  border: 1px solid #aebbc7;
  box-shadow: 8px 8px 18px rgba(145, 157, 169, .27), -6px -6px 15px rgba(255, 255, 255, .78);
}
[data-theme="light"] .admin-access-group .admin-access-toggle {
  background: linear-gradient(145deg, #e9f0ed, #dce7e2);
  color: #182820;
}
[data-theme="light"] .admin-access-group .admin-access-principal { background: #f7f9fa; }
[data-theme="light"] .admin-access-group .admin-access-children {
  background: #dfe7e4;
  box-shadow: inset 0 5px 12px rgba(113, 130, 122, .13);
}
[data-theme="light"] .admin-access-group .admin-access-children .admin-access-person {
  background: #f4f7f6;
  border-color: #aebdb6;
  box-shadow: 4px 4px 10px rgba(132, 148, 141, .18), -3px -3px 8px rgba(255, 255, 255, .8);
}

@media (max-width: 760px) {
  .admin-access-person > .admin-master-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }
  .admin-access-person > .admin-master-actions .icon-action-btn {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 6px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
  }
  .admin-access-person > .admin-master-actions .icon-action-btn:hover,
  .admin-access-person > .admin-master-actions .icon-action-btn:focus-visible {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
  }
}

/* Desktop compacto: preserva todos os dados e traz as ações para dentro do card. */
@media (min-width: 761px) and (max-width: 1500px) {
  .admin-access-person {
    grid-template-columns: minmax(150px, 1.2fr) minmax(130px, 1fr) auto auto;
    align-items: center;
  }
  .admin-access-person > .admin-master-actions {
    grid-column: 1 / -1;
    justify-self: end;
    display: flex;
    gap: 7px;
    padding-top: 7px;
    border-top: 1px solid var(--border);
  }
  .admin-access-person > .admin-master-actions .icon-action-btn {
    width: 31px;
    min-width: 31px;
    height: 31px;
  }
}

/* Desktop: hierarquia plana, sem cards arredondados aninhados ou ações cortadas. */
@media (min-width: 761px) {
  .admin-access-groups { overflow-x: visible; gap: 14px; }
  .admin-access-groups .admin-access-group,
  [data-theme="light"] .admin-access-groups .admin-access-group {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .admin-access-group .admin-access-toggle {
    min-height: 48px;
    border: 1px solid var(--border-strong);
    border-radius: 0;
    background: var(--surface-3);
  }
  .admin-access-group .admin-access-principal,
  .admin-access-group .admin-access-children,
  [data-theme="light"] .admin-access-group .admin-access-principal,
  [data-theme="light"] .admin-access-group .admin-access-children {
    border-radius: 0;
    box-shadow: none;
  }
  .admin-access-group .admin-access-principal {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-top: 0;
    background: var(--surface);
  }
  .admin-access-group .admin-access-children,
  .admin-access-group .admin-access-children[hidden] {
    padding: 10px 12px 10px 24px;
    border: 1px solid var(--border);
    border-top: 0;
    border-left: 4px solid var(--primary);
    background: var(--surface-2);
  }
  .admin-access-group .admin-access-person,
  .admin-access-group .admin-access-children .admin-access-person,
  [data-theme="light"] .admin-access-group .admin-access-children .admin-access-person {
    width: 100%;
    padding: 9px 4px;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    grid-template-columns: minmax(160px, 1.2fr) minmax(150px, 1fr) auto auto;
  }
  .admin-access-group .admin-access-person:last-child { border-bottom: 0; }
  .admin-access-person > .admin-master-actions {
    grid-column: 1 / -1;
    justify-self: start;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
  }
  .admin-access-person > .admin-master-actions .icon-action-btn {
    width: auto;
    min-width: 0;
    height: 32px;
    padding: 0 10px !important;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface);
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .admin-access-person > .admin-master-actions .icon-action-btn::after {
    content: attr(aria-label);
    font-size: 9px;
    font-weight: 650;
    white-space: nowrap;
  }
  .admin-access-person > .admin-master-actions .icon-action-btn svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
  }

  /* Equipe expandida usa o mesmo verde da sidebar para separar a hierarquia. */
  .admin-access-group .admin-access-children,
  [data-theme="light"] .admin-access-group .admin-access-children {
    color: var(--sidebar-text);
    border-color: var(--sidebar-line);
    border-left-color: var(--primary-2);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .06), transparent 44%),
      linear-gradient(180deg, var(--sidebar-glass), var(--sidebar-glass-deep));
  }
  .admin-access-group .admin-access-children > label { color: #82dbc0; }
  .admin-access-group .admin-access-children .admin-access-person {
    color: var(--sidebar-text);
    border-bottom-color: var(--sidebar-line);
  }
  .admin-access-group .admin-access-children .admin-access-person small,
  .admin-access-group .admin-access-children .admin-access-person > span {
    color: var(--sidebar-muted);
  }
  .admin-access-group .admin-access-children .admin-access-person > .admin-master-actions {
    border-top-color: var(--sidebar-line);
  }
  .admin-access-group .admin-access-children .icon-action-btn {
    color: var(--sidebar-text);
    border-color: var(--sidebar-line);
    background: rgba(255, 255, 255, .07);
  }
  .admin-access-group .admin-access-children .admin-access-token code { color: #dff4eb; }
}

/* Cabeçalho de cada empresa e mensagens vazias com contraste consistente. */
.admin-access-group .admin-access-toggle,
[data-theme="light"] .admin-access-group .admin-access-toggle {
  color: var(--sidebar-text);
  border-color: var(--sidebar-line);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .07), transparent 44%),
    linear-gradient(180deg, var(--sidebar-glass), var(--sidebar-glass-deep));
}
.admin-access-group .admin-access-toggle b { color: var(--sidebar-text); }
.admin-access-group .admin-access-toggle small { color: var(--sidebar-muted); }
.admin-access-group .admin-access-toggle > span { color: #82dbc0; }
.admin-access-group .admin-access-toggle em {
  color: #dff4eb;
  border-color: var(--sidebar-line);
  background: rgba(255, 255, 255, .07);
}
.admin-access-group .admin-access-children > p,
[data-theme="light"] .admin-access-group .admin-access-children > p {
  color: var(--sidebar-text);
  opacity: .92;
}

/* Supervisor ownership marker: intentionally identical in light and dark themes. */
.kanban-card.lead-assigned,
[data-theme="light"] .kanban-card.lead-assigned {
  background: #d9f5df !important;
  border-color: #2e9d57 !important;
  box-shadow: inset 3px 0 0 #238447, 0 5px 16px rgba(31, 126, 68, .16) !important;
  color: #153c22 !important;
}
.kanban-card.lead-assigned small,
.kanban-card.lead-assigned .card-meta span { color: #416a4d !important; }
.lead-row.lead-assigned > td,
[data-theme="light"] .lead-row.lead-assigned > td { background: #d9f5df !important; color: #153c22 !important; }
.lead-row.lead-assigned > td:first-child { box-shadow: inset 3px 0 0 #238447; }
.lead-row.lead-assigned .muted,
.lead-row.lead-assigned .contact-main > span { color: #416a4d !important; }
.lead-owner-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  padding: 3px 6px;
  border: 1px solid #55a66d;
  border-radius: 999px;
  background: #bce8c8;
  color: #174d29 !important;
  font-size: 9px !important;
  line-height: 1;
}
.lead-owner-badge svg { width: 12px; height: 12px; flex: 0 0 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.lead-owner-badge b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-main .lead-owner-badge { margin-top: 3px; }
.icon-action.team.assigned { background: #bce8c8 !important; border-color: #2e9d57 !important; color: #174d29 !important; }
.supervisor-deal.company-provided,
[data-theme="light"] .supervisor-deal.company-provided {
  background: #d9f5df !important;
  border-color: #2e9d57 !important;
  box-shadow: inset 3px 0 0 #238447 !important;
  color: #153c22 !important;
}
.supervisor-deal.company-provided .supervisor-deal-seller { color: #416a4d !important; }
.supervisor-deal.company-provided small { color: #24693b !important; }
.supervisor-company-lead {
  width: fit-content;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 2px 5px;
  border-radius: 999px;
  background: #bce8c8;
  color: #174d29;
  font-size: 7px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

/* Parceiros Brasil */
.brazil-partners-page{display:grid;gap:18px}.brazil-partners-hero{padding:26px 30px;border-radius:18px;background:linear-gradient(125deg,#075d47,#0c8b65);color:#fff;box-shadow:0 16px 38px rgba(3,78,57,.2)}.brazil-partners-hero>span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9ff0d2}.brazil-partners-hero h2{max-width:800px;margin:7px 0;font-size:29px;line-height:1.14}.brazil-partners-hero p{margin:0;max-width:760px;color:#d9f5eb}.brazil-partners-layout{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(310px,.65fr);gap:18px}.brazil-map-card,.brazil-partner-results{min-height:560px;padding:22px;border:1px solid var(--border,#dde5e1);border-radius:18px;background:var(--card,#fff);box-shadow:0 12px 34px rgba(20,47,39,.08)}.brazil-map-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.brazil-map-heading h3,.brazil-partner-results h3{margin:0 0 4px}.brazil-map-heading p,.brazil-partner-results header p{margin:0;color:var(--muted,#69766f);font-size:13px}.brazil-map-heading>span{padding:7px 10px;border-radius:20px;background:#e9f8f2;color:#087457;font-size:11px;font-weight:800}.brazil-partner-map{display:grid;grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(18,25px);gap:2px;max-width:650px;margin:28px auto 0;padding:20px;background:radial-gradient(circle at 50% 45%,#eff9f5 0,transparent 65%)}.brazil-state{grid-row:var(--row)/span 2;grid-column:var(--col)/span 2;display:grid;place-content:center;min-width:38px;border:1px solid #b7d5c9;border-radius:9px;background:#dfece7;color:#44645a;cursor:pointer;transition:.16s}.brazil-state b{font-size:12px}.brazil-state small{font-size:8px}.brazil-state:hover,.brazil-state.has-partners{background:#77c9a9;color:#083d2f;border-color:#3ca77e;transform:translateY(-1px)}.brazil-state.active{background:#08785a;color:#fff;border-color:#075a45;box-shadow:0 0 0 3px rgba(8,120,90,.18)}.brazil-partner-results>header>span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0b8965}.brazil-partner-cards{display:grid;gap:12px;margin-top:18px;max-height:440px;overflow:auto;padding-right:3px}.brazil-partner-card{padding:16px;border:1px solid #dce7e2;border-radius:14px;background:#fff}.brazil-partner-card-head{display:flex;justify-content:space-between;gap:12px}.brazil-partner-card-head span{color:#77847e;font-size:10px;text-transform:uppercase;font-weight:800}.brazil-partner-card h4{margin:3px 0;font-size:17px;color:#16241f}.brazil-partner-card p{margin:0;color:#68756f;font-size:12px}.brazil-partner-card-head i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5f7f0;color:#087a5b;font-style:normal}.brazil-partner-products{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0}.brazil-partner-products span{padding:4px 7px;border-radius:12px;background:#f0f5f3;color:#4e5d57;font-size:10px}.brazil-partner-card .btn{width:100%;margin-top:13px}.brazil-partner-generic{margin:13px 0!important}.partner-admin-layout{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(480px,1.3fr);gap:18px}.partner-admin-form{align-self:start;position:sticky;top:15px}.partner-admin-list{display:grid;gap:9px;margin-top:15px}.partner-admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid #e1e8e5;border-radius:10px;background:#fff}.partner-admin-row h3{margin:2px 0;font-size:15px}.partner-admin-row p,.partner-admin-row>div>span{margin:0;color:#6a7771;font-size:11px}.partner-admin-row>div:last-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.brazil-partners-layout,.partner-admin-layout{grid-template-columns:1fr}.brazil-map-card,.brazil-partner-results{min-height:auto}.partner-admin-form{position:static}.brazil-partner-map{grid-template-rows:repeat(18,22px);padding:8px}.brazil-state{min-width:30px}.brazil-partners-hero{padding:22px}.brazil-partners-hero h2{font-size:23px}}
@media(max-width:600px){.brazil-partner-map{grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(18,18px);overflow:hidden}.brazil-state{min-width:25px;border-radius:6px}.brazil-state b{font-size:9px}.brazil-state small{display:none}.partner-admin-row{align-items:flex-start;flex-direction:column}.partner-admin-row>div:last-child{justify-content:flex-start}.brazil-map-heading{display:grid}}

/* Parceiros Brasil — mapa geográfico conforme modelo homologado */
#supervisor-view-brazil-partners.active{position:relative;height:calc(100vh - 118px);min-height:440px;overflow:hidden;margin:-20px}.brazil-partners-stage{position:absolute;inset:0;overflow:hidden;background:#0b100e}.brazil-partner-map{position:absolute;inset:0;display:block;max-width:none;margin:0;padding:0;background:#0b100e}.brazil-partner-map canvas{outline:none}.brazil-partners-overlay{position:absolute;z-index:4;top:18px;left:20px;width:min(560px,calc(100% - 40px));padding:14px 18px;border:1px solid rgba(130,215,177,.32);border-radius:5px;background:rgba(10,20,16,.88);box-shadow:0 12px 34px rgba(0,0,0,.28);color:#fff;pointer-events:none;backdrop-filter:blur(8px)}.brazil-partners-overlay>span{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#61dfa9}.brazil-partners-overlay h2{margin:4px 0 3px;font-size:20px;line-height:1.15}.brazil-partners-overlay p{margin:0;color:#b9c9c1;font-size:11px}.brazil-partner-loading,.brazil-partner-map-error{position:absolute;z-index:6;inset:0;display:grid;place-items:center;background:#0b100e;color:#dbe5df;font-size:13px}.brazil-partner-loading[hidden],.brazil-partner-map-error[hidden]{display:none}.brazil-map-tooltip{display:grid;gap:5px;min-width:180px;max-width:250px;padding:9px 11px;border:1px solid #33423b;border-radius:3px;background:#101613;color:#f2f6f4;box-shadow:0 10px 28px rgba(0,0,0,.34)}.brazil-map-tooltip b{padding-bottom:5px;border-bottom:1px solid #26312c;color:#a7b2ad;font-size:9px}.brazil-map-tooltip span{font-size:11px;font-weight:700;color:#f2f6f4}.brazil-partner-modal-backdrop{position:fixed;z-index:10020;inset:0;align-items:center;justify-content:center;padding:14px;background:rgba(0,0,0,.65)}.brazil-partner-modal-backdrop:not([hidden]){display:flex}.brazil-partner-modal{width:min(390px,100%);max-height:calc(100vh - 28px);overflow:auto;border:1px solid #ced5d1;border-radius:5px;background:#fff;box-shadow:0 18px 52px rgba(0,0,0,.42);color:#1a231f}.brazil-partner-modal>header{display:flex;justify-content:space-between;gap:12px;padding:13px 14px 11px;border-bottom:1px solid #d8dfdb}.brazil-partner-modal>header span{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#637069}.brazil-partner-modal>header h2{margin:3px 0;font-size:16px}.brazil-partner-modal>header p{margin:0;color:#637069;font-size:10px}.brazil-partner-modal>header button{width:28px;height:28px;flex:0 0 28px;border:1px solid #d2d8d5;border-radius:3px;background:#fff;color:#1b2420;font-size:17px;cursor:pointer}.brazil-partner-commission{margin:11px 14px 0;padding:8px 9px;border:1px solid #dce4df;background:#f4f7f5;color:#46524c;font-size:10px;line-height:1.35}.brazil-partner-modal-list{display:grid;gap:7px;padding:9px 14px}.brazil-partner-modal-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #d8dfdb;border-radius:3px}.brazil-partner-modal-list h3{margin:0;font-size:12px}.brazil-partner-modal-list p{margin:3px 0 0;color:#66726d;font-size:9px}.brazil-partner-modal-list a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:3px;background:#0d8f60;color:#fff;text-decoration:none;font-size:10px;font-weight:800}.brazil-partner-modal>footer{padding:0 14px 11px;color:#66726d;font-size:8px}
@media(max-width:600px){#supervisor-view-brazil-partners.active{height:calc(100dvh - 104px);min-height:360px;margin:-12px}.brazil-partners-overlay{top:10px;left:10px;width:calc(100% - 20px);padding:10px 12px}.brazil-partners-overlay h2{font-size:15px}.brazil-partners-overlay p{font-size:9px}.brazil-partner-modal-list article{grid-template-columns:1fr}.brazil-partner-modal-list a{width:100%}}

/* Apresentacao discreta: o mapa ocupa toda a area e o aviso pode ser fechado. */
.brazil-partners-overlay {
  top: 14px;
  right: 14px;
  left: auto;
  width: min(370px, calc(100% - 28px));
  padding: 13px 42px 13px 15px;
  pointer-events: auto;
}
.brazil-partners-overlay[hidden] { display: none; }
.brazil-partners-overlay > button {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(190, 229, 211, .24);
  border-radius: 50%;
  background: rgba(255, 255, 255, .06);
  color: #dce9e3;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}
.brazil-partners-overlay > button:hover { background: rgba(255, 255, 255, .13); color: #fff; }
.brazil-partners-overlay h2 { font-size: 15px; line-height: 1.18; }
.brazil-partners-overlay p { font-size: 10px; line-height: 1.35; }

@media(max-width:600px) {
  .brazil-partners-overlay { top: 8px; right: 8px; left: auto; width: calc(100% - 16px); padding: 11px 38px 11px 12px; }
  .brazil-partners-overlay h2 { font-size: 14px; }
}

/* Compact sidebar submenus use the top layer, outside the sidebar clipping. */
.supervisor-screen .supervisor-hover-submenu:popover-open {
  display:grid; position:fixed; inset:auto; width:190px; max-height:calc(100dvh - 20px);
  margin:0; padding:8px; gap:3px; overflow:auto; opacity:1; visibility:visible;
  background:var(--surface); color:var(--text); border:1px solid var(--border);
  border-radius:8px; box-shadow:var(--shadow); transition:none;
}
.supervisor-screen .supervisor-hover-submenu:popover-open .supervisor-nav-item {
  width:100%; min-height:32px; padding:6px 8px; justify-content:flex-start; color:var(--text);
}
.supervisor-screen .supervisor-hover-submenu:popover-open .supervisor-nav-item b { display:block; }
.supervisor-hover-submenu:popover-open > span { display:block; font-size:10px; padding:4px 8px; color:var(--muted); }

.supervisor-broker-avatar { position:relative; overflow:hidden; flex-shrink:0; }
.supervisor-broker-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }

/* RH: colunas e cartões contidos, com leitura compacta. */
.rh-candidates-panel { display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.rh-candidates-panel > header { flex-shrink:0; flex-wrap:wrap; gap:8px; }
.rh-kanban { min-width:0; width:100%; min-height:0; flex:1; grid-template-columns:repeat(7,minmax(145px,1fr)); overflow:auto; align-items:stretch; padding-bottom:5px; }
.rh-lane { display:flex; flex-direction:column; min-width:0; }
.rh-lane > header { font-size:11px; flex-shrink:0; }
.rh-lane > div { align-content:start; min-width:0; }
.rh-candidate-card { min-width:0; width:100%; padding:7px; gap:6px; align-content:start; }
.rh-candidate-card > header { min-width:0; align-items:flex-start; }
.rh-candidate-card > header > b { min-width:0; flex:1; font-size:11px; line-height:1.35; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rh-candidate-head-actions { flex-shrink:0; flex-direction:column-reverse; gap:3px; }
.rh-candidate-head-actions .tiny-btn { width:24px; min-width:24px; height:24px; padding:4px; }
.rh-candidate-summary { padding:6px; }
.rh-candidate-summary span { font-size:10px; line-height:1.4; }
.rh-card-actions { flex-wrap:wrap; gap:4px!important; }
.rh-card-icon { width:25px; height:25px; flex-basis:25px; padding:5px; }
.rh-card-actions > :not(.rh-card-icon) { min-width:0; max-width:100%; font-size:9px; overflow-wrap:anywhere; }
.rh-disc-waiting { flex:1; padding:5px 3px; }
.rh-disc-result-btn { height:25px; }
.rh-disc-result-btn b { font-size:10px; margin-left:2px; }
.rh-card-actions .btn { white-space:normal; height:auto; min-height:25px; }
.rh-commercial-result p,.rh-commercial-result li { font-size:11px; line-height:1.5; color:var(--muted); }
/* Landing pública: formulário com altura própria e campos claros em ambos os temas. */
.public-vacancy-mode,.public-vacancy-screen { height:auto; overflow:auto; }
.public-vacancy-page { height:auto; display:block; }
.public-vacancy-page > header { padding:8px 0 16px; }
.public-vacancy-hero { min-height:0; padding:28px 32px; }
.public-vacancy-hero h1 { font-size:clamp(25px,3.5vw,42px); overflow-wrap:anywhere; }
.public-vacancy-hero p { font-size:15px; overflow-wrap:anywhere; }
.public-vacancy-content { grid-template-columns:minmax(0,1fr) minmax(300px,390px); align-items:start; overflow:visible; gap:24px; padding:22px 0; }
.public-vacancy-content > article { overflow:visible; min-width:0; font-size:14px; overflow-wrap:anywhere; }
.public-application-form { align-self:start; align-content:start; grid-template-columns:repeat(2,minmax(0,1fr)); height:auto; max-height:none; overflow:visible; padding:20px; gap:12px; color-scheme:light; }
.public-application-form label { min-width:0; align-content:start; }
.public-application-form h2 { font-size:20px; }
.public-application-form > p { font-size:12px; line-height:1.5; }
.public-application-form label span { font-size:11px; }
.public-application-form input,.public-application-form select,.public-application-form textarea { width:100%; min-width:0; background:#f7fafb!important; color:#203442!important; border:1px solid #d4e0e4!important; border-radius:7px; padding:9px 10px; font-size:12px; box-shadow:none; }
.public-application-form input,.public-application-form select { height:38px; }
.public-application-form textarea { height:86px; min-height:86px; resize:vertical; }
.public-application-form input:focus,.public-application-form select:focus,.public-application-form textarea:focus { outline:2px solid #0e828250; outline-offset:1px; }
@media(max-width:760px) { .public-vacancy-content { grid-template-columns:minmax(0,1fr); } .public-vacancy-hero { padding:22px; } }
@media(max-width:400px) { .public-application-form { grid-template-columns:minmax(0,1fr); padding:16px; } }

.public-application-form > small { grid-column:1 / -1; color:#526273; font-size:11px; line-height:1.5; }

/* Public vacancies scroll at the document level, including desktop. */
html.public-vacancy-root { height:auto; min-height:100%; overflow-y:auto; overflow-x:hidden; }
html.public-vacancy-root body.public-vacancy-mode { height:auto; min-height:100vh; overflow:visible; }
.rh-email-edit { justify-self:start; }
.rh-email-form { display:grid; gap:8px; min-width:0; }
.rh-email-form[hidden] { display:none; }
.rh-email-form label { display:grid; gap:5px; }
.rh-email-form input { width:100%; min-width:0; }
.rh-email-form>div { display:flex; gap:6px; flex-wrap:wrap; }

/* Explicit contrast for the public form, independent of the CRM theme/login. */
body.public-vacancy-mode #publicApplicationForm { color:#203442; color-scheme:light; }
body.public-vacancy-mode #publicApplicationForm label>span { color:#405565; }
body.public-vacancy-mode #publicApplicationStatus { color:#405565; background:#eaf0f3; border-left-color:#607d8b; }
body.public-vacancy-mode #publicApplicationStatus.error { color:#a42534; background:#fff0f0; border-left-color:#a42534; }
body.public-vacancy-mode #publicApplicationStatus.ok { color:#087544; background:#e8f6ee; border-left-color:#087544; }
.rh-card-actions .rh-hire-check { color:#39e75f; background:transparent; border-color:transparent; flex:0 0 25px; width:25px; height:25px; padding:3px; }
.rh-card-actions .rh-hire-check:hover { background:rgba(57,231,95,.12); border-color:currentColor; }
.rh-hire-check svg { width:18px; height:18px; }
.rh-card-actions .rh-disc-result-btn { flex-shrink:0; white-space:nowrap; }

.rh-view-tabs { display:flex; gap:6px; padding:0 0 10px; flex-shrink:0; }
.rh-view-tabs .active { color:var(--primary); border-color:var(--primary); }
#rhCandidateKanban[hidden],#rhApprovedPanel[hidden] { display:none; }
.rh-approved-panel { display:flex; flex-direction:column; min-height:0; gap:10px; flex:1; }
.rh-approved-search { display:grid; gap:5px; font-size:11px; width:min(380px,100%); }
.rh-approved-list { overflow:auto; min-height:0; }
.rh-approved-list table { width:100%; border-collapse:collapse; font-size:11px; }
.rh-approved-list th,.rh-approved-list td { padding:10px 8px; border-bottom:1px solid var(--border); text-align:left; vertical-align:middle; }
.rh-approved-list th { white-space:nowrap; font-size:10px; }
.rh-approved-list td { overflow-wrap:anywhere; min-width:110px; }
.rh-approved-list small { display:block; color:var(--muted); margin-top:4px; }

.rh-approved-actions { display:flex; align-items:center; gap:7px; flex-wrap:nowrap; }
.rh-approved-actions .rh-card-icon { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex:0 0 30px; padding:5px; border-radius:8px; background:var(--surface-2); }
.rh-approved-actions svg { width:19px; height:19px; }
.rh-approved-actions [data-approved-disc] { color:#19b995; }
.rh-approved-actions .rh-dismiss-btn { color:#f08b48; }
.rh-approved-actions .rh-card-icon:hover { border-color:currentColor; }

/* Revenue ranking: podium trophies remain distinct from profile photos. */
.supervisor-ranked-name { display:flex; align-items:center; gap:6px; min-width:0; }
.supervisor-ranked-name > span:last-child { overflow-wrap:anywhere; }
.supervisor-ranking-trophy { display:inline-flex; flex-direction:column; flex:0 0 44px; width:44px; gap:2px; align-items:center; justify-content:center; }
.supervisor-ranking-label { font-size:9px; font-weight:500; line-height:1.2; white-space:nowrap; }
.supervisor-ranking-trophy svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.supervisor-ranking-trophy .trophy-cup { fill:currentColor; fill-opacity:.22; }
.supervisor-ranking-trophy.gold { color:#e6b53d; }
.supervisor-ranking-trophy.silver { color:#aab8ca; }
.supervisor-ranking-trophy.bronze { color:#cd8b56; }
[data-theme="light"] .supervisor-ranking-trophy.gold { color:#98700c; }
[data-theme="light"] .supervisor-ranking-trophy.silver { color:#66758a; }
[data-theme="light"] .supervisor-ranking-trophy.bronze { color:#995a2e; }
