*,*:before,*:after{box-sizing:border-box}:root{--azul: #0064b0;--azul-escuro: #00467f;--azul-claro: #e8f1fa;--laranja: #f7941d}html,body{margin:0;font-family:Open Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2733;background:#f4f6f9;-webkit-font-smoothing:antialiased}html{font-size:14px}h1,h2{margin:0}[hidden]{display:none!important}.abas{display:flex;gap:.25rem;border-bottom:1px solid #d5dce6;margin-bottom:1rem}.abas button{background:none;border:0;border-bottom:2px solid transparent;padding:.5rem .8rem;cursor:pointer;color:#555;font:inherit}.abas button.ativa{color:#0064b0;border-bottom-color:#0064b0;font-weight:600}.aba-conteudo{display:grid;gap:.5rem}.lista-marcavel{display:grid;gap:.35rem;max-height:340px;overflow:auto;border:1px solid #c5ccd6;border-radius:4px;padding:.6rem .8rem}.lista-marcavel label{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem}.vinculo-linha{display:grid;grid-template-columns:1fr 120px 240px auto;gap:.5rem;align-items:end}.vinculo-linha label{display:grid;gap:.25rem;font-size:.85rem}.vinculo-linha select{padding:.4rem .5rem;border:1px solid #c5ccd6;border-radius:4px;font:inherit}.lista-vinculos{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.lista-vinculos li{display:flex;justify-content:space-between;align-items:center;background:#f4f6f9;border-radius:4px;padding:.4rem .6rem;font-size:.88rem}.ajuda-aba{color:#666;font-size:.85rem;margin:0}.cabecalho-pagina{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.cabecalho-pagina h1{position:relative;font-size:1.6rem;font-weight:700;color:var(--azul);padding-left:1.1rem}.cabecalho-pagina h1:before{content:"";position:absolute;left:0;top:.2rem;border-top:16px solid var(--laranja);border-right:16px solid transparent}.btn{padding:.5rem .9rem;background:#0064b0;color:#fff;border:0;border-radius:4px;cursor:pointer;font-size:.9rem}.btn:hover{background:#00467f}.btn:disabled{opacity:.6;cursor:default}.btn-secundario{background:#fff;color:#0064b0;border:1px solid #0064b0}.btn-secundario:hover{background:#e8f1fa}.btn-perigo{background:#fff;color:#a31515;border:1px solid #a31515}.btn-perigo:hover{background:#fbeaea}.btn-pequeno{padding:.25rem .6rem;font-size:.8rem}.painel{background:#fff;border-radius:6px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 4px #0000000f}.painel h2{font-size:1.1rem;color:#0064b0;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e9ef}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem 1rem}.form-grid>*{min-width:0}.form-grid label{display:grid;gap:.25rem;font-size:.85rem;color:#333}.form-grid .largo{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;padding:.4rem .5rem;border:1px solid #c5ccd6;border-radius:4px;font:inherit;background:#fff}.form-grid select{text-overflow:ellipsis}.form-grid input[type=checkbox]{width:auto}.form-grid textarea{min-height:80px;resize:vertical}.form-grid .check{display:flex;align-items:center;gap:.4rem}.form-acoes{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.msg{padding:.6rem .8rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.msg-erro{background:#fbeaea;color:#8a1d1d;border:1px solid #f1c2c2}.msg-ok{background:#e7f5ea;color:#1d6b34;border:1px solid #bfe3c9}table.tabela{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 4px #0000000f}table.tabela th,table.tabela td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid #eee;font-size:.92rem;vertical-align:middle}table.tabela th{background:#e8f1fa;color:#0064b0;font-size:.85rem}table.tabela .acoes{text-align:right;white-space:nowrap}table.tabela .acoes .btn{margin-left:.35rem}.vazio{color:#666;padding:1rem 0}.badge{padding:.15rem .5rem;border-radius:10px;font-size:.78rem;background:#eee}.badge-ok{background:#d7f0dd;color:#1d6b34}.badge-off{background:#f7d7d7;color:#8a1d1d}.modal-overlay{position:fixed;inset:0;background:#0f1e3273;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal{background:#fff;border-radius:8px;width:min(1120px,100%);max-height:90vh;overflow:auto;box-shadow:0 10px 30px #00000040}.modal-cabecalho{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;border-bottom:1px solid #e5e9ef;position:sticky;top:0;background:#fff}.modal-cabecalho h2{font-size:1.1rem;color:#0064b0}.modal-fechar{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:#555}.modal-corpo{padding:1.2rem}.confirmacao-texto{margin:0 0 1rem}.filtros{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:0 0 1rem}.filtros label{display:grid;gap:.25rem;font-size:.85rem;min-width:150px}.filtros label.busca{min-width:260px;flex:1 1 260px}.filtros input,.filtros select{padding:.4rem .5rem;border:1px solid #c5ccd6;border-radius:4px;font:inherit;width:100%}.filtros-vazio{color:#666;font-size:.85rem;margin:0 0 .75rem}.combo-busca{width:100%;min-width:0;padding:.4rem .5rem;border:1px solid #c5ccd6;border-radius:4px;font:inherit;background:#fff;color:#1d2733}.combo-busca:disabled{background:#f0f2f5}.combo-lista{position:fixed;z-index:2000;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid #c5ccd6;border-radius:4px;box-shadow:0 6px 18px #0000002e;max-height:260px;overflow:auto;font-size:.9rem}.combo-lista li{padding:.4rem .6rem;cursor:pointer}.combo-lista li:hover,.combo-lista li.destacado{background:#e8f1fa}.combo-lista li.selecionado{font-weight:700;color:#0064b0}.combo-lista li.vazio{color:#888;cursor:default;background:none}.vinculo-composicao{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:end}.vinculo-composicao label{display:grid;gap:.25rem;font-size:.85rem}.vinculo-composicao label.check{display:flex;align-items:center;gap:.4rem;padding-bottom:.4rem}.linha-unidade{display:grid;grid-template-columns:1fr auto auto auto 200px;gap:.6rem;align-items:center;padding:.25rem 0;border-bottom:1px solid #eef1f5}.linha-unidade:last-child{border-bottom:0}.linha-unidade .nome-unidade{font-size:.9rem}.linha-unidade select{padding:.3rem .4rem;border:1px solid #c5ccd6;border-radius:4px;font:inherit;font-size:.85rem}.vinculo-norma{grid-template-columns:1fr auto}
