/* Tokens oficiais compartilhados por todas as superfícies. */
:root {
  --bg-page: #0c0f10;
  --bg-panel: #111516;
  --bg-elevated: #161a1b;
  --bg-input: #101415;
  --border-subtle: rgba(255,255,255,.10);
  --border-strong: rgba(255,255,255,.16);
  --text-primary: #f1f1ee;
  --text-secondary: #a6acab;
  --text-muted: #747c7b;
  --accent-gold: #c9a86a;
  --accent-gold-soft: #e0c58f;
  --positive: #75c795;
  --warning: #c59a58;
  --danger: #c76f72;
  --info-neutral: #8f9694;
  --hover-surface: #1b1f20;
  --focus-ring: 0 0 0 2px rgba(201,168,106,.42);
  --overlay: rgba(3,5,5,.78);
  --skeleton: #202526;
  --radius-panel: 12px;
  --shadow-panel: 0 18px 48px rgba(0,0,0,.22);
  /* Compatibilidade com os componentes anteriores, sem reintroduzir navy. */
  --bg: var(--bg-page);
  --bg-panel-2: var(--bg-elevated);
  --bg-panel-3: #1c2021;
  --border: rgba(255,255,255,.13);
  --border-soft: var(--border-subtle);
  --border-hair: rgba(255,255,255,.055);
  --text: var(--text-primary);
  --text-dim: var(--text-secondary);
  --text-dim-2: var(--text-muted);
  --gold: var(--accent-gold);
  --gold-soft: var(--accent-gold-soft);
  --green: var(--positive);
  --amber: var(--warning);
  --red: var(--danger);
  --warn: var(--warning);
  --ring: var(--focus-ring);
}

