:root {
    --sicle-primary: #009688;
    --sicle-background: #edf3f3;
}
body {
    background: var(--sicle-background);
    color: #263238;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    line-height: 1.5;
    min-height: 100vh;
}
a { color: #00796b; }
a:hover { color: #00574f; }
.sicle-navigation { background: var(--sicle-primary); }
.sicle-logo { width: 44px; height: 44px; object-fit: contain; }
.sicle-navigation .nav-link { color: #fff; }
.sicle-navigation .nav-link:hover, .sicle-navigation .nav-link:focus { color: #fff; }
.sicle-footer { color: #546e7a; font-size: .8rem; }
.sicle-accessibility { display: flex; gap: .25rem; flex-wrap: wrap; }
.progress-container2 { height: 4px; width: 100%; background: #d7e9e6; }
.progress-bar2 { width: 0; height: 100%; background: #00695c; }
.header-formulario { margin-block: 1.25rem; }
.header-formulario h1 { font-size: 1.65rem; }
.header-formulario i { margin-right: .4rem; color: var(--sicle-primary); }
.formulario { background: #fff; padding: 1.25rem; border-radius: .5rem; }
.form-group { margin-bottom: 1rem; }
label, .label { font-weight: 600; margin-bottom: .35rem; }
textarea.form-control { min-height: 7rem; }
textarea#editor, textarea[data-rich-text] { min-height: 20rem; font-family: ui-monospace, monospace; }
select.form-control { appearance: auto; }
.form-row { display: flex; flex-wrap: wrap; margin-inline: -.5rem; }
.form-row > [class*="col-"] { padding-inline: .5rem; }
.card { height: 100%; border-color: #d8e2e0; }
.card-header { background-color: #f5faf9; }
.btn-voltar::before { content: "Voltar"; }
.btn-voltar { color: #00796b; border: 1px solid currentColor; }
.btn-success { --bs-btn-bg: #008577; --bs-btn-border-color: #008577; --bs-btn-hover-bg: #006d62; --bs-btn-hover-border-color: #006d62; }
.btn + .btn { margin-left: .25rem; }
.table td, .table th { overflow-wrap: anywhere; vertical-align: middle; }
.table-responsive { margin-block: 1rem; }
.select2-container .select2-selection--single { min-height: 2.375rem; border-color: #dee2e6; padding-top: .2rem; }
.select2-container .select2-selection--single .select2-selection__arrow { top: .35rem; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #008577; }
.select2-container .select2-selection--multiple { border-color: #dee2e6; }
.select2-container { max-width: 100%; }
.rich-text { overflow-wrap: anywhere; }
.rich-text img { max-width: 100%; height: auto; }
.rich-text table { width: 100%; border-collapse: collapse; }
.rich-text th, .rich-text td { border: 1px solid #879a96; padding: .35rem; }
.rich-text blockquote { margin-left: 1rem; border-left: 3px solid #b0c7c1; padding-left: 1rem; }
.print-document { max-width: 52rem; margin: 2rem auto; background: #fff; padding: 2rem; }
.print-header { text-align: center; margin-bottom: 2rem; }
.print-header img { max-width: 100px; max-height: 100px; object-fit: contain; }
[data-bs-theme="dark"] body { background: #152623; color: #e3eeeb; }
[data-bs-theme="dark"] .formulario, [data-bs-theme="dark"] .print-document { background: #203630; }
[data-bs-theme="dark"] .card-header { background: #263d37; }
[data-bs-theme="dark"] .sicle-footer { color: #b6ccc6; }
[data-bs-theme="dark"] a { color: #80cbc4; }
[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-dropdown { background: #203630; color: #e3eeeb; }
[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered { color: #e3eeeb; }
@media (max-width: 575.98px) {
    .container { padding-inline: 1rem; }
    .formulario { padding: .75rem; }
    .print-document { padding: 1rem; margin: 0; }
}
@media print {
    body { background: #fff !important; color: #000 !important; }
    nav, .navbar, .sicle-footer, .progress-container2, .no-print,
    .dt-search, .dt-length, .dt-paging, .dt-info, button { display: none !important; }
    .print-document { max-width: none; margin: 0; padding: 0; box-shadow: none; }
    .table-responsive { overflow: visible; }
    a { color: inherit; text-decoration: none; }
    tr, img, h2, h3 { break-inside: avoid; }
    thead { display: table-header-group; }
    @page { margin: 16mm; }
}
