/* SDO — estilos do módulo (prefixo .sdo-). Usa as variáveis de cor do sistema (funciona no modo noturno). */
.sdo-aviso{background:var(--brand-bg);border-left:4px solid var(--brand-light);padding:10px 14px;border-radius:8px;font-size:13px;margin:0 0 16px;}
.sdo-sub{font-size:12px;color:var(--gray-600);margin-top:2px;}
.sdo-vazio{color:var(--gray-400);font-size:13px;}
.sdo-mono{font-family:var(--font-mono);font-weight:700;color:var(--brand-dark);white-space:nowrap;}
.sdo-duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;align-items:start;}
.sdo-duas > .sdp-card.sdp-card{margin-top:0;}   /* .sdp-card.sdp-card: vence a regra '.sdp-card + .sdp-card' do SDP */
.sdo-linha{cursor:pointer;}
.sdo-linha-atrasada td:first-child{box-shadow:inset 3px 0 0 var(--red);}
.sdo-linha-campo{display:flex;gap:8px;align-items:stretch;}
.sdo-linha-campo > :first-child{flex:1;min-width:0;}
.sdo-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--gray-800);cursor:pointer;}
.sdo-check.full{grid-column:1/-1;}
.sdo-cab-card{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;}
.sdo-cab-card h3{margin:0;}
.sdo-barra-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap;}
.sdo-btn-aviso{color:var(--alert-orange);}
.sdo-btn-perigo{background:var(--red);color:#fff;}
.sdo-acoes-aba{margin:0 0 12px;display:flex;gap:8px;}
.sdo-acoes-cel{white-space:nowrap;text-align:right;}
.sdo-kb-resumo{font-size:12.5px;color:var(--gray-600);margin:0 0 10px;}
.sdo-filtros .sdo-f-busca{min-width:260px;flex:1;}

/* selos */
.sdo-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap;}
.sdo-prio-baixa{background:var(--gray-100);color:var(--gray-600);}
.sdo-prio-media{background:var(--brand-bg);color:var(--brand-dark);}
.sdo-prio-alta{background:var(--yellow-bg);color:var(--alert-orange);}
.sdo-prio-urgente{background:var(--red-bg);color:var(--red);}
.sdo-etapa{border:1px solid var(--c);color:var(--c);background:transparent;}
.sdo-rascunho{background:var(--gray-100);color:var(--gray-600);border:1px dashed var(--gray-400);}
.sdo-ativo{background:var(--green-bg);color:var(--green);}
.sdo-flag-atraso{background:var(--red);color:#fff;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:800;letter-spacing:.4px;}
.sdo-prazo-atrasado{color:var(--red);font-weight:700;}
.sdo-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:9.5px;font-weight:700;}
.sdo-avatar-tec{background:var(--brand-light);}

/* Kanban */
.sdo-kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;}
.sdo-col{flex:0 0 268px;background:var(--gray-50);border:1px solid var(--gray-200);border-top:3px solid var(--c);border-radius:10px;display:flex;flex-direction:column;max-height:72vh;transition:background .15s;}
.sdo-col-sobre{background:var(--brand-bg);outline:2px dashed var(--brand-light);}
.sdo-col-cab{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 2px;font-size:11px;font-weight:800;color:var(--gray-800);letter-spacing:.3px;}
.sdo-col-n{background:var(--navy);color:#fff;border-radius:20px;padding:1px 8px;font-size:10.5px;}
.sdo-col-valor{padding:0 12px 8px;font-size:11px;color:var(--gray-600);border-bottom:1px solid var(--gray-200);}
.sdo-col-corpo{padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:70px;}
.sdo-col-vazia{text-align:center;color:var(--gray-400);font-size:12px;padding:14px 0;}
.sdo-col-mais{font-size:11px;text-align:center;color:var(--brand-dark);padding:6px;}
.sdo-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:10px 11px;cursor:pointer;transition:box-shadow .15s;}
.sdo-card:hover,.sdo-card:focus{box-shadow:0 4px 12px rgba(10,42,91,.14);outline:none;}
.sdo-card[draggable="true"]{cursor:grab;}
.sdo-card-atrasada{border-left:3px solid var(--red);}
.sdo-arrastando{opacity:.4;}
.sdo-card-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.sdo-card-num{font-family:var(--font-mono);font-weight:700;font-size:11.5px;color:var(--brand-dark);}
.sdo-card-titulo{font-size:13px;font-weight:700;color:var(--text);line-height:1.3;}
.sdo-card-cliente{font-size:11.5px;color:var(--gray-600);margin:2px 0 8px;}
.sdo-card-meio{display:flex;align-items:center;gap:4px;margin-bottom:8px;}
.sdo-card-valor{margin-left:auto;font-size:12px;font-weight:700;color:var(--text);}
.sdo-card-pe{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--gray-600);flex-wrap:wrap;border-top:1px solid var(--gray-100);padding-top:7px;}
.sdo-pend-on{color:var(--alert-orange);font-weight:700;}

