/* Simulador de Propostas — estilo compacto para iframe do Bitrix24.
   Apoia-se no guia CAPREM (style.css) e adiciona o layout do app. */
:root{
  --sim-green:#0b6b3a; --sim-gold:#c9a227; --sim-bg:#f5f6f8;
  --sim-card:#fff; --sim-line:#e4e7eb; --sim-text:#243038; --sim-muted:#7a8794;
  --sim-ok:#1c8c4c; --sim-warn:#c0392b;
}
*{box-sizing:border-box}
body.sim-app{margin:0;background:var(--sim-bg);color:var(--sim-text);
  font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;color-scheme:light}
.sim-wrap{max-width:1080px;margin:0 auto;padding:16px}
.sim-card{background:var(--sim-card);border:1px solid var(--sim-line);
  border-radius:10px;padding:20px}
.sim-muted{color:var(--sim-muted)}
.sim-dev{margin-top:10px;font-size:12px;color:var(--sim-gold)}

/* Header */
.sim-header{display:flex;justify-content:space-between;align-items:flex-end;
  gap:16px;flex-wrap:wrap;margin-bottom:16px}
.sim-header h1{margin:0;font-size:20px;display:flex;align-items:center;gap:8px;color:var(--sim-green)}
.sim-header h1 .material-icons{color:var(--sim-gold)}
.sim-header p{margin:4px 0 0}
.sim-nav{display:flex;gap:6px;flex-wrap:wrap}
.sim-tab{display:flex;align-items:center;gap:6px;border:1px solid var(--sim-line);
  background:#fff;color:var(--sim-text);padding:8px 14px;border-radius:8px;
  cursor:pointer;font-size:13px;transition:.15s}
