:root{--fundo:#f4f1ea;--papel:#fffdf8;--tinta:#1d2a2f;--suave:#5b6a70;--linha:#d9d2c3;--marca:#0e4d57;--marca2:#c27c2c;--ok:#2f6b3a;--erro:#9b2c2c}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 Georgia,"Times New Roman",serif;color:var(--tinta);background:var(--fundo)}
body.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
nav.lateral{background:var(--marca);color:#f4f1ea;padding:20px 14px;display:flex;flex-direction:column;gap:2px}
nav.lateral .marca{font:700 15px/1.2 system-ui,sans-serif;letter-spacing:.12em;margin-bottom:18px;color:#f0c58a}
nav.lateral a{color:#e8efe9;text-decoration:none;padding:6px 10px;border-radius:4px;font-family:system-ui,sans-serif;font-size:14px}
nav.lateral a.ativo,nav.lateral a:hover{background:rgba(255,255,255,.12)}
main{padding:24px 28px;max-width:none;width:100%;min-width:0}h1{font-weight:600;margin:0 0 18px}h2{font-size:17px;margin:0 0 10px}h3{font-size:15px}
.cartao{background:var(--papel);border:1px solid var(--linha);border-radius:6px;padding:18px;margin:0 0 18px}.cartao.estreito{max-width:420px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.grade2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.num b{display:block;font-size:30px;color:var(--marca)}
label{display:block;font:600 13px system-ui,sans-serif;margin:10px 0 3px}label.ck{font-weight:400;display:inline-block;margin-right:12px}
input,select,textarea{width:100%;padding:8px;border:1px solid var(--linha);border-radius:4px;background:#fff;font:14px system-ui,sans-serif}
textarea{font-family:ui-monospace,monospace;font-size:13px}small,.nota{display:block;color:var(--suave);font-size:12.5px;font-family:system-ui,sans-serif}
button{margin-top:14px;background:var(--marca);color:#fff;border:0;border-radius:4px;padding:9px 16px;font:600 14px system-ui,sans-serif;cursor:pointer}
button.link{background:none;color:var(--marca);padding:0;margin:0;text-decoration:underline;font-weight:400}form.inline{display:inline;margin-right:8px}
nav.lateral button.link{color:#f0c58a;margin-top:18px;text-align:left}
.rolagem{overflow-x:auto}table{border-collapse:collapse;width:100%;font:13px system-ui,sans-serif;background:var(--papel)}
th,td{border-bottom:1px solid var(--linha);padding:6px 8px;text-align:left;vertical-align:top}th{background:#ece6d8}
.aviso{padding:10px 14px;border-left:4px solid var(--marca2);background:#fbf3e6;margin:0 0 16px;font-family:system-ui,sans-serif}.aviso.erro{border-color:var(--erro);background:#f8e9e9}.aviso.ok{border-color:var(--ok);background:#ebf4ec}
.abas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.abas.linha{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.aba{display:block;background:var(--papel);border:1px solid var(--linha);border-radius:6px;padding:12px;color:var(--tinta);text-decoration:none}.abas.linha .aba{padding:6px 10px;font:13px system-ui,sans-serif}.aba.ativa{background:var(--marca);color:#fff}
.estado{display:block;font:12px system-ui,sans-serif;color:var(--suave)}.estado.disponivel{color:var(--ok)}
.busca{display:flex;gap:8px;margin-bottom:14px}.busca input,.busca select{max-width:360px}.busca button{margin:0}
ul.req li.ok{color:var(--ok)}ul.req li.erro{color:var(--erro)}pre{white-space:pre-wrap;font-size:12px}
body.publico main{margin:40px auto;max-width:640px}
.previa-peticao{max-height:70vh;overflow:auto;font-size:.92em;line-height:1.5}.previa-peticao p{margin:0 0 .6em}mark{background:#ffe08a;padding:0 2px}mark.ok{background:#c9f0d2}
@media (max-width:800px){body.app{grid-template-columns:minmax(0,1fr)}nav.lateral{flex-direction:row;flex-wrap:nowrap;overflow-x:auto}nav.lateral a,nav.lateral .marca{white-space:nowrap}main{padding:14px;min-width:0;overflow-wrap:anywhere}.grade2,.grade{grid-template-columns:minmax(0,1fr)}.cartao{padding:14px}table{display:block;overflow-x:auto;max-width:100%}form.busca{display:flex;flex-wrap:wrap;gap:8px}form.busca select{min-width:0;flex:1 1 200px}}
@media print{nav.lateral,.acoes,.nota{display:none}body.app{display:block}.cartao,table{background:#fff}}

.aviso.demonstracao{background:var(--alerta-fundo,#fff3cd);border-left:6px solid var(--alerta,#b7791f);font-weight:600}
main a{color:var(--marca)}main a:visited{color:#3d6b72}details.pendencia{border-top:1px solid var(--linha);padding:8px 0}details.pendencia summary{cursor:pointer}details.pendencia form{max-width:520px}code{font-size:12px;overflow-wrap:anywhere}
label.anexo{display:flex;gap:8px;align-items:center;font-weight:400;margin:6px 0}label.anexo input{width:auto;margin:0}

/* Inspeção visual: largura útil, cartões de módulos, barra de ações, formulário em colunas */
nav.lateral .secao-menu{font:700 11px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#f0c58a;margin:16px 10px 4px;opacity:.85}
.grade3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 18px}.grade4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px}
.formulario-modulo .grade2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:4px 28px}
.formulario-modulo h2{border-bottom:2px solid var(--marca);padding-bottom:4px;margin:22px 0 6px;color:var(--marca)}.formulario-modulo h2:first-child{margin-top:0}
.formulario-modulo .grade2>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px;align-content:start}
.formulario-modulo .grade2>div>*{grid-column:1/-1}.formulario-modulo .grade2>div>.campo:not(.largo){grid-column:auto}
.campo{min-width:0}.busca .campo{flex:1 1 200px}
p.valor{margin:0;padding:8px;background:#f7f3ea;border:1px solid var(--linha);border-radius:4px;font:14px system-ui,sans-serif;min-height:38px}
.cartoes-modulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cartao-modulo{display:flex;flex-direction:column;gap:8px;background:var(--papel);border:1px solid var(--linha);border-top:5px solid var(--marca);border-radius:8px;padding:18px;color:var(--tinta);text-decoration:none;min-height:230px;transition:box-shadow .15s,transform .15s}
.cartao-modulo:hover,.cartao-modulo:focus{box-shadow:0 6px 18px rgba(14,77,87,.18);transform:translateY(-2px)}
.cartao-modulo b{font-size:18px;color:var(--marca)}.cartao-modulo .desc{font-size:14px}.cartao-modulo .item{font:13px/1.45 system-ui,sans-serif}.cartao-modulo em{font-style:normal;font-weight:700}
.cartao-modulo .lim{color:#7a4a12}.cartao-modulo .rodape{margin-top:auto;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font:12px system-ui,sans-serif;color:var(--suave);border-top:1px solid var(--linha);padding-top:8px}
.cartao-modulo .abrir{color:var(--marca);font-weight:700}
.selo{display:inline-block;align-self:flex-start;font:700 11px system-ui,sans-serif;letter-spacing:.04em;padding:3px 8px;border-radius:12px;background:#e3efe6;color:var(--ok)}
.grupo-B{border-top-color:var(--marca2)}.grupo-B .selo{background:#fbeedb;color:#8a5414}.grupo-C{border-top-color:var(--suave)}.grupo-C .selo{background:#e9e9e6;color:#4a5458}
.faixa-modulo{display:flex;flex-direction:column;gap:4px;background:var(--papel);border:1px solid var(--linha);border-left:5px solid var(--marca);border-radius:6px;padding:12px 16px;margin:0 0 12px}.faixa-modulo.grupo-B{border-left-color:var(--marca2)}.faixa-modulo.grupo-C{border-left-color:var(--suave)}
details.trocar-modulo{margin:0 0 12px;font:13px system-ui,sans-serif}details.trocar-modulo summary{cursor:pointer;color:var(--marca)}details.trocar-modulo .abas{margin-top:8px}
details.secundario summary{cursor:pointer;font:600 14px system-ui,sans-serif;color:var(--marca)}details.secundario form{margin:12px 0 0}
.barra-acoes{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:6px;background:var(--fundo);padding:8px 0 10px;margin:-6px 0 12px;border-bottom:1px solid var(--linha)}
.botao{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:7px 12px;border-radius:4px;border:1px solid var(--marca);background:var(--papel);color:var(--marca)!important;font:600 13px system-ui,sans-serif;text-decoration:none;cursor:pointer;line-height:1.2}
.botao:hover{background:#e6eff0}.botao.principal{background:var(--marca);color:#fff!important}
.botao.inativo{border-color:var(--linha);color:#8b9599!important;background:#f1eee7;cursor:not-allowed;max-width:190px}.botao.inativo small{display:none;font-weight:400;font-size:11px;color:var(--suave);text-align:center}
.botao.inativo:hover small,.botao.inativo:focus small{display:block}
.editor-linhas{margin:6px 0}.editor-linhas table{font-size:12.5px}.editor-linhas input{padding:5px;font-size:13px;min-width:80px}.editor-linhas td{padding:3px 4px}
.editor-linhas .acoes-linha{white-space:nowrap}.editor-linhas button{margin:6px 6px 0 0;padding:5px 10px;font-size:12px}.editor-linhas button.remover{background:var(--erro);margin:0}
.editor-linhas .alternar{background:none;color:var(--marca);text-decoration:underline;padding:0;font-weight:400}
.cartoes-planos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.cartao-plano{border:1px solid var(--linha);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:6px}.cartao-plano .preco{font:700 16px system-ui,sans-serif;color:var(--marca)}
@media (max-width:800px){.formulario-modulo .grade2,.formulario-modulo .grade2>div,.grade3,.grade4,.cartoes-modulos{grid-template-columns:minmax(0,1fr)}nav.lateral .secao-menu{margin:0 8px;align-self:center}.barra-acoes{position:static}.botao.inativo{max-width:none}}
@media print{.barra-acoes,details.trocar-modulo,details.secundario{display:none}}