/* detalhe da SDO */
.sdo-det-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.sdo-det-num{font-family:var(--font-mono);font-size:22px;font-weight:800;color:var(--text);}
.sdo-det-sub{font-size:13.5px;color:var(--gray-600);margin-top:4px;}
.sdo-det-acoes{display:flex;gap:8px;flex-wrap:wrap;}
.sdo-det-acoes a.sdp-btn{text-decoration:none;}
.sdo-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.sdo-resumo > div{background:var(--white);padding:10px 14px;display:flex;flex-direction:column;gap:3px;}
.sdo-resumo span{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);font-weight:600;}
.sdo-resumo b{font-size:13.5px;}
.sdo-mover{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.sdo-mover label{font-size:12.5px;font-weight:600;color:var(--gray-800);}
.sdo-mover select{min-width:260px;padding:8px 10px;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);color:var(--text);font-family:inherit;}
.sdo-aba-futura{opacity:.62;}
.sdo-aba-futura small{display:block;font-size:9px;font-weight:600;color:var(--gray-400);}
.sdo-aba-n{background:var(--alert-orange);color:#fff;border-radius:10px;padding:0 6px;font-size:10px;margin-left:4px;}
.sdo-bloco{margin-bottom:16px;}
.sdo-bloco h4{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);}
.sdo-bloco-txt{white-space:pre-wrap;font-size:13.5px;line-height:1.5;}
.sdo-h3-resultado{margin-top:18px !important;}
.sdo-futuro{text-align:center;padding:34px 20px;}
.sdo-futuro-ic{font-size:34px;}
.sdo-futuro p{max-width:560px;margin:8px auto;font-size:13.5px;line-height:1.5;}
.sdo-tempo{display:grid;grid-template-columns:minmax(120px,1.3fr) 2fr 60px;gap:10px;align-items:center;font-size:12px;margin-bottom:7px;}
.sdo-tempo-barra{background:var(--gray-100);border-radius:20px;height:9px;overflow:hidden;}
.sdo-tempo-barra i{display:block;height:100%;background:var(--brand-light);border-radius:20px;}
.sdo-tempo-barra i.sdo-tempo-espera{background:#D69E00;}
.sdo-tempo b{text-align:right;}
.sdo-tempo-totais{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-200);}
.sdo-tempo-totais span{display:block;font-size:10.5px;color:var(--gray-600);text-transform:uppercase;letter-spacing:.4px;}
.sdo-tempo-totais b{font-size:15px;}
.sdo-pend-fim td{opacity:.55;}
.sdo-sel-status{padding:5px 8px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--text);font-family:inherit;font-size:12px;}
.sdo-comentar{display:flex;gap:10px;margin-bottom:16px;align-items:flex-start;}
.sdo-comentar textarea{flex:1;padding:10px;border:1px solid var(--gray-200);border-radius:8px;font-family:inherit;font-size:13px;background:var(--white);color:var(--text);}
.sdo-timeline{display:flex;flex-direction:column;}
.sdo-tl-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-100);}
.sdo-tl-ic{width:30px;height:30px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.sdo-tl-comentario .sdo-tl-ic{background:var(--brand-bg);}
.sdo-tl-corpo{min-width:0;}
.sdo-tl-meta{font-size:11px;color:var(--gray-600);}
.sdo-tl-txt{font-size:13px;white-space:pre-wrap;word-break:break-word;margin-top:2px;}
.sdo-contato{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--gray-100);}
.sdo-kpi-link{text-decoration:none;color:inherit;display:block;}
a.sdo-kpi-link:hover{box-shadow:0 4px 12px rgba(10,42,91,.14);}