.sim-tab .material-icons{font-size:18px}
.sim-tab:hover{border-color:var(--sim-green)}
.sim-tab.active{background:var(--sim-green);color:#fff;border-color:var(--sim-green)}

/* Painéis */
.sim-panel{display:none}
.sim-panel.active{display:block}
.sim-placeholder{text-align:center;color:var(--sim-muted)}
.sim-placeholder .material-icons{font-size:42px;color:var(--sim-gold)}
.sim-placeholder h3{margin:10px 0 6px;color:var(--sim-text)}

/* Sem acesso */
.sim-noaccess{text-align:center;max-width:460px;margin:40px auto}
.sim-noaccess .material-icons{font-size:48px;color:var(--sim-warn)}

.sim-footer{margin-top:24px;text-align:center;font-size:12px}

/* ── Simulador ── */
.sim-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}
@media(max-width:820px){.sim-grid{grid-template-columns:1fr}}
.sim-step{margin:0 0 14px;display:flex;align-items:center;gap:8px;font-size:16px;color:var(--sim-green)}
.sim-num{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--sim-green);color:#fff;align-items:center;justify-content:center;font-size:13px}
.sim-field{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}
.sim-field label{font-size:12px;font-weight:600;color:var(--sim-muted)}
.sim-field small{font-size:11px}
.sim-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Fluxo padrão editável (seção 1) */
.sim-fp{border:1px solid var(--sim-line);border-radius:8px;padding:10px 12px;margin-top:4px;background:#f9faf9}
.sim-fp-head{font-size:13px;font-weight:600;color:var(--sim-green);display:flex;justify-content:space-between;align-items:center;gap:8px}
.sim-fp-sum{font-size:12px;font-weight:700}
.sim-fp-sum.ok{color:var(--sim-ok)}
.sim-fp-sum.warn{color:var(--sim-warn)}
.sim-fp-note{font-size:11px;margin:4px 0 8px}
.sim-fp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sim-fp-grid label{display:flex;flex-direction:column;font-size:11px;color:var(--sim-muted);gap:3px;font-weight:600}
.sim-fp-grid input{text-align:center;padding:6px 4px}
select,input[type=text],input[type=number],input[type=month]{
  border:1px solid var(--sim-line);border-radius:7px;padding:8px 10px;font-size:14px;background:#fff;color:var(--sim-text);width:100%}
select:focus,input:focus{outline:none;border-color:var(--sim-green)}
select:disabled{background:#f0f1f3;color:#aaa}

/* Toggle (switch) */
.sim-switch{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;margin-bottom:12px;user-select:none}
.sim-switch input{display:none}
.sim-slider{position:relative;width:38px;height:21px;background:#c7ccd1;border-radius:20px;transition:.2s;flex:0 0 auto}
.sim-slider::before{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.sim-switch input:checked + .sim-slider{background:var(--sim-green)}
.sim-switch input:checked + .sim-slider::before{transform:translateX(17px)}

.sim-unid-info{background:#f7f9f7;border:1px solid var(--sim-line);border-radius:8px;padding:10px 12px;margin-bottom:12px}
/* Destaque para unidade do FII (fundo imobiliário) */
.sim-fii-banner{display:flex;align-items:center;gap:10px;background:#fef6e0;border:1px solid var(--sim-gold);border-left:5px solid var(--sim-gold);border-radius:8px;padding:9px 12px;margin-bottom:10px;color:#6b5200}
.sim-fii-banner .material-icons{font-size:26px;color:var(--sim-gold)}
.sim-fii-banner b{color:#5e4700;font-size:13px}
.sim-fii-banner span{font-size:12px;color:#8a6d1a}
.sim-unid-meta{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}
.sim-unid-meta .sim-muted{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.03em}
.sim-unid-meta span:last-child{font-size:15px}
.sim-tags{display:flex;flex-wrap:wrap;gap:6px}
.sim-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 8px;border-radius:20px}
.sim-tag .material-icons{font-size:15px}
.sim-tag-ok{background:#e6f4ea;color:var(--sim-ok)}
.sim-tag-warn{background:#fdecea;color:var(--sim-warn)}

/* Fluxo */
.sim-flow{border:1px solid var(--sim-line);border-radius:8px;overflow:hidden;margin-bottom:12px}
.sim-flow-head,.sim-flow-row,.sim-flow-foot{display:grid;grid-template-columns:1.05fr 1fr 1.1fr .45fr .5fr;gap:8px;align-items:center;padding:8px 10px}
.sim-mes{padding:8px 4px;font-size:13px;text-align:center}
.sim-flow-row input[type=number]{text-align:center;padding:8px 4px}
/* Campo de mês com ícone de calendário */
.sim-mes-wrap{display:flex;align-items:center;gap:3px;min-width:0}
.sim-mes-wrap .sim-mes{flex:1;min-width:0}
.sim-mes-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:34px;color:var(--sim-muted);cursor:pointer;flex:0 0 auto;border:1px solid var(--sim-line);border-radius:7px;background:#fff}
.sim-mes-ico:hover{border-color:var(--sim-green);color:var(--sim-green)}
.sim-mes-ico .material-icons{font-size:17px;pointer-events:none}
.sim-mes-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}
.sim-flow-head{background:#f5f6f8;font-size:11px;font-weight:700;color:var(--sim-muted);text-transform:uppercase}
.sim-flow-row{border-top:1px solid var(--sim-line)}
.sim-flow-row label{font-size:13px;font-weight:600}
.sim-auto{font-size:11px;color:var(--sim-muted);font-style:italic}
/* Intermediárias dinâmicas */
.sim-flow-addrow{padding:8px 10px;border-top:1px solid var(--sim-line)}
.sim-add-btn{display:inline-flex;align-items:center;gap:5px;background:#eef6f0;color:var(--sim-green);border:1px dashed var(--sim-green);border-radius:7px;padding:6px 12px;font-size:13px;cursor:pointer}
.sim-add-btn:hover{background:#e0efe6}
.sim-add-btn .material-icons{font-size:17px}
.sim-int-del{border:none;background:transparent;color:var(--sim-warn);font-size:18px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;border-radius:50%;justify-self:center}
/* Séries de mensais (escalonadas): dica de período + botão remover no rótulo */
.sim-flow-hint{padding:0 10px 7px;font-size:11px;color:var(--sim-muted)}
.sim-flow-hint:empty{display:none}
.sim-flow-hint.warn{color:var(--sim-warn);font-weight:600}
.sim-flow-hint.over{color:#b26a00}
.sim-mx-del{border:none;background:transparent;color:var(--sim-warn);font-size:16px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;border-radius:50%;margin-left:6px;vertical-align:middle}
.sim-mx-del:hover{background:#fdecea}
.sim-int-del:hover{background:#fdecea}
.sim-check{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:14px;cursor:pointer}
.sim-check input{width:auto}

/* Coluna de % por linha + total da proposta */
.sim-pct{font-size:12px;font-weight:600;color:var(--sim-muted);text-align:right}
.sim-pct-input{width:100%;text-align:right;padding:8px 4px;font-size:13px;border:1px solid var(--sim-line);border-radius:7px;color:var(--sim-text);background:#fff}
.sim-pct-input:focus{outline:none;border-color:var(--sim-green)}
.sim-pct-input::placeholder{color:#bcc6c0}
.sim-pct.ok{color:var(--sim-ok)}
.sim-pct.warn{color:#9a7d0a}
.sim-pct.over{color:var(--sim-warn)}
.sim-flow-foot{border-top:2px solid var(--sim-line);background:#f5f6f8;font-weight:700}
.sim-flow-foot #totalValor{font-size:14px}
.sim-desconto-aviso{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;border-radius:8px;font-size:13px}
.sim-desconto-aviso .material-icons{font-size:18px}
.sim-desconto-aviso.ok{background:#e6f4ea;color:var(--sim-ok)}
.sim-desconto-aviso.warn{background:#fdf6e3;color:#9a7d0a}
.sim-desconto-aviso.over{background:#fdecea;color:var(--sim-warn)}
/* Alerta de parcelas pós-chaves */
.sim-poschaves{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;border-radius:8px;font-size:13px;background:#fdecea;color:var(--sim-warn);border:1px solid #f1b0a8}
/* o display:flex acima sobrepõe o atributo hidden — garante que hidden esconde de fato */
.sim-poschaves[hidden],.sim-desconto-aviso[hidden]{display:none}
.sim-poschaves .material-icons{font-size:18px}

.sim-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sim-green);color:#fff;border:none;
  border-radius:8px;padding:11px 22px;font-size:15px;font-weight:600;cursor:pointer}
.sim-btn:hover{background:#0a5b31}
.sim-btn:disabled{background:#bcc6c0;cursor:not-allowed}
.sim-btn.loading{opacity:.7;pointer-events:none}

/* Resultado */
.sim-result{margin-top:16px;border-left:6px solid var(--sim-line)}
.sim-result.is-liberada{border-left-color:var(--sim-ok)}
.sim-result.is-avaliar{border-left-color:#d35400}
/* Veredito = faixa preenchida de alto contraste (verde liberada / laranja avaliar) */
.sim-verdict{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;border-radius:12px;color:#fff}
.sim-result.is-liberada .sim-verdict{background:linear-gradient(135deg,#0b6b3a,#1c8c4c)}
.sim-result.is-avaliar .sim-verdict{background:linear-gradient(135deg,#d35400,#e67e22)}
.sim-verdict .material-icons{font-size:42px;color:#fff}
.sim-verdict h3{margin:0;font-size:21px;font-weight:800;color:#fff;letter-spacing:.2px}
.sim-verdict .sim-muted{color:rgba(255,255,255,.92)}
.sim-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.sim-rc{background:#f7f9f7;border:1px solid var(--sim-line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.sim-rc span{font-size:11px;color:var(--sim-muted);text-transform:uppercase;font-weight:600}
.sim-rc b{font-size:16px}
.sim-rc.ok b{color:var(--sim-ok)}
.sim-rc.warn b{color:var(--sim-warn)}

/* ── Painel de parâmetros ── */
.sim-param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0}
.sim-pg{border:1px solid var(--sim-line);border-radius:8px;padding:10px 12px;margin:0}
/* .sim-pg-wide = seção "Fluxo padrão de tabela (referência)". Escondida (v0.9.27):
   a condição de referência agora é 100% por empreendimento (tabela + linha única
   de finalizados). Os campos seguem no DOM só como fallback interno. A remoção
   definitiva já está no index.php (pendente do deploy de arquivos da raiz). */
.sim-pg-wide{grid-column:1/-1;display:none}
.sim-pg legend{font-size:13px;font-weight:600;color:var(--sim-text);display:flex;align-items:center;gap:8px;padding:0 4px}
.sim-pg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.sim-pg-row label{font-size:12px;color:var(--sim-muted)}
.sim-pg-row input{width:110px;text-align:right}
.sim-pg-note{font-size:11px;margin:8px 0 0}
.sim-pg-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sim-pg-sub{font-size:12px;font-weight:700;color:var(--sim-green);display:block;margin-top:6px}

/* mini switch (liga/desliga componente) */
.sim-mini-switch{display:inline-flex;cursor:pointer}
.sim-mini-switch input{display:none}
.sim-mini-switch span{width:32px;height:18px;background:#c7ccd1;border-radius:12px;position:relative;transition:.2s}
.sim-mini-switch span::before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.sim-mini-switch input:checked + span{background:var(--sim-green)}
.sim-mini-switch input:checked + span::before{transform:translateX(14px)}

.sim-save-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--sim-line);padding-top:14px;margin-top:6px}
.sim-save-bar .sim-grow{flex:1;min-width:180px}
.sim-param-msg{margin-top:10px;font-size:13px;padding:8px 12px;border-radius:7px}
.sim-param-msg.ok{background:#e6f4ea;color:var(--sim-ok)}
.sim-param-msg.err{background:#fdecea;color:var(--sim-warn)}

.sim-params{display:grid;grid-template-columns:1fr;gap:16px}
.sim-hist-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;padding:7px 0;border-bottom:1px solid var(--sim-line);font-size:13px}
.sim-hist-row.atual{font-weight:600;color:var(--sim-green)}
.sim-hist-v{min-width:90px}
.sim-hist-em{white-space:nowrap;text-align:right}
.ent-tag{display:inline-block;background:#e6f4ea;color:var(--sim-ok);font-size:11px;font-weight:600;border-radius:10px;padding:1px 7px;margin-left:6px}
.sim-erro{border-color:var(--sim-warn)!important;box-shadow:0 0 0 3px rgba(192,57,43,.15)}

.sim-fp-extra{margin:8px 0 0;font-size:11px;color:var(--sim-muted);line-height:1.5}
.sim-fp-extra b{color:var(--sim-green)}

/* ── Fluxo de pagamentos (visão do cliente) ── */
.sim-btn.sim-btn-on{background:#eef6f0;border-color:var(--sim-green)}
.sim-fx{margin-top:16px;border-top:1px solid var(--sim-line);padding-top:14px}
.sim-fx-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sim-fx-head b{display:flex;align-items:center;gap:6px;color:var(--sim-green);font-size:15px}
.sim-fx-head .material-icons{font-size:19px;color:var(--sim-gold)}
.sim-fx-head span{font-size:12px}
.sim-fx-wrap{max-height:420px;overflow:auto;border:1px solid var(--sim-line);border-radius:8px}
.sim-fx-table{width:100%;border-collapse:collapse;font-size:13px}
.sim-fx-table thead th{position:sticky;top:0;background:#f6f8f7;text-align:left;font-size:11px;text-transform:uppercase;
  letter-spacing:.03em;color:var(--sim-muted);padding:7px 10px;border-bottom:2px solid var(--sim-line);z-index:1}
.sim-fx-table td{padding:6px 10px;border-bottom:1px solid var(--sim-line)}
.sim-fx-table .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sim-fx-table .fx-n{color:var(--sim-muted);font-size:12px;width:44px}
.sim-fx-table .fx-acum{color:var(--sim-muted);font-size:12px}
.sim-fx-table tbody tr:hover td{background:#f9faf9}
.sim-fx-table tfoot td{padding:8px 10px;font-weight:600;background:#f6f8f7;border-top:2px solid var(--sim-line)}
.fx-tipo{display:inline-block;font-size:11px;font-weight:600;border-radius:10px;padding:1px 8px}
.fx-sinal{background:#eef6f0;color:#1c5e38}
.fx-mensal{background:#eef3fb;color:#1c456e}
.fx-interm{background:#fbf2cf;color:#8a6d00}
.fx-financ{background:#f1f3f2;color:#4a5450}
.fx-parcFinal{background:#fbe9e7;color:#a3392b}
.fx-chaves{font-size:10px;color:var(--sim-warn);font-weight:600}
.sim-fx-table tr.fx-pos td{background:#fffaf8}
.sim-fx-nota{font-size:11px;margin:8px 0 0}
@media(max-width:600px){.sim-fx-table .fx-acum,.sim-fx-table thead th:nth-child(5){display:none}}

/* ── Sugestões de contraproposta ── */
.sim-sug{margin-top:18px;border-top:1px solid var(--sim-line);padding-top:14px}
.sim-sug-load{margin:12px 0 0;font-style:italic}
.sim-sug-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.sim-sug-head .material-icons{color:var(--sim-gold);font-size:22px}
.sim-sug-head b{color:var(--sim-green);font-size:15px}
.sim-sug-head p{margin:2px 0 0;font-size:12px}
.sim-sug-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sim-sug-card{border:1px solid var(--sim-line);border-radius:10px;padding:12px;background:#fff;
  display:flex;flex-direction:column;gap:8px}
.sim-sug-card h4{margin:0;font-size:14px;color:var(--sim-green);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sim-sug-tag{background:#eef6f0;color:#1c5e38;border:1px solid #cfe6d8;border-radius:10px;
  padding:1px 7px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.sim-sug-exp{margin:0;font-size:12px;color:var(--sim-muted);line-height:1.45}
.sim-sug-card .sim-result-grid{grid-template-columns:1fr 1fr}
.sim-sug-card .sim-rc{padding:7px 9px}
.sim-sug-card .sim-rc b{font-size:14px}
.sim-sug-deltas{list-style:none;margin:0;padding:0;font-size:12px}
.sim-sug-deltas li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed var(--sim-line)}
.sim-sug-deltas li:last-child{border-bottom:none}
.sim-sug-deltas span:first-child{color:var(--sim-muted)}
.sim-sug-de{color:var(--sim-muted);text-decoration:line-through;font-style:normal}
.sim-sug-card .sim-btn{margin-top:auto;justify-content:center;font-size:14px;padding:9px 14px}
/* 3 cards não cabem lado a lado antes disso — colapsa ANTES do breakpoint de 600px */
@media(max-width:900px){.sim-sug-grid{grid-template-columns:1fr}}

/* ── Base TOTVS ── */
.sim-base-info{margin:12px 0}
.sim-base-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.sim-upload{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--sim-line);padding-top:14px;margin-top:6px}
.sim-upload input[type=file]{border:1px dashed var(--sim-line);padding:14px;border-radius:8px;background:#fafbfc;flex:1;min-width:220px}

/* ── Erros de validação ── */
.sim-erros{margin:0;padding:4px 0 0 22px;font-size:13px;color:var(--sim-warn)}
.sim-erros li{margin:3px 0}

/* ── Ações do resultado ── */
.sim-result-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}
.sim-btn-light{background:#fff;color:var(--sim-green);border:1px solid var(--sim-green)}
.sim-btn-light:hover{background:#eef6f0}
.sim-btn.sim-saved{background:var(--sim-ok);cursor:default}
.sim-btn.sim-saved:hover{background:var(--sim-ok)}

/* ── Aba Propostas ── */
.sim-prop-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.sim-prop-title{margin:0;font-size:18px;color:var(--sim-green);display:flex;align-items:center;gap:8px}
.sim-prop-title .material-icons{color:var(--sim-gold)}
.sim-prop-tools{display:flex;gap:8px;align-items:center}
.sim-select{padding:8px 10px;border:1px solid var(--sim-line);border-radius:8px;background:#fff;color:var(--sim-text);font:inherit}
.sim-prop-table-wrap{overflow-x:auto}
.sim-prop-table{width:100%;border-collapse:collapse;font-size:14px}
.sim-prop-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--sim-muted);border-bottom:2px solid var(--sim-line);padding:8px 10px;white-space:nowrap}
.sim-prop-table td{border-bottom:1px solid var(--sim-line);padding:9px 10px;vertical-align:middle}
.sim-prop-table .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sim-prop-table tbody tr:hover td{background:#f9faf9}
.sim-fii-tag{display:inline-block;font-size:10px;font-weight:700;color:#8a6d00;background:#fbf2cf;border:1px solid #ecd98a;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.sim-status{display:inline-block;font-size:12px;font-weight:600;border-radius:20px;padding:3px 11px;white-space:nowrap}
.sim-status-pend{background:#fdeede;color:#9a5a00}
.sim-status-ok{background:#e6f4ea;color:#1c7c44}
.sim-status-no{background:#fbe6e4;color:#b3271b}
.sim-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:10px;background:#d35400;color:#fff;font-size:11px;font-weight:700;line-height:1}
.sim-prop-row{cursor:pointer}

/* ── Detalhe da proposta ── */
.sim-prop-voltar{margin-bottom:10px}
.sim-prop-detail-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sim-prop-detail-head h3{margin:0;font-size:20px;color:var(--sim-green)}
.sim-prop-cliente{display:flex;align-items:center;gap:6px;margin:6px 0 2px;font-size:15px}
.sim-prop-cliente .material-icons{font-size:18px;color:var(--sim-gold)}
.sim-prop-decidido{background:#f6f8f7;border-left:3px solid var(--sim-line);padding:7px 12px;border-radius:0 6px 6px 0;margin:8px 0}
/* Detalhe em 2 colunas para caber numa tela */
.sim-prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:4px}
.sim-prop-block{min-width:0}
.sim-prop-sec{margin:12px 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sim-green);font-weight:700;border-bottom:1px solid var(--sim-line);padding-bottom:4px}
.sim-prop-kv{width:100%;border-collapse:collapse;font-size:13px}
.sim-prop-kv td{border-bottom:1px solid var(--sim-line);padding:4px 8px}
.sim-prop-kv td:first-child{color:var(--sim-muted)}
.sim-prop-kv td.r{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.sim-prop-block .sim-prop-table{font-size:13px}
.sim-prop-block .sim-prop-table th{padding:4px 8px}
.sim-prop-block .sim-prop-table td{padding:4px 8px}
.sim-log{list-style:none;margin:0;padding:0}
.sim-log li{padding:5px 0;border-bottom:1px solid var(--sim-line);font-size:12.5px;text-transform:capitalize}
.sim-log li:last-child{border-bottom:none}
.sim-log-com{margin-top:2px;color:var(--sim-text);font-style:italic;text-transform:none}
.sim-textarea{width:100%;box-sizing:border-box;border:1px solid var(--sim-line);border-radius:8px;padding:9px;font:inherit;resize:vertical;background:#fff;color:var(--sim-text)}
.sim-prop-decidir{margin-top:12px;border-top:1px dashed var(--sim-line);padding-top:12px}
.sim-prop-decidir-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
@media(max-width:680px){.sim-prop-grid{grid-template-columns:1fr;gap:0}}
.sim-btn-danger{background:#c0392b}
.sim-btn-danger:hover{background:#a52f23}
.sim-nivel-tag{display:inline-block;font-size:11px;font-weight:600;color:#8a5a00;background:#fdeede;border:1px solid #f5d5b0;border-radius:20px;padding:3px 10px}
/* Fluxo padrão travado (referência do Financeiro) */
.sim-fp-lock{font-size:15px;color:var(--sim-gold);vertical-align:-3px}
input.sim-locked{background:#f1f3f2;color:#6b7772;cursor:not-allowed;border-color:#e4e7eb}
/* Tabela de condição por empreendimento (Parâmetros) */
.fl-wrap{overflow:auto;max-height:440px;border:1px solid var(--sim-line);border-radius:8px;margin-top:10px}
.fl-table{width:100%;border-collapse:collapse;font-size:13px}
.fl-table thead th{position:sticky;top:0;background:#f6f8f7;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--sim-muted);padding:7px 8px;border-bottom:2px solid var(--sim-line);white-space:nowrap;z-index:1}
.fl-table td{padding:4px 8px;border-bottom:1px solid var(--sim-line)}
.fl-table .fl-emp{font-weight:500;white-space:nowrap}
.fl-table input{width:74px;padding:5px 7px;border:1px solid var(--sim-line);border-radius:6px;font:inherit;background:#fff;color:var(--sim-text)}
.fl-table input:focus{outline:none;border-color:var(--sim-green)}
.fl-table input:disabled{background:#f1f3f2;color:#9aa6a0;cursor:not-allowed}
.fl-ae-cell{white-space:nowrap}
.fl-ae-lbl{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--sim-muted);cursor:pointer}
.fl-ae-lbl input{width:auto;margin:0}
.fl-fin-row td{background:#eef6f0}
.fl-fin-row .fl-emp{color:var(--sim-green);font-weight:600;display:flex;align-items:center;gap:5px}
.fl-fin-ico{font-size:16px;color:var(--sim-green)}
.fl-fin-count{display:inline-block;background:var(--sim-green);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px}
.fl-chk-cell{text-align:center;white-space:nowrap;color:var(--sim-muted)}
.fl-chk-lbl{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fl-chk-lbl input{width:auto;margin:0;cursor:pointer}
.fl-is-fin td{background:#f4faf6}
.fl-is-fin .fl-emp{color:var(--sim-green);font-weight:600}
.fl-is-fin .fl-emp::after{content:"usa a condição única";display:block;font-size:10px;font-weight:400;color:var(--sim-muted);text-transform:none;letter-spacing:0}
/* Coluna "Juros" + linha de detalhe (2ª série e regra de juros) */
.fl-j-cell{white-space:nowrap;text-align:center}
.fl-j-btn{border:1px solid var(--sim-line);background:#fff;border-radius:7px;padding:4px 9px;font:inherit;
  font-size:11px;cursor:pointer;color:var(--sim-text);white-space:nowrap}
.fl-j-btn:hover{border-color:var(--sim-green);background:#f4faf6}
.fl-j-btn.aberto{border-color:var(--sim-green);background:#eef6f0}
.fl-j-off{color:var(--sim-muted)}
.fl-j-on{color:var(--sim-green);font-weight:600}
.fl-det>td{background:#f7f9f8;border-bottom:2px solid var(--sim-line);padding:10px 14px!important}
.fl-det-box{display:flex;gap:26px;flex-wrap:wrap}
.fl-det-grp b{font-size:12px;color:var(--sim-green)}
.fl-det-hint{font-size:11px;color:var(--sim-muted)}
.fl-det-fields{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}
.fl-det-fields label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--sim-muted)}
.fl-det-fields input{width:96px}
.fl-det-fields select{padding:5px 7px;border:1px solid var(--sim-line);border-radius:6px;font:inherit;font-size:12px;background:#fff;color:var(--sim-text)}
.fl-soma{font-weight:600;font-size:12px}
.fl-soma.ok{color:#1c7c44}
.fl-soma.warn{color:#c0392b}
.sim-prop-aguardando{display:flex;align-items:center;gap:6px;margin-top:14px;color:var(--sim-muted);font-size:13px}
.sim-prop-aguardando .material-icons{font-size:18px}

/* ── Aba Acessos ── */
#acessosView{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.acc-grupo{border:1px solid var(--sim-line);border-radius:10px;padding:14px 16px;background:#fcfdfc}
.acc-grupo-h{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}
.acc-grupo-h .material-icons{color:var(--sim-green);font-size:22px;margin-top:1px}
.acc-grupo-h b{font-size:15px;color:var(--sim-green)}
.acc-desc{font-size:12px;margin-top:1px}
.acc-sub{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--sim-muted);font-weight:700;margin:10px 0 5px}
.acc-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:8px}
.acc-chip{display:inline-flex;align-items:center;gap:6px;background:#eef6f0;color:#1c5e38;border:1px solid #cfe6d8;border-radius:16px;padding:3px 6px 3px 11px;font-size:13px}
.acc-chip-dept{background:#eef3fb;color:#1c456e;border-color:#cfdcf0}
.acc-chip-inativo{background:#fbe9e7;color:#a3392b;border-color:#f0cdc6}
.acc-x{border:none;background:rgba(0,0,0,.06);color:inherit;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.acc-x:hover{background:rgba(0,0,0,.15)}
.acc-vazio{color:var(--sim-muted);font-style:italic;font-size:13px}
.acc-add{display:flex;gap:8px;margin-top:8px;align-items:center}
.acc-add .sim-select{flex:1;min-width:0}
.acc-add .sim-btn{white-space:nowrap;padding:8px 12px}
.acc-add-userwrap{position:relative;display:block}
.acc-find{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--sim-line);border-radius:8px;font:inherit;background:#fff;color:var(--sim-text)}
.acc-find:focus{outline:none;border-color:var(--sim-green)}
.acc-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 2px);background:#fff;border:1px solid var(--sim-line);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:240px;overflow:auto}
.acc-res-item{padding:8px 11px;cursor:pointer;font-size:13px;border-bottom:1px solid #f1f3f2}
.acc-res-item:last-child{border-bottom:none}
.acc-res-item:hover{background:#eef6f0}
.acc-res-empty{padding:9px 11px;color:var(--sim-muted);font-size:13px}
.acc-foot{grid-column:1/-1;border-top:1px solid var(--sim-line);padding-top:14px;margin-top:4px}
.acc-stamp{margin:8px 0 0;font-size:12px}
/* Aprovadores ordenáveis */
.acc-ord{list-style:none;margin:0;padding:0;counter-reset:ap}
.acc-ord li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--sim-line);border-radius:8px;margin-bottom:6px;background:#fff;counter-increment:ap}
.acc-ord-nome{display:flex;align-items:center;gap:8px;font-size:13px}
.acc-ord-nome::before{content:counter(ap)"º";color:var(--sim-muted);font-weight:700;font-size:12px;min-width:20px}
.acc-resp{background:#0b6b3a;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;text-transform:uppercase;letter-spacing:.03em}
.acc-ord-btns{display:flex;gap:4px;flex:none}
.acc-mv{border:1px solid var(--sim-line);background:#fff;color:var(--sim-green);width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.acc-mv:hover:not(:disabled){background:#eef6f0}
.acc-mv:disabled{color:#c4ccc7;cursor:not-allowed}
/* Testar usuário */
.acc-testar{grid-column:1/-1;border:1px dashed var(--sim-line);border-radius:10px;padding:12px 14px;margin-top:2px}
.acc-testar .acc-sub{display:flex;align-items:center;gap:6px;margin-top:0}
.acc-testar .acc-sub .material-icons{font-size:16px;color:var(--sim-gold)}
.acc-chip-mini{padding:1px 8px;font-size:11px}
.acc-testar-res{margin-top:10px;background:#f6f8f7;border-radius:8px;padding:10px 12px;font-size:14px}
.acc-testar-caps{font-size:12px;margin-top:4px}
@media(max-width:680px){#acessosView{grid-template-columns:1fr}}

/* ── Relatório A4 (oculto na tela; só na impressão) ── */
.sim-print{display:none}
@media print{
  html,body.sim-app{background:#fff;margin:0;padding:0;width:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sim-wrap,.sim-footer{display:none !important}
  .sim-print{display:flex;justify-content:center;width:100%}
  /* tudo do relatório imprime com as cores de fundo (senão o veredito sai "apagado") */
  .rp,.rp *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp{font-family:"Segoe UI",Arial,sans-serif;color:#243038;font-size:11px;width:100%;max-width:620px;margin:0 auto}
  /* Cabeçalho centralizado */
  .rp-head{text-align:center;border-bottom:3px solid #0b6b3a;padding-bottom:8px;margin-bottom:10px}
  .rp-brand{color:#c9a227;font-weight:800;letter-spacing:4px;font-size:12px}
  .rp-head h1{color:#0b6b3a;font-size:19px;margin:2px 0 3px;font-weight:700}
  .rp-meta{color:#7a8794;font-size:10px}
  /* Seções */
  .rp-sec{text-align:center;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:#0b6b3a;font-weight:700;margin:10px 0 4px}
  /* Cartão de unidade (centralizado) */
  .rp-info{width:100%;border-collapse:separate;border-spacing:8px 0;margin-bottom:4px}
  .rp-info td{border:1px solid #e4e7eb;border-radius:6px;padding:7px;font-size:12px;font-weight:600;width:33%;text-align:center;background:#f9faf9}
  .rp-info span{display:block;font-size:9px;text-transform:uppercase;color:#7a8794;font-weight:700;letter-spacing:.05em;margin-bottom:2px}
  /* Tabela de parcelas */
  .rp-flow{width:100%;border-collapse:collapse;margin:0 auto 4px}
  .rp-flow th,.rp-flow td{border-bottom:1px solid #eceef0;padding:5px 8px;font-size:11px;text-align:left}
  .rp-flow thead th{border-bottom:2px solid #0b6b3a;background:transparent;text-transform:uppercase;font-size:9px;letter-spacing:.05em;color:#7a8794}
  .rp-flow tbody tr:nth-child(even) td{background:#fafbfc}
  .rp-flow tfoot td{border-top:2px solid #0b6b3a;border-bottom:none;font-weight:700;color:#0b6b3a;font-size:12px}
  .rp-flow .r,.rp-resumo .r{text-align:right;font-variant-numeric:tabular-nums}
  /* Resumo financeiro (centralizado) */
  .rp-resumo{width:70%;margin:0 auto 4px;border-collapse:collapse}
  .rp-resumo td{border-bottom:1px solid #eceef0;padding:5px 10px;font-size:11px}
  .rp-cond{width:92%;margin:0 auto 4px;border-collapse:collapse}
  .rp-cond td{border-bottom:1px solid #eceef0;padding:5px 9px;font-size:11px;vertical-align:top}
  .rp-cond td:first-child{color:#7a8794;white-space:nowrap;padding-right:14px}
  .rp-cond td:last-child{font-weight:500}
  .rp-resumo tr:last-child td{border-bottom:none}
  .rp-resumo td.r{font-weight:700}
  /* Veredito = faixa preenchida de alto contraste */
  .rp-verdict{margin:12px auto 0;max-width:82%;padding:13px 18px;border-radius:9px;font-size:17px;font-weight:800;text-align:center;letter-spacing:.3px;color:#fff}
  .rp-verdict.ok{background:#0b6b3a}
  .rp-verdict.av{background:#d35400}
  .rp-foot{margin-top:12px;font-size:9px;color:#9aa6b0;text-align:center}
  /* não quebrar blocos no meio */
  .rp-info,.rp-flow,.rp-resumo,.rp-cond,.rp-verdict{page-break-inside:avoid}
  @page{size:A4;margin:11mm}
}

/* ── Mobile / celular ── */
@media (max-width: 600px) {
  .sim-wrap{padding:10px}
  .sim-header{flex-direction:column;align-items:stretch;gap:10px}
  .sim-header h1{font-size:18px}
  .sim-tab{flex:1 1 auto;justify-content:center;padding:8px 8px;font-size:12px}
  .sim-grid{grid-template-columns:1fr}
  .sim-card{padding:14px}
  .sim-row{grid-template-columns:1fr 1fr}

  /* Quadro de parcelas: empilha (2 colunas internas), cabeçalho some */
  .sim-flow-head{display:none}
  .sim-flow-row,.sim-flow-foot{grid-template-columns:1fr 1fr;gap:6px 8px;padding:10px}
  .sim-flow-row>label{grid-column:1/-1;font-size:13px}
  .sim-auto{align-self:center}
  .sim-flow-foot>span:first-child{grid-column:1/-1}
  .sim-flow-foot>span:nth-child(3),.sim-flow-foot>span:nth-child(4){display:none}

  /* Fluxo padrão / parâmetros / resultado / base */
  .sim-fp-grid{grid-template-columns:1fr 1fr}
  .sim-param-grid{grid-template-columns:1fr}
  .sim-pg-cols{grid-template-columns:1fr}
  .sim-save-bar{flex-direction:column;align-items:stretch}
  .sim-base-grid,.sim-result-grid{grid-template-columns:1fr 1fr}
  .sim-result-actions{justify-content:stretch}
  .sim-result-actions .sim-btn{width:100%;justify-content:center}
  .sim-verdict .material-icons{font-size:32px}
  .sim-verdict h3{font-size:16px}

  /* Propostas: tabelas viram CARTÕES (cada linha empilhada com rótulo) */
  .sim-prop-table-wrap{overflow-x:visible}
  .sim-prop-cards thead{display:none}
  .sim-prop-cards,.sim-prop-cards tbody,.sim-prop-cards tr,.sim-prop-cards td{display:block;width:100%}
  .sim-prop-cards tr{border:1px solid var(--sim-line);border-radius:10px;padding:6px 12px;margin-bottom:10px;background:#fff}
  .sim-prop-cards tbody tr:hover td{background:transparent}
  .sim-prop-cards td{border:none;padding:5px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:right;white-space:normal}
  .sim-prop-cards td::before{content:attr(data-label);color:var(--sim-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;text-align:left;flex:none}
  .sim-prop-cards td.r{white-space:normal}
  .sim-prop-head{align-items:stretch}
  .sim-prop-tools{width:100%}
  .sim-prop-tools .sim-select{flex:1;min-width:0}
  /* Detalhe: botões de decisão empilham e ocupam a largura */
  .sim-prop-decidir-btns{flex-direction:column}
  .sim-prop-decidir-btns .sim-btn{width:100%;justify-content:center}
  /* Histórico de versões empilha (2 col em vez de 4) */
  .sim-hist-row{grid-template-columns:auto 1fr}
  .sim-hist-em{text-align:left}

  /* Campos maiores p/ toque e sem zoom automático no iOS */
  select,input[type=text],input[type=number],input[type=month]{font-size:16px;padding:9px 8px}
  .sim-mes,.sim-flow-row input[type=number],.sim-pct-input{font-size:14px;padding:8px 4px}
  .sim-btn{width:100%;justify-content:center}
}