html { color-scheme: dark; }
html, body { background: var(--bg-page); color: var(--text-primary); }
body { overflow-x: hidden; }
::selection { background: rgba(201,168,106,.32); color: var(--text-primary); }
* { scrollbar-color: #3b403f var(--bg-page); }
input, select, textarea, button { accent-color: var(--accent-gold); }
select, option { background: var(--bg-input); color: var(--text-primary); }
input[type="date"]::-webkit-calendar-picker-indicator { filter: sepia(.7) saturate(.7) brightness(1.35); cursor: pointer; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-text-fill-color: var(--text-primary); box-shadow: 0 0 0 1000px var(--bg-input) inset !important; caret-color: var(--text-primary); }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible { border-color: var(--accent-gold) !important; outline: none !important; box-shadow: var(--focus-ring) !important; }
.modal-overlay, .drawer-overlay { background: var(--overlay) !important; }
#entrada-trino { background: var(--bg-page) !important; }
#entrada-trino::before, #entrada-trino::after { background: none !important; box-shadow: none !important; }
#entrada-trino .entrada-triangulo { border-bottom-color: var(--accent-gold) !important; filter: none !important; }
#entrada-trino .entrada-marca, #entrada-trino .entrada-sub { color: var(--text-primary) !important; text-shadow: none !important; }
#entrada-trino .entrada-linha { background: var(--accent-gold) !important; box-shadow: none !important; }
#entrada-trino .entrada-triangulo { animation: entradaTri .28s ease both !important; }
#entrada-trino .entrada-marca { animation: entradaFade .22s ease .1s both !important; }
#entrada-trino .entrada-sub { animation: entradaFade .22s ease .18s both !important; }
#entrada-trino .entrada-linha { animation: entradaLinha .24s ease .25s forwards !important; }
header.topbar .brand .subtitle { color: #aeb4b3; opacity: 1; }
.filtros-avancados-toggle { color: #939998; }
.oportunidades-labels { color: #909695; }
.oportunidades-rodape { color: #8d9392; }
.oportunidade-row.incompativel { opacity: 1; filter: saturate(.35); background: rgba(255,255,255,.012); }
.dashboard-root { width: 100%; max-width: 1680px; margin: 0 auto; padding: 28px 30px 40px; color: var(--text-primary); }
.dashboard-header { display: flex; align-items: flex-end; justify-content: space-between; margin: 0 0 22px; padding: 0; border: 0; }
.dashboard-header h2, .import-simple-head h2 { margin: 3px 0 0; color: var(--text-primary); font-family: Georgia,"Times New Roman",serif; font-size: 30px; font-weight: 500; letter-spacing: -.02em; text-transform: none; }
.dashboard-header p, .import-simple-head p { margin: 7px 0 0; color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
.page-eyebrow { color: var(--accent-gold); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.ux-field { display: grid; min-width: 0; gap: 6px; }
.ux-field > label { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; color: var(--text-secondary) !important; font-size: 11px !important; font-weight: 650; white-space: normal !important; }
.ux-field input, .ux-field select, .drawer-refined input, .drawer-refined select, .drawer-refined textarea,
.dash-filter-bar input, .dash-filter-bar select, .operations-filters-refined input, .operations-filters-refined select {
  width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--border-subtle); border-radius: 7px; background: var(--bg-input); color: var(--text-primary); font-size: 12px;
}
textarea { padding-top: 10px !important; }
.btn { min-height: 40px; border-radius: 7px; font-size: 12px; font-weight: 700; }
.btn.primary { border-color: var(--accent-gold); background: var(--accent-gold); color: #18140c; }
.btn.secondary { border-color: var(--border-strong); background: transparent; color: var(--text-primary); }
.btn.secondary:hover { border-color: rgba(201,168,106,.5); background: rgba(201,168,106,.06); }

/* Catálogo e filtros */
#filtros .filtros-principais { grid-template-columns: minmax(260px,1fr) 150px 120px 150px; align-items: end; }
#filtros .filtros-principais .ux-field > label { display: none; }
#filtros .filtros-avancados { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px 10px; padding: 14px; }
#filtros .filtros-avancados .filtros-avancados-acoes { display: flex; grid-column: -3/-1; align-items: end; justify-content: flex-end; gap: 8px; }
#filtros .filtros-avancados-acoes .btn { min-width: 118px; }
#filtros .filtros-ativos { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
#filtros .filtro-chip { min-height: 28px; }

/* Painel da carta: hierarquia legível em apresentação. */
.operacao-cabecalho { padding: 20px 20px 17px; }
.operacao-kicker { font-size: 12px; letter-spacing: .04em; }
.operacao-cabecalho h2 { font-size: 24px; }
.operacao-modo { min-height: 25px; margin-top: 10px; padding: 5px 9px; font-size: 11px; }
.operacao-credito-total small { font-size: 11px; }
.operacao-credito-total strong { color: var(--text-primary); font-size: 24px; }
.operacao-remover { min-height: 38px; margin-top: 10px !important; padding: 0 12px !important; border: 1px solid var(--border-strong) !important; border-radius: 7px; background: transparent !important; color: var(--text-primary) !important; font-size: 11px !important; }
.operacao-remover::before { content: "×"; margin-right: 6px; color: var(--text-secondary); font-size: 16px; }
.operacao-remover:hover, .operacao-remover:focus-visible { border-color: var(--danger) !important; color: #f3dddd !important; outline: 2px solid rgba(199,111,114,.2); }
.operacao-metricas { padding: 20px; }
.operacao-metrica { padding-right: 14px; padding-left: 14px; }
.operacao-metrica span, .operacao-secundarios span { margin-bottom: 7px; font-size: 11px; letter-spacing: .07em; }
.operacao-metrica strong { overflow: visible; font-size: 18px; letter-spacing: -.02em; text-overflow: clip; }
.operacao-metrica small { margin-top: 6px; font-size: 12px; }
.operacao-secundarios { margin: 0 20px 16px; }
.operacao-secundarios > div { padding: 12px 10px; }
.operacao-secundarios span { font-size: 10px; }
.operacao-secundarios strong { overflow: visible; font-size: 13px; line-height: 1.25; text-overflow: clip; white-space: normal; }
.operacao-tabs { gap: 24px; padding: 0 20px; }
.operacao-tabs button { height: 45px; font-size: 13px; cursor: pointer; }
.operacao-tabs button:hover { color: var(--text-primary); }
.operacao-tab-corpo { padding: 18px 20px 20px; }
.operacao-resumo-grid { gap: 4px 24px; }
.operacao-resumo-linha { padding: 9px 0; font-size: 12px; }
.operacao-resumo-linha strong { max-width: 64%; overflow: visible; font-size: 13px; line-height: 1.3; text-overflow: clip; white-space: normal; }
.operacao-custos-resumo > div { padding: 12px; }
.operacao-custos-resumo span { font-size: 10px; }
.operacao-custos-resumo strong { font-size: 14px; }
.operacao-fluxo-linha { padding: 12px; font-size: 13px; }
.operacao-fluxo-resumo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.operacao-fluxo-resumo .ux-field { padding: 12px; border: 1px solid var(--border-subtle); border-radius: 7px; }
.operacao-fluxo-resumo strong { font-size: 14px; }
.operacao-comissao-refinada { gap: 0; }
.operacao-comissao-refinada > label { min-height: 48px; font-size: 12px; }
.operacao-comissao-refinada > label select { min-height: 38px; font-size: 12px; }
.operacao-comissao-refinada .operacao-resumo-linha strong { font-size: 15px; }

/* Dashboard executivo */
.dash-filter-bar { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr auto; align-items: end; gap: 10px; margin-bottom: 18px; padding: 13px; border: 1px solid var(--border-subtle); border-radius: 10px; background: var(--bg-panel); }
.dash-filter-clear { min-width: 84px; }
.exec-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; margin-bottom: 16px; border: 1px solid var(--border-subtle); border-radius: var(--radius-panel); background: var(--bg-panel); box-shadow: var(--shadow-panel); }
.exec-kpi { min-width: 0; padding: 19px; border-left: 1px solid var(--border-subtle); }
.exec-kpi:first-child { border-left: 0; }
.exec-kpi span { display: block; margin-bottom: 9px; color: var(--text-secondary); font-size: 11px; }
.exec-kpi strong { display: block; overflow: hidden; font-size: clamp(18px,1.55vw,25px); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.exec-kpi.positive strong { color: var(--positive); }
.exec-panel { min-width: 0; padding: 18px; border: 1px solid var(--border-subtle); border-radius: var(--radius-panel); background: var(--bg-panel); }
.exec-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.exec-panel-head h3 { margin: 0; color: var(--text-primary); font-family: Georgia,"Times New Roman",serif; font-size: 18px; font-weight: 500; text-transform: none; }
.exec-panel-head span { color: var(--text-muted); font-size: 11px; }
.exec-funnel { margin-bottom: 16px; }
.exec-funnel-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.exec-funnel-list > button { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 12px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-elevated); color: var(--text-primary); text-align: left; }
.exec-funnel-list button > span { color: var(--text-secondary); font-size: 12px; }
.exec-funnel-list button > strong { font-size: 18px; }
.exec-funnel-track { grid-column: 1/-1; height: 4px; overflow: hidden; border-radius: 9px; background: rgba(255,255,255,.05); }
.exec-funnel-track i { display: block; height: 100%; background: var(--accent-gold); }
.exec-funnel-track i.reservas { background: #8b806b; }
.exec-funnel-track i.vendidas { background: var(--positive); }
.exec-funnel-track i.perdidas { background: var(--danger); }
.exec-performance { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ranking-linha { min-height: 42px; }
.ranking-fill { background: var(--accent-gold); }
.exec-action-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.exec-action-list button { display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; padding: 12px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-elevated); color: var(--text-primary); text-align: left; }
.exec-action-list button span { color: var(--text-secondary); font-size: 12px; }
.exec-action-list button b { grid-row: 1/3; grid-column: 2; align-self: center; color: var(--accent-gold); font-size: 11px; }
.exec-empty { padding: 20px; color: var(--text-secondary); font-size: 13px; text-align: center; }

/* Importação simples */
.import-simple-page { max-width: 1080px; padding-top: 46px; }
.import-simple-head { max-width: 720px; margin: 0 auto 26px; text-align: center; }
.import-upload-card { display: grid; width: min(100%,720px); min-height: 250px; margin: 0 auto; place-items: center; align-content: center; gap: 9px; border: 1px dashed rgba(201,168,106,.45); border-radius: 14px; background: var(--bg-panel); color: var(--text-primary); box-shadow: var(--shadow-panel); }
.import-upload-card:hover, .import-upload-card:focus-visible { border-color: var(--accent-gold); background: #141819; outline: none; }
.import-upload-icon { display: grid; width: 48px; height: 48px; margin-bottom: 5px; place-items: center; border: 1px solid rgba(201,168,106,.4); border-radius: 50%; color: var(--accent-gold); font-size: 22px; }
.import-upload-card strong { font-family: Georgia,"Times New Roman",serif; font-size: 21px; font-weight: 500; }
.import-upload-card span { color: var(--text-secondary); font-size: 12px; }
.import-upload-card b { margin-top: 8px; padding: 10px 15px; border-radius: 7px; background: var(--accent-gold); color: #18140c; font-size: 12px; }
.import-reassurance { width: min(100%,720px); margin: 14px auto; padding: 15px; border: 1px solid var(--border-subtle); border-radius: 10px; background: var(--bg-panel); }
.import-reassurance > strong { display: block; margin-bottom: 11px; font-size: 12px; }
.import-reassurance > div { display: grid; grid-template-columns: repeat(4,1fr); }
.import-reassurance span { color: var(--text-secondary); font-size: 11px; }
.import-reassurance span b { margin-right: 6px; color: var(--accent-gold); }
.import-last-result { width: min(100%,900px); margin: 18px auto; padding: 18px; border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--bg-panel); }
.import-last-result > div:first-child { display: flex; align-items: center; gap: 10px; }
.import-last-result small { display: block; margin-top: 3px; color: var(--text-secondary); }
.positive-dot { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(117,199,149,.1); color: var(--positive); }
.import-result-metrics { display: grid; grid-template-columns: repeat(5,1fr); margin: 16px 0; border-block: 1px solid var(--border-subtle); }
.import-result-metrics > div { padding: 13px 9px; border-left: 1px solid var(--border-subtle); }
.import-result-metrics > div:first-child { border-left: 0; }
.import-result-metrics span { display: block; color: var(--text-secondary); font-size: 10px; }
.import-result-metrics strong { display: block; margin-top: 5px; font-size: 16px; }
.import-result-actions { display: flex; justify-content: flex-end; gap: 8px; }
.import-technical-link { width: min(100%,900px); margin: 14px auto; color: var(--text-muted); font-size: 11px; }
.import-technical-link summary { cursor: pointer; }

/* Funil */
.operations-filters-refined { display: grid; grid-template-columns: minmax(220px,1.5fr) repeat(4,minmax(130px,1fr)); gap: 9px; margin-bottom: 16px; padding: 13px; border: 1px solid var(--border-subtle); border-radius: 10px; background: var(--bg-panel); }
.kanban-refined { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.kanban-refined .kanban-col { min-width: 0; border: 1px solid var(--border-subtle); border-radius: 10px; background: var(--bg-panel); }
.kanban-refined .kanban-col-cab { min-height: 58px; padding: 12px; border-bottom: 1px solid var(--border-subtle); }
.kanban-refined .kanban-col-cab > strong { color: var(--text-secondary); font-size: 11px; }
.kanban-refined .kanban-col-titulo b { display: inline-grid; min-width: 23px; height: 23px; margin-left: 7px; place-items: center; border-radius: 99px; background: rgba(255,255,255,.06); font-size: 11px; }
.kanban-refined .kanban-col-corpo { min-height: 280px; padding: 8px; }
.kanban-refined .kanban-card { padding: 13px; border: 1px solid var(--border-subtle); border-left: 2px solid rgba(201,168,106,.5); border-radius: 8px; background: var(--bg-elevated); }
.kanban-refined .kanban-card-credito { margin: 7px 0; font-size: 19px; }
.kanban-refined .kanban-card-l3 { gap: 5px; }
.kanban-refined .kanban-card-proxima { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 11px; }
.kanban-refined .vendida .kanban-card { border-left-color: var(--positive); }
.kanban-refined .perdida .kanban-card { border-left-color: rgba(199,111,114,.7); opacity: .8; }

/* Drawer progressivo */
.drawer-refined { width: min(620px,100vw); background: var(--bg-page); }
.drawer-refined-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px; border-bottom: 1px solid var(--border-subtle); }
.drawer-refined-head h2 { margin: 5px 0; font-family: Georgia,"Times New Roman",serif; font-size: 25px; font-weight: 500; }
.drawer-refined-head > div:first-child > strong { font-size: 22px; }
.drawer-refined-head > div:last-child { display: flex; align-items: center; gap: 9px; }
.drawer-close { width: 40px; height: 40px; padding: 0; border: 1px solid var(--border-subtle); border-radius: 7px; background: transparent; color: var(--text-primary); font-size: 22px; }
.drawer-next-action { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; margin: 16px 22px; padding: 15px; border: 1px solid rgba(201,168,106,.28); border-radius: 9px; background: rgba(201,168,106,.045); }
.drawer-next-action span { display: block; margin-bottom: 5px; color: var(--accent-gold); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.drawer-next-action strong { display: block; font-size: 14px; }
.drawer-next-action small { display: block; margin-top: 5px; color: var(--text-secondary); font-size: 11px; }
.drawer-tabs { display: flex; gap: 24px; padding: 0 22px; border-bottom: 1px solid var(--border-subtle); }
.drawer-tabs button { position: relative; height: 44px; padding: 0; border: 0; background: transparent; color: var(--text-secondary); font-size: 13px; cursor: pointer; }
.drawer-tabs button:hover { color: var(--text-primary); }
.drawer-tabs button.active { color: var(--text-primary); }
.drawer-tabs button.active::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--accent-gold); }
.drawer-refined-body { padding: 20px 22px 28px; }
.drawer-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.drawer-summary-grid > div { padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
.drawer-summary-grid span { display: block; margin-bottom: 5px; color: var(--text-secondary); font-size: 10px; }
.drawer-summary-grid strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.drawer-status-action { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 9px; margin-top: 18px; }
.drawer-task-list { display: grid; gap: 8px; margin-bottom: 14px; }
.drawer-task-list > label { display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 12px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-panel); }
.drawer-task-list label span { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 11px; }
.drawer-task-list label.done { opacity: .55; }
.drawer-task-list label.done strong { text-decoration: line-through; }
.drawer-task-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; border: 1px solid var(--border-subtle); border-radius: 9px; background: var(--bg-panel); }
.drawer-task-form .wide, .drawer-form-actions { grid-column: 1/-1; }
.drawer-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
.drawer-history { display: grid; gap: 0; }
.drawer-history > div { display: grid; grid-template-columns: 115px 1fr; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--border-subtle); }
.drawer-history time { grid-row: 1/3; color: var(--text-muted); font-size: 10px; }
.drawer-history strong { font-size: 12px; }
.drawer-history span { color: var(--text-secondary); font-size: 11px; }
.drawer-note-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; margin-top: 16px; }

/* Dashboard funcional */
.dash-custom-period { display: grid; grid-template-columns: 180px 180px auto 1fr; align-items: end; gap: 10px; margin: -8px 0 16px; padding: 12px 13px; border: 1px solid var(--border-subtle); border-radius: 9px; background: var(--bg-panel); }
.dash-period-error { align-self: center; color: #e7b4b5; font-size: 12px; }
.dashboard-date-rule { margin: -4px 0 16px; color: var(--text-muted); font-size: 10px; line-height: 1.5; }
.exec-charts { align-items: stretch; }
.exec-chart-panel { min-height: 300px; }
.credit-bars { display: flex; align-items: stretch; gap: 8px; height: 215px; padding-top: 14px; overflow-x: auto; }
.credit-bar-item { display: grid; grid-template-rows: 22px 1fr 22px; flex: 1 0 52px; min-width: 52px; align-items: end; text-align: center; }
.credit-bar-item > strong { overflow: hidden; color: var(--text-secondary); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.credit-bar-item > span { overflow: hidden; color: var(--text-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.credit-bar-track { display: flex; height: 158px; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--border-subtle); background: repeating-linear-gradient(to top, transparent 0 38px, rgba(255,255,255,.035) 39px); }
.credit-bar-track i { display: block; width: min(30px,70%); min-height: 6px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg,var(--accent-gold-soft),var(--accent-gold)); }
.commission-bars { display: grid; gap: 14px; padding-top: 10px; }
.commission-bar-row { display: grid; grid-template-columns: 110px minmax(90px,1fr) 98px 48px; align-items: center; gap: 10px; }
.commission-bar-row > span { color: var(--text-secondary); font-size: 11px; }
.commission-bar-row > strong { font-size: 11px; text-align: right; }
.commission-bar-row > small { color: var(--text-muted); font-size: 10px; text-align: right; }
.commission-bar-track { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.05); }
.commission-bar-track i { display: block; height: 100%; border-radius: inherit; background: var(--accent-gold); }

/* Comissão personalizada */
.custom-commission-builder { display: grid; gap: 7px; margin: 8px 0 10px; padding: 10px; border: 1px solid rgba(201,168,106,.24); border-radius: 9px; background: rgba(201,168,106,.035); }
.custom-participants { display: grid; gap: 8px; }
.custom-participant-row { display: grid; grid-template-columns: minmax(115px,1fr) 94px auto 110px auto; align-items: center; gap: 7px; padding-bottom: 5px; border-bottom: 1px solid var(--border-subtle); }
.custom-participant-name { font-size: 12px; font-weight: 700; }
.custom-participant-row > input[type="text"] { min-width: 0; }
.custom-percent-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px; }
.custom-percent-field input { min-width: 0; text-align: right; }
.custom-percent-field span, .custom-equals { color: var(--text-muted); font-size: 11px; }
.custom-participant-row > strong { font-size: 12px; text-align: right; }
.custom-remove { padding: 5px 0; border: 0; background: transparent; color: #d99a9c; font-size: 10px; }
.custom-add-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.custom-credbenz { display: flex !important; align-items: center; gap: 9px; color: var(--text-secondary) !important; font-size: 11px !important; }
.custom-credbenz input { width: 17px !important; min-height: 17px !important; }
.custom-base-note { margin: 0; color: var(--text-muted); font-size: 10px; }
.custom-commission-totals { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--border-subtle); border-radius: 7px; }
.custom-commission-totals > div { min-width: 0; padding: 8px; border-right: 1px solid var(--border-subtle); }
.custom-commission-totals > div:last-child { border-right: 0; }
.custom-commission-totals span { display: block; color: var(--text-secondary); font-size: 9px; }
.custom-commission-totals strong { display: block; margin-top: 5px; font-size: 13px; }
.operacao-metrica-fluxo strong { font-size: 15px; }
.operacao-metrica-fluxo small { line-height: 1.35; white-space: normal; }

/* Importador mínimo por escopo */
.import-simple-page { padding-top: 70px; }
.import-simple-modal { width: min(700px,calc(100vw - 32px)); min-height: 440px; padding: 22px; border-color: var(--border-strong); background: var(--bg-panel); }
.import-modal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.import-modal-head h3 { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: 24px; font-weight: 500; }
.import-simple-modal .import-upload-card { width: 100%; min-height: 300px; }
.import-upload-card.dragover { border-color: var(--accent-gold); background: rgba(201,168,106,.06); }
.import-state-card { display: grid; min-height: 380px; place-items: center; align-content: center; gap: 12px; text-align: center; }
.import-state-card h3 { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: 25px; font-weight: 500; }
.import-state-card p { max-width: 520px; margin: 0; color: var(--text-secondary); font-size: 12px; line-height: 1.55; }
.import-state-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--border-strong); border-radius: 50%; color: var(--danger); font-size: 20px; }
.import-state-icon.gold { color: var(--accent-gold); }
.import-spinner { width: 34px; height: 34px; border: 2px solid rgba(201,168,106,.18); border-top-color: var(--accent-gold); border-radius: 50%; animation: import-spin .7s linear infinite; }
.import-processing-card .import-progress-track { width: min(420px,80%); height: 5px; background: rgba(255,255,255,.06); }
.import-processing-card .import-progress-track span { display: block; height: 100%; background: var(--accent-gold); }
.import-scope-list { display: grid; width: min(540px,100%); gap: 8px; text-align: left; }
.import-scope-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid var(--border-subtle); border-radius: 7px; background: var(--bg-elevated); }
.import-scope-list span { color: var(--text-secondary); font-size: 11px; }
.import-preserved-copy { color: var(--positive) !important; }
.import-state-card .modal-actions { display: flex; justify-content: center; gap: 8px; margin-top: 8px; }
.import-error-friendly .import-technical-link { width: min(520px,100%); text-align: left; }
.import-error-friendly code { display: block; overflow-wrap: anywhere; color: var(--text-muted); font-size: 10px; }
@keyframes import-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .import-spinner { animation-duration: 1.6s; } }

/* Movimento do funil sem deslocamento de layout */
.kanban-refined .kanban-col.reserva .kanban-card { border-left-color: #9e8b69; }
.kanban-refined .kanban-col.drag-over { border-color: rgba(201,168,106,.58); box-shadow: inset 0 0 0 1px rgba(201,168,106,.18); }
.kanban-refined .kanban-col.drag-over .kanban-col-corpo { background: rgba(201,168,106,.035); }
.kanban-refined .kanban-col.saving { opacity: .72; }
.kanban-refined .kanban-card.dragging { opacity: .62; transform: rotate(.3deg) scale(.99); }
.wizard-closing-date { display: grid; gap: 6px; margin-top: 12px; color: var(--text-secondary); font-size: 11px; text-align: left; }

@media (max-width: 1280px) {
  header.topbar { display: grid !important; grid-template-columns: 145px minmax(360px,1fr) 250px !important; align-items: center !important; flex-wrap: nowrap !important; }
  header.topbar .brand { grid-row: 1; grid-column: 1; }
  header.topbar .menu-principal { grid-row: 1; grid-column: 2; order: initial !important; width: auto !important; margin: 0 !important; overflow: visible !important; }
  header.topbar #topbar-right { grid-row: 1; grid-column: 3; order: initial !important; width: auto !important; margin: 0 !important; }
  main.layout, main.layout.tem-selecao, main.layout.layout-cheio, body main.layout { grid-template-columns: minmax(0,1.42fr) minmax(400px,1fr) !important; }
  #filtros .filtros-principais { grid-template-columns: minmax(190px,1fr) 112px 92px 126px; }
  .dashboard-root { padding: 22px 20px 32px; }
  .exec-kpi { padding: 15px 12px; }
  .operations-filters-refined { grid-template-columns: 1.3fr repeat(4,1fr); }
  .menu-item:nth-last-child(-n+2) { display: block; }
}

@media (max-width: 1100px) {
  header.topbar { grid-template-columns: 120px minmax(330px,1fr) 230px !important; padding: 0 12px; }
  .menu-principal { gap: 9px; }
  .menu-item { font-size: 10px; }
  #topbar-right .cta-material { padding: 0 9px; }
  main.layout, main.layout.tem-selecao, main.layout.layout-cheio, body main.layout { grid-template-columns: minmax(0,1.25fr) minmax(390px,.9fr) !important; gap: 10px; padding: 10px; }
  #filtros .filtros-principais { grid-template-columns: 1fr 1fr; }
  #filtros .filtros-principais .full { grid-column: 1/-1; }
  #filtros .filtros-avancados { grid-template-columns: repeat(3,1fr); }
  #filtros .filtros-avancados .filtros-avancados-acoes { grid-column: 2/-1; }
  .catalogo-header { min-height: 70px; }
  .operacao-metricas { padding: 16px 14px; }
  .operacao-metrica { padding: 0 8px; }
  .operacao-metrica strong { font-size: 17px; }
  .operacao-credito-total strong { font-size: 20px; }
  .exec-kpis { grid-template-columns: repeat(3,1fr); }
  .exec-kpi:nth-child(4) { border-left: 0; border-top: 1px solid var(--border-subtle); }
  .exec-kpi:nth-child(n+4) { border-top: 1px solid var(--border-subtle); }
  .dash-filter-bar { grid-template-columns: repeat(4,1fr); }
  .dash-filter-clear { grid-column: 4; }
  .dash-custom-period { grid-template-columns: 1fr 1fr auto; }
  .dash-period-error { grid-column: 1/-1; }
  .kanban-refined { gap: 8px; }
  .operations-filters-refined { grid-template-columns: repeat(5,1fr); }
  .kanban-refined .kanban-card { padding: 10px; }
  .kanban-refined .kanban-card-credito { font-size: 16px; }
  .commission-bar-row { grid-template-columns: 90px minmax(70px,1fr) 84px 40px; }
  .custom-participant-row { grid-template-columns: 1fr 84px auto 96px; }
  .custom-remove { grid-column: 1/-1; justify-self: end; }
}

/* ==========================================================================
   RODADA FINAL — upload clicável, incompatibilidade e reconciliação
   ========================================================================== */
/* Item 3 — toda a área de upload é clicável: cursor de mão em card e filhos */
.import-upload-card, .import-upload-card * { cursor: pointer; }
.import-upload-card {
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.import-upload-card:hover {
  border-color: rgba(201,168,106,.8);
  background: #16191b;
  transform: translateY(-1px);
  box-shadow: 0 20px 52px rgba(0,0,0,.3), 0 0 0 1px rgba(201,168,106,.12);
}
.import-upload-card:focus-visible {
  outline: none;
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px rgba(216,192,144,.32);
}
.import-upload-card.dragover {
  border-style: solid;
  border-color: var(--accent-gold);
  background: rgba(201,168,106,.09);
  box-shadow: inset 0 0 0 1px rgba(201,168,106,.35), 0 22px 56px rgba(0,0,0,.32);
  transform: translateY(-1px);
}

/* Item 4 — cartas incompatíveis: apagadas, bloqueadas e explicadas */
.oportunidade-row.incompativel {
  opacity: .5;
  filter: saturate(.6) contrast(.92);
  cursor: not-allowed;
}
.oportunidade-row.incompativel * { cursor: not-allowed; }
.oportunidade-row.incompativel:hover,
.oportunidade-row.incompativel:focus-visible {
  background: transparent;
}
.oportunidade-row.incompativel .oportunidade-check {
  border-color: #45494b;
  background: #131517;
  opacity: .55;
}
.oportunidade-row.incompativel .oportunidade-codigo { text-decoration: none; }

/* Itens 6 e 21 — reconciliação da importação */
.import-reconciliacao { font-size: 11px !important; }
.import-reconciliacao.ok { color: var(--positive) !important; }
.import-reconciliacao.erro { color: var(--negative, #e08a8a) !important; font-weight: 700; }

/* Itens 8-9 — modal "Apresentar ao cliente": só o formato, nada de filtros */
.export-format-modal { width: min(560px, 92vw); padding: 22px 24px 24px; }
.export-format-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.export-format-head h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 500; line-height: 1.3; }
.export-format-contexto { margin: 8px 0 18px; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }
.export-format-opcoes { display: grid; gap: 10px; }
.export-format-opcao {
  display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 16px;
  width: 100%; padding: 16px 18px; text-align: left;
  border: 1px solid var(--border-subtle); border-radius: 11px;
  background: var(--bg-elevated); color: var(--text-primary); cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.export-format-opcao:hover, .export-format-opcao:focus-visible {
  outline: none; border-color: rgba(201,168,106,.65); background: #17191b;
  transform: translateY(-1px); box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.export-format-icone {
  display: grid; place-items: center; width: 58px; height: 58px;
  border: 1px solid rgba(201,168,106,.4); border-radius: 10px;
  background: rgba(201,168,106,.08); color: var(--accent-gold);
  font-size: 13px; font-weight: 800; letter-spacing: .08em;
}
.export-format-texto strong { display: block; font-size: 14px; font-weight: 700; }
.export-format-texto span { display: block; margin-top: 3px; color: var(--text-secondary); font-size: 11px; line-height: 1.45; }

/* ==========================================================================
   Itens 13–16 — Dashboard executivo dentro da viewport (sem scroll de página)
   ========================================================================== */
#dashboard-root.dashboard-executivo {
  display: flex; flex-direction: column;
  height: calc(100vh - var(--header-height, 64px));
  overflow: hidden;
  padding: 12px 22px 8px;
  box-sizing: border-box;
}
.dashboard-executivo .dashboard-header { flex: 0 0 auto; margin-bottom: 10px; }
.dashboard-executivo .dashboard-header h2 { margin: 2px 0 0; font-size: 22px; }
.dashboard-executivo .dashboard-header p { margin: 3px 0 0; font-size: 11px; color: var(--text-secondary); }
.dashboard-executivo .dash-filter-bar { flex: 0 0 auto; margin-bottom: 10px; padding: 10px 12px; }
.dashboard-executivo .exec-kpis { flex: 0 0 auto; margin-bottom: 10px; }
.dashboard-executivo .exec-kpi { padding: 12px 14px; }
.exec-row { display: grid; gap: 10px; min-height: 0; flex: 1 1 0; margin-bottom: 10px; }
.exec-row-principal { grid-template-columns: minmax(260px, 1fr) minmax(0, 1.9fr); flex-grow: 1.15; }
.exec-row-secundaria { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); margin-bottom: 6px; }
.exec-row > .exec-panel { display: flex; flex-direction: column; min-height: 0; min-width: 0; margin-bottom: 0; overflow: hidden; padding: 14px 16px; }
.exec-row .exec-panel-head { flex: 0 0 auto; margin-bottom: 10px; }
.exec-row .exec-funnel-list { grid-template-columns: 1fr; flex: 1; min-height: 0; align-content: space-evenly; gap: 8px; }
.exec-row .exec-funnel-list > button { padding: 10px 12px; }
/* gráficos preenchem a área disponível, sem scroll interno */
.exec-row .credit-bars { flex: 1; min-height: 0; height: auto; overflow: hidden; padding-top: 8px; }
.credit-bar-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; flex: 1 1 0; min-width: 0; gap: 5px; }
/* CORREÇÃO (gráfico invisível): com align-items:center o track encolhia para a
   largura do conteúdo, e a barra (70% do track) colapsava para 0px. O track
   precisa ocupar a largura inteira do item para a barra ter base de cálculo. */
.credit-bar-item > .credit-bar-track { align-self: stretch; width: auto; }
.exec-row .commission-bars { flex: 1; min-height: 0; overflow: hidden; align-content: space-evenly; gap: 8px; padding-top: 4px; }
.dashboard-executivo .dashboard-date-rule { flex: 0 0 auto; margin: 0; padding: 2px 0 0; font-size: 9.5px; color: var(--text-muted); }

/* 1366×768 e alturas menores: espaçamentos reduzidos, sem fontes minúsculas */
@media (max-height: 820px) {
  #dashboard-root.dashboard-executivo { padding: 8px 16px 6px; }
  .dashboard-executivo .dashboard-header { margin-bottom: 6px; }
  .dashboard-executivo .dashboard-header h2 { font-size: 19px; }
  .dashboard-executivo .dashboard-header p { display: none; }
  .dashboard-executivo .dash-filter-bar { margin-bottom: 6px; padding: 8px 10px; }
  .dashboard-executivo .exec-kpis { margin-bottom: 6px; }
  .dashboard-executivo .exec-kpi { padding: 9px 12px; }
  .dashboard-executivo .exec-kpi strong { font-size: 16px; }
  .exec-row { gap: 6px; margin-bottom: 6px; }
  .exec-row > .exec-panel { padding: 10px 12px; }
  .exec-row .exec-panel-head { margin-bottom: 6px; }
  .exec-row .exec-funnel-list > button { padding: 7px 10px; }
  .exec-row .exec-funnel-list > button strong { font-size: 15px; }
}

/* abaixo de 1100 px: layout adaptado, scroll permitido, nunca horizontal */
@media (max-width: 1100px) {
  #dashboard-root.dashboard-executivo { height: auto; overflow: visible; }
  .exec-row, .exec-row-principal, .exec-row-secundaria { grid-template-columns: 1fr; flex: none; }
  .exec-row .credit-bars { height: 200px; }
}