/* modal */
.sdo-modal-fundo{position:fixed;inset:0;background:rgba(6,27,62,.55);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:200;overflow-y:auto;}
.sdo-modal{background:var(--white);color:var(--text);border-radius:14px;width:100%;box-shadow:0 24px 60px rgba(2,12,32,.5);border-top:4px solid var(--brand-light);}
.sdo-modal-cab{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 4px;}
.sdo-modal-cab h3{margin:0;font-size:17px;}
.sdo-modal-x{border:0;background:transparent;font-size:24px;line-height:1;color:var(--gray-600);cursor:pointer;}
.sdo-modal-corpo{padding:12px 20px;}
.sdo-modal-texto{font-size:14px;line-height:1.5;margin:0 0 12px;}
.sdo-modal-rod{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px 18px;flex-wrap:wrap;}
.sdo-modal-erro{color:var(--red);font-size:12.5px;font-weight:600;margin-right:auto;}

/* configurações, usuários, permissões */
.sdo-chips{display:flex;flex-wrap:wrap;gap:8px;}
.sdo-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:20px;padding:5px 6px 5px 12px;font-size:12.5px;}
.sdo-chip button{border:0;background:transparent;color:var(--red);font-size:15px;cursor:pointer;line-height:1;}
.sdo-matriz td,.sdo-matriz th{padding:9px 12px;}
.sdo-th-perfil{text-align:center !important;}
.sdo-td-check{text-align:center;}
.sdo-td-check input{width:17px;height:17px;cursor:pointer;accent-color:var(--brand);}
.sdo-td-check input:disabled{cursor:not-allowed;opacity:.55;}
.sdo-matriz-grupo td{background:var(--gray-100);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-600);}
.sdo-col-fechada{background:var(--gray-100);}

/* ajustes de legibilidade (modo noturno e nomes longos de etapa) */
.sdp-kv a,.sdo-bloco a,.sdo-contato a{color:var(--brand-dark);font-weight:700;}
.sdo-resumo > div{min-width:0;align-items:flex-start;}
.sdo-resumo .sdo-etapa{white-space:normal;line-height:1.25;border-radius:10px;text-align:left;}
.sdo-duas + .sdo-aviso,.sdp-grid-kpi + .sdo-aviso{margin-top:16px;}

/* ===== Fase 2: engenharia ===== */
.sdo-aviso-alerta{background:var(--yellow-bg);border-left-color:var(--alert-orange);}
.sdo-campo-inativo{opacity:.65;}
.sdo-sep{border:0;border-top:1px solid var(--gray-200);margin:22px 0;}
.sdo-sub-titulo{margin:20px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);}
.sdo-in-horas{width:96px;padding:6px 8px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--text);font-family:inherit;font-size:13px;text-align:right;}
.sdo-linha-total td{font-weight:800;background:var(--gray-100);}
.sdo-aba-n-neutro{background:var(--gray-400);}
.sdo-chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;padding:10px;border:1px solid var(--gray-200);border-radius:8px;}
.sdo-doc{border:1px solid var(--gray-200);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--white);}
.sdo-doc-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.sdo-doc-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sdo-link-doc{font-size:12.5px;font-weight:700;color:var(--brand-dark);text-decoration:none;white-space:nowrap;}
.sdo-link-doc:hover{text-decoration:underline;}
.sdo-doc-revs{margin-top:10px;font-size:12.5px;}
.sdo-doc-revs summary{cursor:pointer;color:var(--gray-600);font-weight:600;}
.sdo-bom-pai td{font-weight:700;background:var(--gray-50);}
.sdo-linha-total td{font-weight:800;}
.sdo-tab-bom td:first-child,.sdo-tab-horas td:first-child{white-space:normal;}

