/* Cores das telas próprias do TCSSA-JURIDICO, com versão clara e escura (o painel põe a classe "dark" no <html>). */
:root{
  --tc-b:rgba(20,40,36,.16);      /* linhas e bordas de caixas */
  --tc-b2:rgba(20,40,36,.30);     /* bordas de botões e campos */
  --tc-f:rgba(20,40,36,.035);     /* fundo leve de caixas */
  --tc-f2:rgba(20,40,36,.075);    /* fundo de cartões dentro de caixas */
  --tc-txt2:#56625f;              /* texto secundário */
  --tc-livre:rgba(26,71,166,.11);
  --tc-livre-h:rgba(26,71,166,.24);
  --tc-verde-txt:#1a47a6;
  --tc-vermelho:#b4423a;
  --tc-ambar:#9a6210;
  --tc-ok:#2f7d4f;
  --tc-azul:#33679f;
}
html.dark{
  --tc-b:rgba(255,255,255,.17);
  --tc-b2:rgba(255,255,255,.34);
  --tc-f:rgba(255,255,255,.045);
  --tc-f2:rgba(255,255,255,.09);
  --tc-txt2:#b3c0bd;
  --tc-livre:rgba(138,168,227,.17);
  --tc-livre-h:rgba(138,168,227,.34);
  --tc-verde-txt:#8aa8e3;
  --tc-vermelho:#f08a80;
  --tc-ambar:#f0b35a;
  --tc-ok:#6fcf97;
  --tc-azul:#8db8ec;
}
/* botões contornados ficam legíveis no escuro */
html.dark .ag-btn,html.dark .hj-b,html.dark .dg-bt.sec,html.dark .im-bt.sec,html.dark .ix select,html.dark .ix input{color:#e8efed}
html.dark .hj-b.r{color:var(--tc-vermelho);border-color:var(--tc-vermelho)}
html.dark .lv-h a{color:var(--tc-verde-txt);border-color:var(--tc-verde-txt)}
html.dark .lv-h a:hover{background:var(--tc-verde-txt);color:#0b1220}
html.dark .ag-abas a.at{color:var(--tc-verde-txt);border-color:var(--tc-verde-txt)}
html.dark select option{background:#1f2937;color:#e8efed}

/* ---- telas padrão do painel (listas, formulários) no modo escuro: separações e campos mais visíveis ---- */
html.dark{--tc-b:rgba(255,255,255,.22);--tc-b2:rgba(255,255,255,.38)}
html.dark .dark\:border-base-800{border-color:rgba(255,255,255,.18)!important}
html.dark .dark\:border-base-700{border-color:rgba(255,255,255,.30)!important}
html.dark .dark\:divide-base-800>*+*{border-color:rgba(255,255,255,.18)!important}
html.dark input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
html.dark select,html.dark textarea,html.dark .select2-selection{
  background-color:var(--tc-campo)!important;border-color:var(--tc-borda-campo)!important;color:var(--tc-campo-txt)}
html.dark input:focus,html.dark select:focus,html.dark textarea:focus{border-color:#8aa8e3!important;outline:none}
html.dark input[type=checkbox],html.dark input[type=radio]{border-color:rgba(255,255,255,.55)!important}
html.dark ::placeholder{color:rgba(255,255,255,.45)!important}
/* títulos de seções dos formulários se destacam do conteúdo */
html.dark fieldset>h2:not(.tc-faixa),html.dark .dark\:bg-white\/\[\.02\]{background-color:rgba(255,255,255,.07)!important}
/* linhas das listas: separação clara entre um registro e outro */
html.dark #result_list tbody tr td,html.dark #result_list tbody tr th{border-color:rgba(255,255,255,.14)!important}
/* modo claro: campos com borda um pouco mais firme */
html:not(.dark) input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
html:not(.dark) select,html:not(.dark) textarea{border-color:rgba(20,40,36,.26)}
html.dark .q.v{background:rgba(111,207,151,.18)!important}
html.dark .q.p{background:rgba(240,179,90,.18)!important}
html.dark .q.c{background:rgba(240,138,128,.18)!important}
html.dark #searchbar,html.dark input[name=q]{background-color:transparent!important;border:0!important}

/* =====================================================================
   Padrão TCSSA de formulários: seções em quadros, rótulo em cima, campos lado a lado
   em grade de colunas de ~105px. Todas as cores vêm das variáveis abaixo (claro e escuro).
   ===================================================================== */
:root{
  --tc-caixa:#ffffff;            /* fundo do quadro da seção */
  --tc-borda-caixa:rgba(30,50,80,.17);
  --tc-faixa-f:#e9f0fa;          /* faixa de título */
  --tc-faixa-barra:#2f6fbf;
  --tc-faixa-txt:#1c3a60;
  --tc-rotulo:#34413f;
  --tc-ajuda-txt:#6b7674;
  --tc-campo:#ffffff;
  --tc-campo-txt:#1f2a28;
  --tc-borda-campo:rgba(20,40,36,.28);
  --tc-ro:#f4f6f8;               /* campo só leitura */
  --tc-sug-f:#ffffff;            /* lista de sugestões */
  --tc-sug-at:#e3edf9;
  --tc-sombra:0 8px 24px rgba(15,30,50,.16);
}
html.dark{
  --tc-caixa:#1d2635;
  --tc-borda-caixa:rgba(255,255,255,.20);
  --tc-faixa-f:rgba(100,160,235,.17);
  --tc-faixa-barra:#6ea9f0;
  --tc-faixa-txt:#ffffff;
  --tc-rotulo:#dde6e4;
  --tc-ajuda-txt:#aab7b5;
  --tc-campo:#273244;
  --tc-campo-txt:#eef3f2;
  --tc-borda-campo:rgba(255,255,255,.34);
  --tc-ro:#232d3d;
  --tc-sug-f:#263142;
  --tc-sug-at:#34507a;
  --tc-sombra:0 8px 24px rgba(0,0,0,.5);
}
.tc-secao{border:1px solid var(--tc-borda-caixa)!important;background:var(--tc-caixa);border-radius:10px;margin:0 0 14px;min-width:0;padding:0;overflow:visible}
.tc-secao>.tc-faixa,.tc-secao>details>.tc-faixa{border-radius:9px 9px 0 0}
.tc-faixa{display:flex;align-items:center;gap:8px;background:var(--tc-faixa-f)!important;border-left:4px solid var(--tc-faixa-barra);color:var(--tc-faixa-txt)!important;
  font-weight:700;font-size:14px;line-height:1.3;padding:8px 12px;margin:0;border-bottom:1px solid var(--tc-borda-caixa)}
summary.tc-faixa{cursor:pointer;list-style:none;user-select:none}
summary.tc-faixa::-webkit-details-marker{display:none}
details.tc-dobra:not([open])>summary.tc-faixa{border-bottom:0;border-radius:9px}
.tc-seta{margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;flex:none;position:relative;top:-2px}
details.tc-dobra[open]>summary .tc-seta{transform:rotate(-135deg);top:2px}
.tc-corpo{padding:12px 14px 8px;container-type:inline-size}
.tc-desc{font-size:12.5px;color:var(--tc-ajuda-txt);margin:0 0 10px;line-height:1.45}
.tc-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px 12px;align-items:start}
.tc-c{min-width:0;display:flex;flex-direction:column;padding:0!important;border:0!important}
.tc-s1{grid-column:span 1}.tc-s2{grid-column:span 2}.tc-s3{grid-column:span 3}
.tc-s4{grid-column:span 4}.tc-s5{grid-column:span 5}.tc-s6{grid-column:span 6}.tc-sF{grid-column:1/-1}
.tc-oculto{display:none!important}
@container (max-width:640px){.tc-c{grid-column:1/-1!important}.tc-rot label{white-space:normal!important;overflow:visible!important}}
.tc-rot{min-width:0}
.tc-rot label{display:inline-block;max-width:100%;vertical-align:top;font-size:12.5px;font-weight:600;color:var(--tc-rotulo)!important;margin:0 0 4px;padding:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;width:auto!important;min-width:0!important;float:none!important}
.tc-rot label .text-red-600,.tc-rot label span{color:var(--tc-vermelho)}
.tc-val{min-width:0}
.tc-val :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),
.tc-val .select2-container{width:100%!important;max-width:100%!important;min-width:0!important}
.tc-val>div:not(.readonly):not(.tc-sug){max-width:100%!important}
.tc-val textarea{min-height:76px}
.tc-marcar .tc-val{min-height:38px;display:flex;align-items:center}
.tc-val .readonly{max-width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--tc-borda-caixa);border-radius:6px;background:var(--tc-ro);font-size:13.5px;overflow-wrap:anywhere}
.tc-ajuda{font-size:11.5px;line-height:1.35;color:var(--tc-ajuda-txt);margin-top:3px}
.tc-ajuda *{font-size:inherit}
.tc-erro{font-size:12px;color:var(--tc-vermelho);margin-top:3px}
.tc-c.errors :is(input,select,textarea){border-color:var(--tc-vermelho)!important}
/* seções pequenas lado a lado */
.tc-lado{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 14px;align-items:start}
/* grupos de itens (tabelas dentro do formulário) também em quadro com faixa */
.inline-related>fieldset.module{border:1px solid var(--tc-borda-caixa)!important;background:var(--tc-caixa);border-radius:10px;margin:0 0 14px;padding:0 0 10px;min-width:0}
html .inline-related.inline-related>fieldset.module>h2{background:var(--tc-faixa-f)!important;border-left:4px solid var(--tc-faixa-barra);color:var(--tc-faixa-txt)!important;
  font-weight:700;font-size:14px;border-radius:9px 9px 0 0;margin:0 0 10px!important;height:auto!important;padding:8px 12px!important;border-bottom:1px solid var(--tc-borda-caixa)}
.inline-related>fieldset.module>h2~*{margin-left:12px;margin-right:12px}
.inline-related .tc-secao{margin:0 0 10px}
.tc-rot label::first-letter{text-transform:uppercase}
.tc-val>div:has(>div>label>input[type=checkbox]){display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:4px}
.tc-val>div>div>label:has(>input[type=checkbox]){display:inline-flex;align-items:center;gap:6px;font-size:13.5px}
/* campo de código com lista de sugestões própria */
.tc-sug{position:relative;width:100%}
.tc-sug-in{width:100%}
.tc-sug-lista{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:60;max-height:300px;overflow:auto;margin:0;padding:4px;list-style:none;
  background:var(--tc-sug-f);border:1px solid var(--tc-borda-campo);border-radius:8px;box-shadow:var(--tc-sombra);color:var(--tc-campo-txt)}
.tc-sug-lista li{padding:6px 9px;border-radius:5px;cursor:pointer;font-size:13px;line-height:1.35}
.tc-sug-lista li.at,.tc-sug-lista li:hover{background:var(--tc-sug-at)}
.tc-sug-lista li b{font-weight:700}
.tc-sug-lista .vazio{color:var(--tc-ajuda-txt);cursor:default;background:none!important}
html:not(.dark) .tc-val :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:var(--tc-campo)}
.tc-val [class*="min-w-"]{min-width:0!important}
.tc-val .datetime{flex-direction:row!important;align-items:center;gap:8px;max-width:100%!important}
.tc-val .datetime>div{flex:1 1 0;min-width:0!important;margin:0!important}
.tc-val [class*="max-w-"]{max-width:100%!important}
.tc-val .related-widget-wrapper{width:100%}