/* abas da SDO mais compactas: com 11 abas e contadores, cabem em uma linha em telas de 1440 px */
.sdo-abas{gap:0;}
.sdo-abas .sdp-aba-btn{padding-left:11px;padding-right:11px;font-size:13px;}
#cfg-extra{margin-top:16px;}

/* ===== Fase 3: orçamentos ===== */
.sdo-st-rascunho{background:var(--gray-100);color:var(--gray-600);border:1px dashed var(--gray-400);}
.sdo-st-em_revisao{background:var(--yellow-bg);color:var(--alert-orange);}
.sdo-st-aprovado{background:var(--green-bg);color:var(--green);}
.sdo-st-reprovado{background:var(--red-bg);color:var(--red);}
.sdo-st-enviado{background:var(--brand-bg);color:var(--brand-dark);}
.sdo-orc-valor{font-size:15px;margin-right:6px;}
.sdo-num-dir{text-align:right;white-space:nowrap;}
.sdo-orc-cat td{background:var(--gray-100);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);}
.sdo-orc-sub td{font-size:12px;color:var(--gray-600);border-bottom:2px solid var(--gray-200);}
.sdo-calc{display:flex;flex-direction:column;}
.sdo-calc-lin{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--gray-100);font-size:13px;}
.sdo-calc-lin span{color:var(--gray-600);}
.sdo-calc-tot{font-weight:700;background:var(--gray-50);padding-left:6px;padding-right:6px;}
.sdo-calc-tot span{color:var(--text);}
.sdo-calc-preco{font-size:16px;background:var(--brand-bg);padding:10px 8px;margin:4px 0;border-radius:8px;border:0;}
.sdo-calc-preco span{color:var(--text);font-weight:700;}
.sdo-calc-ok b{color:var(--green);}
.sdo-calc-neg b,.sdo-calc-neg span{color:var(--red);}
.sdo-sel-rev{max-width:230px;padding:5px 8px;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--text);font-family:inherit;font-size:12.5px;}
.sdo-linha-atual td{background:var(--brand-bg);}
.sdo-orc-card{margin-bottom:10px;}
#cfg-precos{margin-top:16px;}

.sdo-resumo-larga{grid-column:span 2;}
.sdo-resumo .sdo-sel-rev{width:100%;max-width:none;}

/* ===== Fase 4: propostas e negociações ===== */
.sdo-ps-rascunho{background:var(--gray-100);color:var(--gray-600);border:1px dashed var(--gray-400);}
.sdo-ps-emitida{background:var(--green-bg);color:var(--green);}
.sdo-ps-enviada{background:var(--brand-bg);color:var(--brand-dark);}
.sdo-ps-cancelada{background:var(--red-bg);color:var(--red);}
.sdo-ps-vencida{background:var(--red);color:#fff;}
.sdo-neg{border:1px solid var(--gray-200);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--white);}
.sdo-neg-nova{border-color:var(--brand-light);box-shadow:0 0 0 2px var(--brand-bg);}
.sdo-neg-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.sdo-neg-valor{font-size:14px;}
.sdo-neg .sdo-sub{margin-top:3px;}
#cfg-proposta{margin-top:16px;}

/* resumo (cabeçalho da SDO, do orçamento e da proposta): células flexíveis, sem bloco cinza vazio quando quebra de linha */
.sdo-resumo{display:flex;flex-wrap:wrap;gap:0;background:var(--white);}
.sdo-resumo > div{flex:1 1 150px;background:var(--white);box-shadow:inset -1px -1px 0 var(--gray-200);}
.sdo-resumo .sdo-resumo-larga{flex:2 1 300px;grid-column:auto;}

/* ===== Fase 5: indicadores (gráficos em HTML/SVG), topo (busca + sino) e notificações ===== */
.sdo-h2{margin:22px 0 10px;font-size:15px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.6px;}
.sdo-h3{margin:14px 0 6px;font-size:12px;font-weight:800;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;}
.sdo-filtros-ind{align-items:flex-end;}
.sdo-fi-botoes{display:flex;gap:8px;align-items:flex-end;}
.sdo-atalhos{margin-top:10px;font-size:12px;color:var(--gray-600);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.sdo-atalhos button{border:1px solid var(--gray-200);background:var(--white);color:var(--brand);border-radius:999px;padding:3px 11px;font-family:inherit;font-size:12px;cursor:pointer;}
.sdo-atalhos button:hover{background:var(--brand-bg);}
.sdo-barras{display:flex;flex-direction:column;gap:7px;}
.sdo-barra-lin{display:grid;grid-template-columns:minmax(90px,170px) 1fr minmax(60px,auto);gap:10px;align-items:center;font-size:12px;}
.sdo-barra-rot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.sdo-barra-trilho{background:var(--gray-100);border-radius:5px;height:12px;overflow:hidden;}
.sdo-barra-fill{height:100%;border-radius:5px;min-width:0;transition:width .3s;}
.sdo-barra-val{text-align:right;font-weight:700;white-space:nowrap;}
.sdo-hd{display:flex;flex-direction:column;gap:3px;margin-bottom:6px;}
.sdo-hd-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;}
.sdo-rosca{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.sdo-rosca svg{width:150px;height:150px;flex:none;}
.sdo-rosca-n{font-size:7px;font-weight:800;fill:var(--navy);}
.sdo-legenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12.5px;}
.sdo-legenda-h{flex-direction:row;gap:14px;flex-wrap:wrap;margin-top:8px;}
.sdo-legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;}
.sdo-colunas{display:flex;gap:10px;align-items:flex-end;height:170px;padding-top:8px;overflow-x:auto;}
.sdo-coluna{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1 0 46px;height:100%;}
.sdo-coluna-par{display:flex;gap:3px;align-items:flex-end;height:100%;width:100%;justify-content:center;}
.sdo-gcol{display:flex;align-items:flex-start;justify-content:center;width:42%;max-width:26px;min-height:2px;border-radius:4px 4px 0 0;color:#fff;font-size:10px;overflow:hidden;}
.sdo-gcol b{padding-top:1px;}
.sdo-coluna-rot{font-size:11px;color:var(--gray-600);}
.sdo-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;}
.sdo-mini div{background:var(--gray-50);border-radius:8px;padding:10px;text-align:center;}
.sdo-mini b{display:block;font-size:20px;color:var(--navy);}
.sdo-mini span{font-size:11px;color:var(--gray-600);text-transform:uppercase;letter-spacing:.4px;}
.sdo-mini-alerta{background:var(--red-bg) !important;}
.sdo-mini-alerta b{color:var(--red);}
.sdo-relatorios{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}
.sdo-rel{display:flex;flex-direction:column;gap:3px;border:1px solid var(--gray-200);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--text);background:var(--white);}
.sdo-rel:hover{border-color:var(--brand-light);background:var(--brand-bg);}
.sdo-rel b{color:var(--brand);}
.sdo-rel span{font-size:12px;color:var(--gray-600);}
/* topo: busca + sino */
.sdo-topo{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:12px;}
.sdo-busca{position:relative;}
.sdo-busca input{width:280px;max-width:32vw;padding:8px 12px;border:1px solid var(--gray-200);border-radius:999px;background:var(--white);color:var(--text);font-family:inherit;font-size:13px;}
.sdo-busca input:focus{outline:2px solid var(--brand-light);border-color:transparent;}
.sdo-busca-res{position:absolute;top:calc(100% + 6px);left:0;width:380px;max-width:86vw;max-height:420px;overflow:auto;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 12px 32px rgba(10,42,91,.18);z-index:50;padding:6px;}
.sdo-busca-grupo{padding:8px 10px 4px;font-size:10.5px;font-weight:800;color:var(--gray-600);text-transform:uppercase;letter-spacing:.6px;}
.sdo-busca-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:8px;cursor:pointer;font-family:inherit;color:var(--text);}
.sdo-busca-item b{font-size:13px;}
.sdo-busca-item span{font-size:11.5px;color:var(--gray-600);}
.sdo-busca-item:hover,.sdo-busca-item.ativo{background:var(--brand-bg);}
.sdo-busca-vazio{padding:14px;font-size:12.5px;color:var(--gray-600);text-align:center;}
.sdo-sino-wrap{position:relative;}
.sdo-sino{position:relative;border:1px solid var(--gray-200);background:var(--white);border-radius:50%;width:38px;height:38px;font-size:17px;cursor:pointer;}
.sdo-sino:hover{background:var(--brand-bg);}
.sdo-sino-n{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;line-height:18px;text-align:center;}
.sdo-sino-painel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-width:90vw;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 12px 32px rgba(10,42,91,.18);z-index:50;overflow:hidden;}
.sdo-painel-cab{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--gray-100);font-size:13px;}
.sdo-painel-cab button{border:0;background:transparent;color:var(--brand);font-family:inherit;font-size:12px;cursor:pointer;text-decoration:underline;}
.sdo-painel-lista{max-height:380px;overflow:auto;}
.sdo-painel-rodape{display:block;text-align:center;padding:10px;border-top:1px solid var(--gray-100);font-size:12.5px;font-weight:700;color:var(--brand);text-decoration:none;}
.sdo-notif{display:flex;gap:10px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--gray-100);background:var(--white);padding:10px 14px;cursor:pointer;font-family:inherit;color:var(--text);}
.sdo-notif:hover{background:var(--gray-50);}
.sdo-notif-nova{background:var(--brand-bg);}
.sdo-notif-nova b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand-light);margin-right:6px;}
.sdo-notif-ic{font-size:18px;flex:none;}
.sdo-notif-tx{display:flex;flex-direction:column;gap:2px;font-size:12.5px;}
.sdo-notif-tx span{color:var(--gray-600);}
.sdo-notif-tx em{font-style:normal;font-size:11px;color:var(--gray-400);}
.sdo-notif-lista{border:1px solid var(--gray-100);border-radius:10px;overflow:hidden;}
@media (max-width:900px){.sdo-busca input{width:170px;}.sdo-barra-lin{grid-template-columns:90px 1fr auto;}}

/* indicadores: ajustes visuais (valores em dinheiro, números acima das colunas) */
.sdp-kpi.sdo-kpi-sm .val{font-size:clamp(15px,1.55vw,22px);white-space:nowrap;}   /* mais específica que .sdp-kpi .val (styles.css carrega depois) */
.sdo-gcol{position:relative;overflow:visible;align-items:flex-end;}
.sdo-gcol b{position:absolute;top:-15px;left:0;right:0;text-align:center;color:var(--text);padding:0;font-size:10.5px;}
.sdo-coluna-par{padding-top:16px;}
#dash-espera{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}   /* um cartão sozinho não estica pela linha toda */

/* alternância Lista / Kanban da guia SDOs */
.sdo-vista-barra{margin-bottom:14px;}

/* orçamento: valor final ajustado à mão */
.sdo-vf{margin-top:16px;padding:14px;border:1px dashed var(--gray-400);border-radius:10px;background:var(--gray-50);}
.sdo-vf h4{margin:0 0 4px;font-size:13px;color:var(--navy);}
.sdo-vf-previa{margin:10px 0 4px;font-size:12.5px;}
.sdo-vf-aviso{color:var(--alert-orange);}
.sdo-vf-ro{border-style:solid;border-color:var(--yellow-bg);background:var(--yellow-bg);}

/* proposta: editor de layout */
.sdo-ly-lista{display:flex;flex-direction:column;gap:6px;}
.sdo-ly-bloco{display:flex;align-items:center;gap:10px;border:1px solid var(--gray-200);border-radius:8px;padding:8px 10px;background:var(--white);font-size:13px;}
.sdo-ly-oculto{opacity:.55;background:var(--gray-50);}
.sdo-ly-mov{display:flex;flex-direction:column;gap:2px;}
.sdo-ly-mov button{border:1px solid var(--gray-200);background:var(--white);border-radius:5px;width:24px;height:18px;line-height:14px;font-size:12px;cursor:pointer;padding:0;}
.sdo-ly-mov button:disabled{opacity:.3;cursor:default;}
.sdo-ly-ic{width:22px;text-align:center;}
.sdo-ly-nome{flex:1;}
.sdo-ly-img{align-items:flex-start;}
.sdo-ly-thumb{width:88px;height:62px;object-fit:contain;background:var(--gray-100);border-radius:6px;border:1px solid var(--gray-200);flex:none;}
.sdo-ly-img-corpo{flex:1;display:flex;flex-direction:column;gap:6px;}
.sdo-ly-campos{display:flex;gap:8px;flex-wrap:wrap;}
.sdo-ly-campos input{flex:1;min-width:180px;}
.sdo-ly-campos input,.sdo-ly-campos select{padding:6px 8px;border:1px solid var(--gray-200);border-radius:6px;font-family:inherit;font-size:12.5px;background:var(--white);color:var(--text);}
.sdo-ly-barra{align-items:center;flex-wrap:wrap;}
.sdo-ly-barra select{padding:7px 8px;border:1px solid var(--gray-200);border-radius:6px;font-family:inherit;font-size:12.5px;max-width:200px;}
.sdo-ly-fim{margin-left:auto;display:flex;gap:8px;}

/* cadastro de itens: página do item, busca de filhos, seções de opções */
.sdo-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px;}
.sdo-kpi{border:1px solid var(--gray-200);border-radius:8px;padding:10px 12px;background:var(--gray-50);display:flex;flex-direction:column;gap:2px;}
.sdo-kpi span{font-size:11.5px;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px;}
.sdo-kpi b{font-size:17px;color:var(--navy);}
.sdo-kpi-total{background:var(--navy);border-color:var(--navy);}
.sdo-kpi-total span,.sdo-kpi-total b{color:#fff;}
.sdo-f-res{display:flex;flex-direction:column;gap:4px;margin-top:8px;}
.sdo-f-opcao{text-align:left;border:1px solid var(--gray-200);background:var(--white);border-radius:6px;padding:8px 10px;cursor:pointer;font-family:inherit;font-size:13px;color:var(--text);}
.sdo-f-opcao:hover{background:var(--gray-50);border-color:var(--navy);}
.sdo-cfg-sec{margin-top:18px;padding-top:12px;border-top:1px solid var(--gray-200);}
.sdo-cfg-sec h4{margin:0;font-size:14px;color:var(--navy);}
.sdo-opc-inativa{color:var(--gray-600);}

/* formulários em grade: um campo com texto longo (ex.: opções de "Origem da mercadoria") não pode empurrar a coluna para fora da janela/cartão */
.sdo-modal .sdp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.sdp-form-grid > .sdp-field{min-width:0;}
.sdp-form-grid .sdp-field input,.sdp-form-grid .sdp-field select,.sdp-form-grid .sdp-field textarea{min-width:0;max-width:100%;box-sizing:border-box;}
.sdp-form-grid .sdp-field select{text-overflow:ellipsis;}

/* as janelas ficam fora de #sdp-root: sem isto caíam na fonte padrão do navegador (com serifa) */
.sdo-modal-fundo,.sdo-modal-fundo button,.sdo-modal-fundo input,.sdo-modal-fundo select,.sdo-modal-fundo textarea{font-family:var(--font-body);}
.sdo-modal h3,.sdo-modal-cab h3{font-family:var(--font-display);}
