
* {
    box-sizing: border-box;
}

:root {
    --bg: #f4f6f8;
    --sidebar: #1d252c;
    --sidebar-hover: #29343d;
    --primary: #e87522;
    --primary-dark: #c85e13;
    --blue: #32738e;
    --text: #202a32;
    --muted: #71808c;
    --border: #e1e6ea;
    --white: #ffffff;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
}

.app {
    min-height: 100vh;
    display: flex;
}

.sidebar {
    width: 260px;
    background: var(--sidebar);
    color: white;
    padding: 28px 18px;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
}

.brand {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 10px 30px;
}

.brand-icon {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    font-weight: 800;
}

.brand-name {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 1px;
}

.brand-subtitle {
    color: #aeb9c1;
    font-size: 12px;
    letter-spacing: 3px;
}

.menu-label {
    font-size: 10px;
    color: #778691;
    font-weight: 700;
    letter-spacing: 1.3px;
    padding: 18px 12px 8px;
}

.menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.menu-item {
    color: #c9d2d8;
    text-decoration: none;
    padding: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    transition: .15s;
}

.menu-item:hover {
    background: var(--sidebar-hover);
    color: white;
}

.menu-item.active {
    background: var(--primary);
    color: white;
    font-weight: 600;
}

.menu-icon {
    width: 20px;
    text-align: center;
}

.soon {
    margin-left: auto;
    font-size: 8px;
    background: #3b4851;
    padding: 4px 6px;
    border-radius: 5px;
}

.sidebar-footer {
    margin-top: auto;
    border-top: 1px solid #35414a;
    padding: 18px 10px 0;
}

.system-status {
    font-size: 12px;
    color: #b9c4ca;
}

.status-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: #39b86b;
    margin-right: 7px;
}

.version {
    color: #64727c;
    font-size: 10px;
    margin-top: 8px;
}

.main {
    margin-left: 260px;
    width: calc(100% - 260px);
}

.topbar {
    height: 82px;
    background: white;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 36px;
}

.topbar-title {
    font-size: 16px;
    font-weight: 700;
}

.topbar-subtitle {
    color: var(--muted);
    font-size: 12px;
    margin-top: 4px;
}

.user-area {
    display: flex;
    align-items: center;
    gap: 11px;
}

.user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--blue);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.user-name {
    font-size: 13px;
    font-weight: 700;
}

.user-role {
    font-size: 11px;
    color: var(--muted);
}

.content {
    padding: 34px 36px;
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.page-header h1 {
    margin: 0;
    font-size: 27px;
}

.page-header p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.header-actions {
    display: flex;
    gap: 10px;
}

.btn {
    text-decoration: none;
    padding: 11px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
}

.btn-primary {
    background: var(--primary);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-dark);
}

.btn-secondary {
    background: white;
    color: var(--text);
    border: 1px solid var(--border);
}

.cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 22px;
}

.card {
    background: white;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 21px;
}

.card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-label {
    font-size: 10px;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--muted);
}

.card-icon {
    color: var(--primary);
    font-size: 20px;
}

.card-number {
    font-size: 31px;
    font-weight: 750;
    margin-top: 15px;
}

.card-description {
    color: var(--muted);
    font-size: 12px;
    margin-top: 4px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
    gap: 22px;
}

.panel {
    background: white;
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
}

.panel-header {
    padding: 20px 22px;
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.panel-header h2 {
    margin: 0;
    font-size: 16px;
}

.panel-header p {
    margin: 5px 0 0;
    font-size: 11px;
    color: var(--muted);
}

.panel-header a {
    color: var(--blue);
    font-size: 12px;
    text-decoration: none;
    font-weight: 600;
}

.table-wrapper {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th {
    color: var(--muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
    text-align: left;
    padding: 13px 18px;
    background: #fafbfc;
}

td {
    padding: 15px 18px;
    border-top: 1px solid #edf0f2;
    font-size: 12px;
}

.document-link {
    color: var(--text);
    font-weight: 600;
    text-decoration: none;
}

.document-link:hover {
    color: var(--primary);
}

.badge {
    background: #edf7f0;
    color: #338250;
    padding: 5px 8px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 600;
}

.empty {
    text-align: center;
    color: var(--muted);
    padding: 35px;
}

.quick-panel {
    min-width: 0;
}

.quick-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 17px 20px;
    border-bottom: 1px solid var(--border);
    font-size: 12px;
}

.quick-stat:last-child {
    border-bottom: 0;
}

.quick-stat span {
    color: var(--muted);
}

.quick-stat strong {
    font-size: 17px;
}

@media (max-width: 1050px) {
    .cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .sidebar {
        width: 72px;
        padding: 25px 10px;
    }

    .brand > div:not(.brand-icon),
    .menu-label,
    .menu-item:not(.active) .soon,
    .menu-item {
        font-size: 0;
    }

    .menu-icon {
        font-size: 18px;
    }

    .main {
        margin-left: 72px;
        width: calc(100% - 72px);
    }

    .cards {
        grid-template-columns: 1fr;
    }

    .content {
        padding: 24px 18px;
    }

    .topbar {
        padding: 0 18px;
    }
}


/* ============================================================
   FENIX_DOCUMENTOS_V1
   TELA OPERACIONAL DE DOCUMENTOS
   ============================================================ */

.page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.page-heading h1 {
    margin: 0 0 7px 0;
    font-size: 30px;
    line-height: 1.15;
    color: #202b35;
    font-weight: 750;
}

.page-heading p {
    margin: 0;
    color: #6c7b88;
    font-size: 15px;
}

.page-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    text-decoration: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition:
        transform .12s ease,
        box-shadow .12s ease,
        background .12s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-primary {
    background: var(--primary);
    color: #ffffff;
    border-color: var(--primary);
    box-shadow: 0 3px 8px rgba(244, 122, 31, .15);
}

.btn-primary:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: #ffffff;
}

.btn-secondary {
    background: #ffffff;
    color: #26323c;
    border-color: #d8e0e6;
}

.btn-secondary:hover {
    background: #f6f8f9;
}

.document-search-card {
    background: #ffffff;
    border: 1px solid #dce3e8;
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

.document-search-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.search-main label,
.filter-field label {
    display: block;
    margin-bottom: 7px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
}

.search-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    width: 100%;
}

.search-input-row input {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    outline: none;
    background: #ffffff;
    color: #25313b;
    font-family: inherit;
    font-size: 14px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.search-input-row input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

.search-main small {
    display: block;
    margin-top: 7px;
    color: #82909c;
    font-size: 12px;
}

.document-filters {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid #edf0f2;
    align-items: end;
}

.filter-field {
    min-width: 0;
}

.filter-field select,
.filter-field input[type="date"] {
    width: 100%;
    height: 42px;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.filter-field select {
    padding: 0 35px 0 12px;
}

.filter-field input[type="date"] {
    padding: 0 10px;
}

.filter-field select:focus,
.filter-field input[type="date"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

.filter-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding-top: 2px;
}

.btn-link-clean {
    color: #657784;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.btn-link-clean:hover {
    color: var(--primary);
}

.documents-panel {
    background: #ffffff;
    border: 1px solid #dce3e8;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

.documents-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 23px;
    border-bottom: 1px solid #e7ecef;
}

.documents-panel-header h2 {
    margin: 0 0 4px 0;
    color: #25313b;
    font-size: 18px;
    font-weight: 750;
}

.documents-panel-header p {
    margin: 0;
    color: #7b8994;
    font-size: 13px;
}

.documents-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.documents-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}

/*
 * FENIX_DOCUMENT_LIST_V3
 * Documentos e Pesquisa Documental.
 *
 * Grade unificada:
 * Documento | Setor | Data/Caixa | Status | Ação
 *
 * A coluna Tipo permanece disponível no cadastro/detalhe,
 * mas não ocupa espaço nas listagens operacionais.
 */
.documents-table th:nth-child(1),
.documents-table td:nth-child(1) {
    width: 29%;
}

.documents-table th:nth-child(2),
.documents-table td:nth-child(2) {
    width: 15%;
}

.documents-table th:nth-child(3),
.documents-table td:nth-child(3) {
    width: 11%;
}

.documents-table th:nth-child(4),
.documents-table td:nth-child(4) {
    width: 36%;
}

.documents-table th:nth-child(5),
.documents-table td:nth-child(5) {
    width: 9%;
}

.documents-table tbody td {
    overflow-wrap: anywhere;
    word-break: normal;
}

.documents-table .document-title {
    min-width: 0;
}

.documents-table .document-title a {
    overflow-wrap: anywhere;
}

.documents-table .document-actions-cell {
    text-align: right;
    white-space: nowrap;
    overflow-wrap: normal;
}

.documents-table .document-open-link {
    white-space: nowrap;
    box-sizing: border-box;
}

.documents-table thead th {
    padding: 13px 18px;
    background: #f7f9fa;
    border-bottom: 1px solid #e5eaed;
    color: #748491;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.documents-table tbody td {
    padding: 17px 18px;
    border-bottom: 1px solid #edf0f2;
    color: #303b44;
    font-size: 13px;
    vertical-align: middle;
}

.documents-table tbody tr:last-child td {
    border-bottom: none;
}

.documents-table tbody tr {
    transition: background .12s ease;
}

.documents-table tbody tr:hover {
    background: #fbfcfc;
}

.document-title {
    min-width: 180px;
}

.document-title a {
    color: #26333d;
    font-weight: 750;
    text-decoration: none;
    line-height: 1.35;
}

.document-title a:hover {
    color: var(--primary);
}

.confidential-label {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 10px;
    background: #fff3e9;
    color: #d96510;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border-radius: 14px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

.status-active {
    background: #e8f6ec;
    color: #31844a;
}

.status-archived {
    background: #edf1f4;
    color: #687680;
}

.status-analysis {
    background: #fff5dc;
    color: #9a7112;
}

.status-inactive {
    background: #fbeaea;
    color: #a84848;
}

.document-actions-cell {
    text-align: right;
}

.document-open-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid #dce3e8;
    border-radius: 7px;
    color: #52636f;
    background: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
}

.document-open-link:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: #fffaf6;
}

.empty-documents {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    gap: 5px;
    text-align: center;
    color: #73828e;
}

.empty-documents strong {
    color: #34424c;
    font-size: 15px;
}

.empty-documents span {
    font-size: 13px;
}

@media (max-width: 950px) {

    .page-heading {
        flex-direction: column;
    }

    .document-filters {
        flex-wrap: wrap;
    }

    .filter-field {
        flex: 1 1 180px;
    }

}

@media (max-width: 650px) {

    .search-input-row {
        grid-template-columns: 1fr;
    }

    .document-search-card {
        padding: 18px;
    }

    .document-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .filter-field {
        width: 100%;
    }

    .filter-actions {
        justify-content: space-between;
    }

    .page-actions,
    .page-actions .btn {
        width: 100%;
    }

}




/* =========================================================
   FENIX_DOCUMENTO_DETALHE_V1
   Ficha Documental Operacional
   ========================================================= */

.fenix-back-link {
    display: inline-block;
    margin-bottom: 14px;
    color: #607486;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.fenix-back-link:hover {
    color: #ef7418;
}

.documento-detail-header {
    align-items: flex-end;
}

.documento-detail-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.fenix-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.2s ease;
}

.fenix-btn-primary {
    background: #f2761d;
    color: #fff;
    border: 1px solid #f2761d;
}

.fenix-btn-primary:hover {
    background: #dc6410;
}

.fenix-btn-secondary {
    background: #fff;
    color: #26333d;
    border: 1px solid #d6dfe5;
}

.fenix-btn-secondary:hover {
    border-color: #b7c4cd;
    background: #f8fafb;
}

.documento-status-line {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin: -4px 0 24px;
}

.fenix-status-badge,
.fenix-confidential-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.fenix-status-active {
    color: #287842;
    background: #e8f6ec;
}

.fenix-status-archived {
    color: #53616d;
    background: #edf1f3;
}

.fenix-status-analysis {
    color: #9a6713;
    background: #fff3d7;
}

.fenix-status-inactive {
    color: #9b3e3e;
    background: #fbeaea;
}

.fenix-confidential-badge {
    color: #9b3e3e;
    background: #fbeaea;
}

.documento-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 22px;
}

.documento-card {
    padding: 0;
    overflow: hidden;
}

.documento-full-card {
    margin-bottom: 22px;
}

.documento-card-header {
    min-height: 86px;
    padding: 20px 24px;
    border-bottom: 1px solid #e3e9ed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.documento-card-header h2 {
    margin: 3px 0 0;
    font-size: 19px;
    color: #24313b;
}

.documento-card-header p {
    margin: 5px 0 0;
    color: #718393;
    font-size: 13px;
}

.documento-card-kicker {
    color: #718393;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    font-size: 10px;
    font-weight: 900;
}

.documento-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.documento-info-item {
    min-height: 88px;
    padding: 18px 24px;
    border-bottom: 1px solid #edf1f3;
}

.documento-info-item:nth-child(odd) {
    border-right: 1px solid #edf1f3;
}

.documento-info-item span,
.documento-audit-grid span,
.documento-metadata-item span {
    display: block;
    color: #758695;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px;
}

.documento-info-item strong,
.documento-audit-grid strong,
.documento-metadata-item strong {
    display: block;
    color: #26333d;
    font-size: 14px;
    line-height: 1.4;
    word-break: break-word;
}

.documento-info-full {
    grid-column: 1 / -1;
    border-right: 0 !important;
}

.documento-metadata-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.documento-metadata-item {
    min-height: 92px;
    padding: 18px 24px;
    border-right: 1px solid #edf1f3;
    border-bottom: 1px solid #edf1f3;
}

.documento-metadata-item em {
    color: #ef7418;
    font-style: normal;
}

.documento-count-badge {
    padding: 7px 11px;
    border-radius: 999px;
    background: #f1f4f6;
    color: #667987;
    font-size: 11px;
    font-weight: 800;
}

.documento-description {
    padding: 22px 24px;
    min-height: 90px;
    color: #34434e;
    line-height: 1.65;
}

.documento-muted {
    color: #84939f;
}

.documento-empty {
    padding: 24px;
    color: #82919d;
    font-size: 14px;
}

.documento-file-box {
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.documento-file-icon {
    width: 54px;
    height: 62px;
    border-radius: 9px;
    background: #fff1e7;
    color: #ef7418;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
}

.documento-file-info {
    min-width: 0;
}

.documento-file-info span {
    display: block;
    color: #788996;
    font-size: 12px;
    margin-bottom: 4px;
}

.documento-file-info strong {
    display: block;
    color: #26333d;
    font-size: 13px;
    margin-bottom: 8px;
    word-break: break-all;
}

.documento-file-info a {
    color: #e86f18;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.documento-audit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.documento-audit-grid > div {
    padding: 20px 24px;
    border-right: 1px solid #edf1f3;
}

.documento-audit-grid > div:last-child {
    border-right: 0;
}

@media (max-width: 1000px) {

    .documento-detail-grid {
        grid-template-columns: 1fr;
    }

    .documento-metadata-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .documento-audit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 700px) {

    .documento-info-grid,
    .documento-metadata-grid,
    .documento-audit-grid {
        grid-template-columns: 1fr;
    }

    .documento-detail-actions {
        width: 100%;
    }

    .fenix-btn {
        width: 100%;
    }

}


/* =========================================================
   FENIX_DOCUMENTO_ACABAMENTO_V2
   Acabamento visual da ficha documental
   ========================================================= */

.documento-metadata-type {
    display: inline-block;
    margin-left: 7px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eef2f4;
    color: #82909b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
    vertical-align: middle;
}

.documento-metadata-item strong {
    font-size: 15px;
    line-height: 1.45;
}

.documento-info-item strong {
    line-height: 1.45;
}

.documento-metadata-item {
    transition:
        background-color .15s ease,
        box-shadow .15s ease;
}

.documento-metadata-item:hover {
    background: #fafbfc;
}

.documento-card {
    transition:
        box-shadow .18s ease,
        border-color .18s ease;
}

.documento-card:hover {
    border-color: #d7e0e5;
}

.documento-file-info a:hover {
    text-decoration: underline;
}



/* FENIX_DOCUMENTO_FORM_V1 */

.fenix-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px;
}

.fenix-page-header h1 {
    margin: 10px 0 6px;
    font-size: 30px;
}

.fenix-page-header p {
    margin: 0;
    color: #6b7c8d;
}

.fenix-back-link {
    color: #60788b;
    font-weight: 600;
    text-decoration: none;
}

.fenix-back-link:hover {
    color: #ef781b;
}

.fenix-document-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.fenix-form-card {
    background: #ffffff;
    border: 1px solid #dce4e9;
    border-radius: 12px;
    padding: 26px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
}

.fenix-section-heading {
    margin-bottom: 24px;
}

.fenix-section-heading h2 {
    margin: 4px 0 5px;
    font-size: 21px;
    color: #202d37;
}

.fenix-section-heading p {
    margin: 0;
    color: #708395;
    font-size: 14px;
}

.fenix-eyebrow {
    color: #718699;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.fenix-form-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 20px;
}

.fenix-form-grid:last-child {
    margin-bottom: 0;
}

.fenix-form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fenix-form-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fenix-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fenix-field label {
    font-size: 14px;
    font-weight: 700;
    color: #26343e;
}

.fenix-field input[type="text"],
.fenix-field input[type="email"],
.fenix-field input[type="password"],
.fenix-field input[type="number"],
.fenix-field input[type="date"],
.fenix-field input[type="file"],
.fenix-field select,
.fenix-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d4dee5;
    border-radius: 8px;
    background: #ffffff;
    color: #26343e;
    font: inherit;
    padding: 12px 13px;
    outline: none;
}

.fenix-field textarea {
    resize: vertical;
    min-height: 120px;
}

.fenix-field input:focus,
.fenix-field select:focus,
.fenix-field textarea:focus {
    border-color: #ef781b;
    box-shadow: 0 0 0 3px rgba(239, 120, 27, .10);
}

.fenix-field-help {
    color: #7a8d9d;
    font-size: 12px;
}

.required {
    color: #ef781b;
}

.fenix-empty-meta {
    padding: 20px;
    border: 1px dashed #ccd7df;
    border-radius: 8px;
    color: #718393;
    background: #f8fafb;
}

.fenix-form-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.fenix-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.fenix-checkbox input {
    margin-top: 4px;
}

.fenix-checkbox span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fenix-checkbox strong {
    color: #26343e;
}

.fenix-checkbox small {
    color: #718393;
    line-height: 1.5;
}

.fenix-form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 4px 0 30px;
}

.fenix-form-actions .btn {
    min-width: 145px;
    text-align: center;
}

.fenix-messages {
    margin-bottom: 20px;
}

.fenix-message {
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: 8px;
    font-weight: 600;
}

.fenix-message-error {
    background: #fff1f0;
    color: #9c2f29;
    border: 1px solid #f0c8c5;
}

.fenix-message-success {
    background: #edf8f0;
    color: #28743b;
    border: 1px solid #cde8d4;
}

@media (max-width: 980px) {

    .fenix-form-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 720px) {

    .fenix-form-grid-2,
    .fenix-form-grid-3,
    .fenix-form-columns {
        grid-template-columns: 1fr;
    }

    .fenix-form-card {
        padding: 20px;
    }

    .fenix-form-actions {
        flex-direction: column-reverse;
    }

    .fenix-form-actions .btn {
        width: 100%;
    }

}


/* ============================================================
   FENIX_LOGO_CLIENTE_V1
   Logo dinamica do cliente na sidebar
   ============================================================ */

.brand {
    width: 100%;
    min-height: 105px;
    padding: 0 10px 20px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.brand-client {
    width: 100%;
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.brand-client-logo,
.sidebar .brand img.brand-client-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 250px !important;
    max-height: 85px !important;
    object-fit: contain !important;
    object-position: left center !important;
    position: static !important;
}

@media (max-width: 900px) {
    .brand {
        min-height: 70px;
        padding: 0 0 18px;
        justify-content: center;
    }

    .brand-client {
        height: 52px;
        justify-content: center;
    }

    .brand-client-logo,
    .sidebar .brand img.brand-client-logo {
        max-width: 52px !important;
        max-height: 52px !important;
    }
}


/* ===== FENIX LOGIN E SESSAO ===== */

.fenix-login-body {
    margin: 0;
    min-height: 100vh;
    background: #f4f6f8;
    color: #202a33;
    font-family: Arial, Helvetica, sans-serif;
}

.fenix-login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 1.08fr) minmax(420px, 0.92fr);
}

.fenix-login-brand {
    background:
        linear-gradient(145deg, rgba(25, 35, 43, 0.97), rgba(20, 29, 36, 0.99));
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px;
}

.fenix-login-brand-content {
    width: 100%;
    max-width: 620px;
}

.fenix-login-mark {
    display: inline-block;
    color: #f47b20;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 32px;
}

.fenix-login-brand h1 {
    margin: 0;
    max-width: 600px;
    font-size: 46px;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.fenix-login-lead {
    margin: 24px 0 40px;
    max-width: 550px;
    color: #bdc8d0;
    font-size: 18px;
    line-height: 1.65;
}

.fenix-login-features {
    display: grid;
    gap: 14px;
    max-width: 560px;
}

.fenix-login-feature {
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 12px;
    background: rgba(255,255,255,0.035);
}

.fenix-login-feature strong {
    display: block;
    margin-bottom: 5px;
    color: #ffffff;
    font-size: 15px;
}

.fenix-login-feature span {
    color: #aebac3;
    font-size: 14px;
}

.fenix-login-company {
    margin-top: 42px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.10);
    color: #aebac3;
    font-size: 13px;
}

.fenix-login-company-name {
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.fenix-login-access {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    background: #f5f7f9;
}

.fenix-login-card {
    width: 100%;
    max-width: 430px;
    padding: 46px;
    background: #ffffff;
    border: 1px solid #e1e6ea;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(22, 34, 44, 0.08);
}

.fenix-login-mobile-brand {
    display: none;
}

.fenix-login-eyebrow {
    color: #f47b20;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.fenix-login-card h2 {
    margin: 0 0 10px;
    font-size: 30px;
    color: #202a33;
}

.fenix-login-help {
    margin: 0 0 30px;
    color: #71808c;
    line-height: 1.55;
}

.fenix-login-error {
    margin-bottom: 22px;
    padding: 13px 15px;
    border-radius: 9px;
    background: #fff1ef;
    border: 1px solid #f2c2bc;
    color: #b33328;
    font-size: 14px;
    font-weight: 600;
}

.fenix-login-form {
    display: grid;
    gap: 20px;
}

.fenix-login-field label {
    display: block;
    margin-bottom: 8px;
    color: #34424d;
    font-size: 14px;
    font-weight: 700;
}

.fenix-login-field input {
    width: 100%;
    box-sizing: border-box;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #ccd5dc;
    border-radius: 9px;
    background: #ffffff;
    color: #202a33;
    font-size: 15px;
    outline: none;
}

.fenix-login-field input:focus {
    border-color: #f47b20;
    box-shadow: 0 0 0 3px rgba(244, 123, 32, 0.12);
}

.fenix-login-button {
    height: 50px;
    border: 0;
    border-radius: 9px;
    background: #f47b20;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

.fenix-login-button:hover {
    filter: brightness(0.96);
}

.fenix-login-security {
    margin-top: 24px;
    padding: 13px;
    border-radius: 9px;
    background: #f6f8fa;
    color: #667681;
    text-align: center;
    font-size: 13px;
}

.fenix-login-footer {
    margin-top: 22px;
    color: #97a2aa;
    text-align: center;
    font-size: 12px;
}

.fenix-logout-form {
    margin: 0 0 0 18px;
}

.fenix-logout-button {
    height: 38px;
    padding: 0 16px;
    border: 1px solid #d7dee3;
    border-radius: 8px;
    background: #ffffff;
    color: #52626e;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.fenix-logout-button:hover {
    border-color: #f47b20;
    color: #f47b20;
}

@media (max-width: 900px) {
    .fenix-login-shell {
        display: block;
    }

    .fenix-login-brand {
        display: none;
    }

    .fenix-login-access {
        min-height: 100vh;
        box-sizing: border-box;
        padding: 24px;
    }

    .fenix-login-card {
        padding: 32px 26px;
    }

    .fenix-login-mobile-brand {
        display: block;
        margin-bottom: 24px;
        color: #f47b20;
        font-weight: 800;
        letter-spacing: 2px;
    }
}


/* ==========================================================
   FENIX GED - ESTRUTURA DO ACERVO
   ========================================================== */

.page-kicker {
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--primary);
}

.form-grid-2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

.form-field {
    min-width: 0;
}

.form-field label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #34424d;
}

.form-field input[type="text"],
.form-field input[type="email"],
.form-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.form-field input[type="text"],
.form-field input[type="email"] {
    height: 42px;
    padding: 0 12px;
}

.form-field textarea {
    padding: 11px 12px;
    resize: vertical;
}

.form-field input[type="text"]:focus,
.form-field input[type="email"]:focus,
.form-field textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

.fenix-form {
    display: grid;
    gap: 16px;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.inline-form {
    display: inline;
    margin: 0;
}

.inline-form button {
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

.table-link-warning {
    color: #b66a00;
}

.text-muted {
    color: #87939c;
}

@media (max-width: 760px) {
    .form-grid-2 {
        grid-template-columns: 1fr;
    }

    .form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }
}

/* Acoes compactas nas tabelas da Estrutura do Acervo */
.table-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.table-actions .btn {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
}

.table-actions .inline-form {
    display: inline-flex;
    margin: 0;
}

.table-actions .inline-form .btn {
    border: 1px solid #d8e0e6;
    background: #ffffff;
    color: #26323c;
    cursor: pointer;
}

.table-actions .inline-form .btn:hover {
    background: #f6f8f9;
}


/* Estrutura do Acervo - campos de selecao */
.fenix-form .form-field select {
    width: 100%;
    height: 42px;
    box-sizing: border-box;
    padding: 0 35px 0 12px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.fenix-form .form-field select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}


/* Estrutura do Acervo - campos numericos */
.fenix-form .form-field input[type="number"] {
    width: 100%;
    height: 42px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.fenix-form .form-field input[type="number"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

.form-help {
    display: block;
    margin-top: 6px;
    color: #7b8790;
    font-size: 12px;
    line-height: 1.4;
}


/* ==========================================================
   FENIX GED - ICONES DO MENU LATERAL
   ========================================================== */

.menu-icon {
    width: 20px;
    min-width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.menu-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}

.menu-item:hover .menu-icon,
.menu-item.active .menu-icon {
    transform: scale(1.05);
}

.menu-icon {
    transition: transform 0.15s ease;
}


/* ==========================================================
   FENIX GED - DESTAQUE PREMIUM DO MENU
   ========================================================== */

/* Ícones mais claros */
.menu-item .menu-icon {
    color: #aeb8c2;
}

/* Item do menu */
.menu-item {
    border-radius: 10px;
    transition:
        background-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

/* Passagem do mouse */
.menu-item:hover {
    background: rgba(255, 255, 255, 0.07);
    transform: translateX(2px);
}

/* Ícone ao passar o mouse */
.menu-item:hover .menu-icon {
    color: #f28c28;
}

/* Item selecionado */
.menu-item.active {
    background: rgba(255, 255, 255, 0.11);
    border-radius: 10px;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.16),
        inset 3px 0 0 #f28c28;
}

/* Ícone selecionado */
.menu-item.active .menu-icon {
    color: #f28c28;
}

/* SVG acompanha a cor definida acima */
.menu-item .menu-icon svg {
    stroke: currentColor;
}

/* =========================================================
   FENIX GED - LOCALIZACAO FISICA DOCUMENTAL
   ========================================================= */

.fenix-physical-location {
    margin-top: 28px;
    padding: 26px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.02);
}

/*
   Desktop:
   6 colunas virtuais.

   Linha 1:
   Armazem  = 2
   Area     = 2
   Estante  = 2

   Linha 2:
   Prateleira = 3
   Caixa      = 3
*/
.fenix-location-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 20px;
    margin-top: 22px;
    align-items: start;
}

.fenix-location-field {
    min-width: 0;
    margin: 0;
}

.fenix-location-armazem,
.fenix-location-area,
.fenix-location-estante {
    grid-column: span 2;
}

.fenix-location-prateleira,
.fenix-location-caixa {
    grid-column: span 3;
}

.fenix-location-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.fenix-location-field select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #d4dee5;
    border-radius: 8px;
    background: #ffffff;
    color: #26343e;
    font: inherit;
    padding: 12px 13px;
    outline: none;
}

.fenix-location-field select:focus {
    border-color: #ef781b;
    box-shadow: 0 0 0 3px rgba(239, 120, 27, .10);
}

.fenix-location-field select:disabled {
    background: #f8fafb;
    color: #9aa8b3;
    cursor: not-allowed;
}

.fenix-location-summary {
    margin-top: 22px;
    padding: 13px 16px;
    border-radius: 10px;
    background: rgba(249, 115, 22, 0.07);
    border: 1px solid rgba(249, 115, 22, 0.22);
    font-size: 14px;
    line-height: 1.45;
}

/* Notebook / tela intermediaria */
@media (max-width: 1100px) {

    .fenix-location-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fenix-location-armazem,
    .fenix-location-area,
    .fenix-location-estante,
    .fenix-location-prateleira,
    .fenix-location-caixa {
        grid-column: span 1;
    }

    .fenix-location-caixa {
        grid-column: 1 / -1;
    }
}

/* Celular */
@media (max-width: 700px) {

    .fenix-physical-location {
        padding: 18px;
    }

    .fenix-location-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .fenix-location-armazem,
    .fenix-location-area,
    .fenix-location-estante,
    .fenix-location-prateleira,
    .fenix-location-caixa {
        grid-column: 1;
    }
}\n\n

/* ==========================================================
   CEDOC
   ========================================================== */

.cedoc-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.cedoc-summary-card {
    background: #ffffff;
    border: 1px solid #e1e8ed;
    border-radius: 12px;
    padding: 20px;
}

.cedoc-summary-card span {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #71808a;
}

.cedoc-summary-card strong {
    display: block;
    margin-top: 7px;
    font-size: 30px;
    line-height: 1;
    color: #26343e;
}

.cedoc-summary-card small {
    display: block;
    margin-top: 8px;
    color: #7d8991;
}

.cedoc-status {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #fff4eb;
    color: #c65d0a;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .cedoc-summary-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   CEDOC - RESUMO OPERACIONAL
   Compatibilidade visual com o layout principal
   ========================================================== */

.cedoc-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100%;
    margin: 0 0 24px 0 !important;
}

.cedoc-summary-grid .cedoc-summary-card {
    display: block !important;
    min-width: 0;
    box-sizing: border-box;
    background: #ffffff !important;
    border: 1px solid #dfe6eb !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.cedoc-summary-grid .cedoc-summary-card > span {
    display: block !important;
    margin: 0 0 8px 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: #71808a !important;
}

.cedoc-summary-grid .cedoc-summary-card > strong {
    display: block !important;
    margin: 0 !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #202d36 !important;
}

.cedoc-summary-grid .cedoc-summary-card > small {
    display: block !important;
    margin: 8px 0 0 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #7b8993 !important;
}

@media (max-width: 900px) {
    .cedoc-summary-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================================
   CEDOC - SEMAFORO DE ATENDIMENTO
   ========================================================== */

.cedoc-sinal {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.cedoc-sinal-ponto {
    display: inline-block;
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 50%;
}

/* NOVA - AZUL */

.cedoc-sinal.cedoc-sinal-azul {
    background: #eaf4ff;
    color: #1769aa;
}

.cedoc-sinal.cedoc-sinal-azul .cedoc-sinal-ponto {
    background: #2684d8;
}

/* ATENCAO - AMARELO */

.cedoc-sinal.cedoc-sinal-amarelo {
    background: #fff7d6;
    color: #866800;
}

.cedoc-sinal.cedoc-sinal-amarelo .cedoc-sinal-ponto {
    background: #e2b400;
}

/* ATRASADO - VERMELHO */

.cedoc-sinal.cedoc-sinal-vermelho {
    background: #fdecec;
    color: #b42318;
}

.cedoc-sinal.cedoc-sinal-vermelho .cedoc-sinal-ponto {
    background: #d92d20;
}

/* ATENDIDO - VERDE */

.cedoc-sinal.cedoc-sinal-verde {
    background: #eaf7ef;
    color: #217a43;
}

.cedoc-sinal.cedoc-sinal-verde .cedoc-sinal-ponto {
    background: #2f9e5b;
}

/* CANCELADO - CINZA */

.cedoc-sinal.cedoc-sinal-cinza {
    background: #eef1f3;
    color: #66737c;
}

.cedoc-sinal.cedoc-sinal-cinza .cedoc-sinal-ponto {
    background: #8a969e;
}


/*
Faixa lateral discreta na linha.
A cor complementa o selo, mas nao e a unica
forma de identificar a situacao.
*/

.documents-table tbody tr.cedoc-linha > td:first-child {
    border-left: 4px solid transparent;
}

.documents-table tbody tr.cedoc-linha.cedoc-sinal-azul > td:first-child {
    border-left-color: #2684d8;
}

.documents-table tbody tr.cedoc-linha.cedoc-sinal-amarelo > td:first-child {
    border-left-color: #e2b400;
}

.documents-table tbody tr.cedoc-linha.cedoc-sinal-vermelho > td:first-child {
    border-left-color: #d92d20;
}

.documents-table tbody tr.cedoc-linha.cedoc-sinal-verde > td:first-child {
    border-left-color: #2f9e5b;
}

.documents-table tbody tr.cedoc-linha.cedoc-sinal-cinza > td:first-child {
    border-left-color: #8a969e;
}


/* ==========================================================
   CEDOC - ATENDIMENTO E HISTORICO
   ========================================================== */

.cedoc-protocolo-link {
    color: #25333d;
    font-weight: 700;
    text-decoration: none;
}

.cedoc-protocolo-link:hover {
    text-decoration: underline;
}

.cedoc-detail-status {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.cedoc-detail-status > div {
    background: #fff;
    border: 1px solid #dfe6eb;
    border-radius: 12px;
    padding: 18px;
}

.cedoc-detail-status > div > span {
    display: block;
    margin-bottom: 8px;
    color: #71808a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.cedoc-detail-status > div > strong {
    color: #25333d;
    font-size: 15px;
}

.cedoc-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.cedoc-detail-card {
    background: #fff;
    border: 1px solid #dfe6eb;
    border-radius: 12px;
    padding: 22px;
    margin-bottom: 20px;
}

.cedoc-detail-card-header {
    margin-bottom: 18px;
}

.cedoc-detail-card-header h2 {
    margin: 0;
    color: #25333d;
    font-size: 19px;
}

.cedoc-detail-card-header p {
    margin: 5px 0 0;
    color: #71808a;
    font-size: 13px;
}

.cedoc-data-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    margin: 0;
}

.cedoc-data-list > div {
    min-width: 0;
}

.cedoc-data-list dt {
    margin-bottom: 5px;
    color: #71808a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.cedoc-data-list dd {
    margin: 0;
    color: #25333d;
}

.cedoc-data-full {
    grid-column: 1 / -1;
}

.cedoc-location-box {
    padding: 18px;
    border-radius: 10px;
    background: #f7f9fa;
}

.cedoc-location-box span {
    display: block;
    color: #71808a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.cedoc-location-box strong {
    display: block;
    margin-top: 6px;
    color: #25333d;
    font-size: 22px;
}

.cedoc-location-box p {
    margin: 8px 0 0;
    color: #5f6f79;
    line-height: 1.5;
}

.cedoc-action-card {
    border-left: 4px solid #f47b20;
}

.cedoc-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.cedoc-timeline {
    position: relative;
}

.cedoc-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 12px;
    padding-bottom: 22px;
}

.cedoc-timeline-item:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 5px;
    bottom: 0;
    width: 2px;
    background: #dfe6eb;
}

.cedoc-timeline-marker {
    position: relative;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin-top: 3px;
    border-radius: 50%;
    background: #f47b20;
}

.cedoc-timeline-content strong {
    display: block;
    color: #25333d;
}

.cedoc-timeline-content span {
    display: block;
    margin-top: 3px;
    color: #7a8891;
    font-size: 12px;
}

.cedoc-timeline-content p {
    margin: 7px 0 0;
    color: #5f6f79;
}

.cedoc-history-empty {
    color: #7a8891;
    font-size: 13px;
}

@media (max-width: 1000px) {
    .cedoc-detail-status {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cedoc-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .cedoc-detail-status,
    .cedoc-data-list {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   CEDOC - CENTRAL OPERACIONAL / PACOTE 12C
   ========================================================== */

.cedoc-filter-card {
    background: #ffffff;
    border: 1px solid #dfe6eb;
    border-radius: 12px;
    padding: 22px;
    margin-bottom: 22px;
}

.cedoc-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.cedoc-filter-header h2 {
    margin: 0;
    color: #25333d;
    font-size: 19px;
}

.cedoc-filter-header p {
    margin: 5px 0 0;
    color: #71808a;
    font-size: 13px;
}

.cedoc-quick-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid #edf1f3;
}

.cedoc-quick-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 14px;
    border: 1px solid #dfe6eb;
    border-radius: 999px;
    background: #ffffff;
    color: #5d6b74;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: .15s ease;
}

.cedoc-quick-tab:hover {
    border-color: #f47b20;
    color: #d76512;
}

.cedoc-quick-tab.active {
    border-color: #f47b20;
    background: #fff3ea;
    color: #d76512;
}

.cedoc-filter-form {
    margin: 0;
}

.cedoc-search-row {
    margin-bottom: 16px;
}

.cedoc-search-field label {
    display: block;
    margin-bottom: 7px;
    color: #3f4e58;
    font-size: 13px;
    font-weight: 700;
}

.cedoc-search-field input {
    width: 100%;
    box-sizing: border-box;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #d6dee3;
    border-radius: 8px;
    background: #ffffff;
    color: #25333d;
    font: inherit;
    outline: none;
}

.cedoc-search-field input:focus {
    border-color: #f47b20;
    box-shadow: 0 0 0 3px rgba(244, 123, 32, .10);
}

.cedoc-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.cedoc-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.cedoc-table {
    min-width: 1120px;
}

.cedoc-table th,
.cedoc-table td {
    vertical-align: middle;
}

.cedoc-table-subtext {
    display: block;
    margin-top: 4px;
    color: #7a8891;
    font-size: 11px;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .cedoc-filter-grid {
        grid-template-columns: 1fr;
    }

    .cedoc-filter-header {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* CEDOC PERMISSAO OPERACIONAL 12D */

.cedoc-permission-info {
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid #dfe6eb;
    border-radius: 8px;
    background: #f7f9fa;
    color: #667680;
    font-size: 13px;
    line-height: 1.5;
}

.permission-item small {
    display: block;
    margin-top: 3px;
    color: #7a8891;
    font-weight: 400;
    line-height: 1.4;
}


/* =========================================================
   FENIX_DOCUMENTO_ACABAMENTO_V3
   Visual corporativo da ficha documental
   ========================================================= */

.documento-card {
    background: #ffffff;
    border: 1px solid #e1e7eb;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(38, 51, 61, .055);
}

.documento-card:hover {
    border-color: #d4dde3;
    box-shadow: 0 5px 18px rgba(38, 51, 61, .075);
}

.documento-card-header {
    min-height: 82px;
    padding: 20px 24px;
    background: linear-gradient(
        180deg,
        #ffffff 0%,
        #fbfcfd 100%
    );
}

.documento-card-kicker {
    color: var(--fenix-primary, #ef7418);
    letter-spacing: 1.4px;
}

.documento-card-header h2 {
    font-size: 18px;
    font-weight: 800;
}

.documento-info-item {
    min-height: 84px;
    background: #ffffff;
}

.documento-info-item span,
.documento-audit-grid span,
.documento-metadata-item span {
    color: #7b8b97;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.documento-info-item strong,
.documento-audit-grid strong {
    color: #26333d;
    font-size: 14px;
    font-weight: 750;
}

.documento-empty {
    margin: 18px 24px 24px;
    padding: 18px 20px;
    border: 1px dashed #d9e1e6;
    border-radius: 10px;
    background: #fafbfc;
    color: #7d8d99;
}

.documento-description {
    margin: 0;
    background: #ffffff;
}

.documento-file-box {
    min-height: 105px;
}

.documento-file-icon {
    flex: 0 0 auto;
    border: 1px solid #f4d7c2;
}

.documento-audit-grid > div {
    min-height: 78px;
}

.documento-count-badge {
    background: #f5f7f8;
    border: 1px solid #e2e7ea;
}


/* =========================================================
   FENIX_INDEXACAO_V1
   Configuracao dos campos de indexacao
   ========================================================= */

.fenix-index-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e2e8ec;
    border-radius: 10px;
}

.fenix-index-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.fenix-index-table th {
    padding: 13px 14px;
    background: #f7f9fa;
    border-bottom: 1px solid #dfe6ea;
    color: #617482;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.fenix-index-table td {
    padding: 16px 14px;
    border-bottom: 1px solid #edf1f3;
    color: #34434e;
    font-size: 13px;
    vertical-align: middle;
}

.fenix-index-table tbody tr:last-child td {
    border-bottom: 0;
}

.fenix-index-table tbody tr:hover {
    background: #fbfcfd;
}

.fenix-index-field-name {
    color: #26343e;
    font-size: 14px;
    font-weight: 750;
}

.fenix-index-field-code {
    margin-top: 4px;
    color: #7a8c99;
    font-size: 11px;
    font-weight: 700;
}

.fenix-index-field-help {
    margin-top: 5px;
    color: #8797a3;
    font-size: 12px;
    line-height: 1.4;
}

.fenix-index-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid transparent;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.fenix-index-badge-required {
    background: #fff5ed;
    border-color: #f6d5bd;
    color: #b95712;
}

.fenix-index-badge-optional {
    background: #f5f7f8;
    border-color: #e0e6ea;
    color: #667985;
}

.fenix-index-badge-active {
    background: #edf8f0;
    border-color: #cde8d4;
    color: #28743b;
}

.fenix-index-badge-inactive {
    background: #f3f5f6;
    border-color: #dfe4e7;
    color: #75838d;
}

.fenix-index-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.fenix-index-actions form {
    margin: 0;
}

.fenix-index-actions .btn {
    min-width: auto;
}

@media (max-width: 900px) {

    .fenix-index-table {
        min-width: 820px;
    }

}


/* Layout dos paineis da configuracao de indexacao */
.fenix-index-layout {
    display: grid;
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

@media (max-width: 1100px) {

    .fenix-index-layout {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   FENIX_BACK_LINK_GLOBAL
   Navegacao de retorno padronizada
   ========================================================= */

.fenix-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin-bottom: 18px;
    padding: 8px 13px;
    background: #ffffff;
    border: 1px solid #cbd6de;
    border-radius: 8px;
    color: #263746;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition:
        border-color .18s ease,
        color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.fenix-back-link:hover {
    color: #d95f08;
    background: #fff8f3;
    border-color: #ef781b;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

/* ============================================================
   FENIX_DOCUMENTO_COMPACT_V1
   Compactacao da tela Novo / Editar Documento
   ============================================================ */

.fenix-document-form {
    gap: 12px;
}

/* Cards mais compactos somente dentro do formulario de documento */
.fenix-document-form .fenix-form-card {
    padding: 16px 18px;
    border-radius: 10px;
}

/* Cabecalhos */
.fenix-document-form .fenix-section-heading {
    margin-bottom: 12px;
}

.fenix-document-form .fenix-section-heading h2 {
    margin: 2px 0 2px;
    font-size: 18px;
    line-height: 1.2;
}

.fenix-document-form .fenix-section-heading p {
    font-size: 12px;
    line-height: 1.3;
}

.fenix-document-form .fenix-eyebrow {
    font-size: 9px;
    letter-spacing: 1.3px;
}

/* Grades */
.fenix-document-form .fenix-form-grid {
    gap: 12px 14px;
    margin-bottom: 12px;
}

/* Campos */
.fenix-document-form .fenix-field {
    gap: 4px;
}

.fenix-document-form .fenix-field label {
    font-size: 12px;
}

.fenix-document-form .fenix-field input[type="text"],
.fenix-document-form .fenix-field input[type="email"],
.fenix-document-form .fenix-field input[type="password"],
.fenix-document-form .fenix-field input[type="number"],
.fenix-document-form .fenix-field input[type="date"],
.fenix-document-form .fenix-field input[type="file"],
.fenix-document-form .fenix-field select,
.fenix-document-form .fenix-field textarea {
    padding: 8px 10px;
    min-height: 36px;
    font-size: 13px;
    border-radius: 7px;
}

/* Descricao mais baixa */
.fenix-document-form .fenix-field textarea {
    min-height: 58px;
    height: 58px;
}

/* Textos auxiliares */
.fenix-document-form .fenix-field-help,
.fenix-document-form .fenix-field small {
    font-size: 10px;
    line-height: 1.25;
}

/* Metadados sem ocupar altura desnecessaria */
.fenix-document-form .fenix-empty-meta {
    padding: 10px 12px;
    font-size: 12px;
}

/* Duas colunas finais */
.fenix-document-form .fenix-form-columns {
    gap: 12px;
}

/* Checkbox */
.fenix-document-form .fenix-checkbox {
    gap: 8px;
}

.fenix-document-form .fenix-checkbox span {
    gap: 2px;
}

.fenix-document-form .fenix-checkbox strong {
    font-size: 13px;
}

.fenix-document-form .fenix-checkbox small {
    font-size: 10px;
    line-height: 1.25;
}

/* Botoes */
.fenix-document-form .fenix-form-actions {
    gap: 8px;
    padding: 0 0 14px;
}

.fenix-document-form .fenix-form-actions .btn {
    min-width: 135px;
}

/* Responsividade preservada */
@media (max-width: 720px) {
    .fenix-document-form .fenix-form-card {
        padding: 14px;
    }

    .fenix-document-form .fenix-field textarea {
        height: 70px;
    }
}


/* ============================================================
   FENIX_DOCUMENT_IDENTIFICATION_GRID_V1
   Linha compacta de identificacao documental
   ============================================================ */

.fenix-document-form .fenix-document-identification-grid {
    grid-template-columns:
        minmax(260px, 2.2fr)
        minmax(150px, 1.2fr)
        minmax(135px, .9fr)
        minmax(165px, 1.1fr)
        minmax(110px, .7fr);
    align-items: start;
}

/* Mantem a ajuda da temporalidade compacta */
.fenix-document-form #fenix-temporalidade-help {
    margin-top: 1px;
    font-size: 9px;
    line-height: 1.15;
}

/* Em telas intermediarias, divide sem apertar os campos */
@media (max-width: 1180px) {
    .fenix-document-form .fenix-document-identification-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .fenix-document-form .fenix-document-identification-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   FENIX_DOCUMENT_OPERATIONS_COMPACT_V1
   Localizacao + Arquivo + Seguranca na mesma faixa
   ============================================================ */

.fenix-document-form .fenix-document-operations {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, .85fr);
    gap: 18px;
    align-items: start;
}

.fenix-document-form .fenix-document-operation {
    min-width: 0;
}

.fenix-document-form .fenix-compact-heading {
    margin-bottom: 8px;
}

.fenix-document-form .fenix-compact-heading h2 {
    margin: 2px 0 0;
    font-size: 16px;
    line-height: 1.15;
    color: #202d37;
}

.fenix-document-form .fenix-location-summary-compact {
    margin-top: 7px;
    padding: 7px 9px;
    min-height: 0;
    font-size: 10px;
    line-height: 1.2;
    border-radius: 7px;
}

.fenix-document-form .fenix-document-description {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e5ebef;
}

.fenix-document-form .fenix-document-description .fenix-compact-heading {
    margin-bottom: 6px;
}

.fenix-document-form .fenix-document-description textarea {
    height: 48px;
    min-height: 48px;
}

/* Tablet */
@media (max-width: 1050px) {
    .fenix-document-form .fenix-document-operations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fenix-document-form .fenix-document-location {
        grid-column: 1 / -1;
    }
}

/* Celular */
@media (max-width: 720px) {
    .fenix-document-form .fenix-document-operations {
        grid-template-columns: 1fr;
    }

    .fenix-document-form .fenix-document-location {
        grid-column: auto;
    }
}


/* ============================================================
   FENIX_DOCUMENT_LIST_COMPACT_V1
   Compactacao das listagens de Documentos e Pesquisa Documental
   Nao afeta tabelas do CEDOC
   ============================================================ */

.documents-table:not(.cedoc-table) thead th {
    padding: 10px 16px;
}

.documents-table:not(.cedoc-table) tbody td {
    padding: 9px 16px;
}

/* Titulo continua destacado, mas ocupa menos altura */
.documents-table:not(.cedoc-table) .document-title a {
    line-height: 1.2;
}

/* Selo de confidencialidade mais proximo do titulo */
.documents-table:not(.cedoc-table) .document-title .badge,
.documents-table:not(.cedoc-table) .document-title .document-confidential {
    margin-top: 3px;
}

/* Botao Abrir mais compacto dentro das listagens */
.documents-table:not(.cedoc-table) tbody .btn {
    padding-top: 7px;
    padding-bottom: 7px;
    min-height: 0;
}



/* =========================================================
   FENIX_TEMPORALIDADE_DOCUMENTO_V1
   Bloco compacto de temporalidade na ficha documental
   ========================================================= */

.documento-temporalidade {
    margin: 0 24px 24px;
    border: 1px solid #e1e7eb;
    border-radius: 10px;
    background: #fbfcfd;
    overflow: hidden;
}

.documento-temporalidade-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 14px;
    border-bottom: 1px solid #e7ecef;
    background: #f7f9fa;
}

.documento-temporalidade-header span {
    color: #7b8b97;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.documento-temporalidade-header strong {
    color: var(--fenix-primary, #ef7418);
    font-size: 13px;
    font-weight: 800;
}

.documento-temporalidade .documento-info-grid {
    gap: 0;
}

.documento-temporalidade .documento-info-item {
    min-height: 58px;
    padding: 10px 14px;
    background: transparent;
}

.documento-temporalidade .documento-info-item span {
    font-size: 10px;
}

.documento-temporalidade .documento-info-item strong {
    font-size: 13px;
    line-height: 1.3;
}

.documento-temporalidade .documento-empty {
    margin: 0;
    padding: 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

@media (max-width: 768px) {
    .documento-temporalidade {
        margin-left: 16px;
        margin-right: 16px;
    }

    .documento-temporalidade-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}


/* =========================================================
   FENIX - CORREÇÃO DOS INDICADORES DE TEMPORALIDADE
   ========================================================= */

.documento-temporalidade-mini {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.25;
}

.documento-temporalidade-mini-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    min-width: 7px;
    border-radius: 50%;
    background: #9aa7b0;
}

/* Fase corrente */
.documento-temporalidade-fase_corrente
.documento-temporalidade-mini-dot {
    background: #3185c5;
}

.documento-temporalidade-fase_corrente
.documento-temporalidade-mini-label {
    color: #3174a5;
}

/* Fase intermediária */
.documento-temporalidade-fase_intermediaria
.documento-temporalidade-mini-dot {
    background: #d5a522;
}

.documento-temporalidade-fase_intermediaria
.documento-temporalidade-mini-label {
    color: #987514;
}

/* Destinação pendente */
.documento-temporalidade-destinacao_pendente
.documento-temporalidade-mini-dot {
    background: #e87520;
}

.documento-temporalidade-destinacao_pendente
.documento-temporalidade-mini-label {
    color: #c45d16;
}

/* Aguardando data do evento */
.documento-temporalidade-sem_data_base
.documento-temporalidade-mini-dot {
    background: #8064a2;
}

.documento-temporalidade-sem_data_base
.documento-temporalidade-mini-label {
    color: #70578e;
}

/* Sem regra */
.documento-temporalidade-sem_regra
.documento-temporalidade-mini-dot {
    background: #9aa7b0;
}

.documento-temporalidade-sem_regra
.documento-temporalidade-mini-label {
    color: #71808b;
}


/* =========================================================
   FENIX - DASHBOARD / TEMPORALIDADE
   ========================================================= */

.dashboard-temporalidade {
    margin-top: 24px;
    margin-bottom: 24px;
    padding: 22px 24px;
    background: #ffffff;
    border: 1px solid #e1e7eb;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(38, 51, 61, .055);
}

.dashboard-temporalidade-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.dashboard-section-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--fenix-primary, #ef7418);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.dashboard-temporalidade-header h2 {
    margin: 0;
    color: #26333d;
    font-size: 18px;
    font-weight: 800;
}

.dashboard-temporalidade-header p {
    margin: 4px 0 0;
    color: #7b8b97;
    font-size: 12px;
}

.dashboard-temporalidade-header a {
    color: var(--fenix-primary, #ef7418);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.dashboard-temporalidade-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-temporalidade-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 12px 14px;
    background: #fafbfc;
    border: 1px solid #e6ebef;
    border-radius: 10px;
}

.dashboard-temporalidade-dot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 50%;
    background: #9aa7b0;
}

.dashboard-temporalidade-item strong {
    display: block;
    color: #26333d;
    font-size: 20px;
    line-height: 1;
}

.dashboard-temporalidade-item div span {
    display: block;
    margin-top: 5px;
    color: #71808b;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
}

.temporalidade-corrente .dashboard-temporalidade-dot {
    background: #3185c5;
}

.temporalidade-intermediaria .dashboard-temporalidade-dot {
    background: #d5a522;
}

.temporalidade-pendente .dashboard-temporalidade-dot {
    background: #e87520;
}

.temporalidade-evento .dashboard-temporalidade-dot {
    background: #8064a2;
}

.temporalidade-sem-regra .dashboard-temporalidade-dot {
    background: #9aa7b0;
}

@media (max-width: 1100px) {
    .dashboard-temporalidade-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .dashboard-temporalidade-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-temporalidade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   FENIX - TEMPORALIDADE / ACABAMENTO DOS INDICADORES
   ========================================================= */

/* Dashboard */
.dashboard-temporalidade-dot {
    width: 12px;
    height: 12px;
    min-width: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dashboard-temporalidade-item {
    gap: 12px;
}

/* Pesquisa Documental
   Mantém a mesma linguagem visual do Dashboard.
*/
[class*="temporalidade"][class*="dot"] {
    width: 10px;
    height: 10px;
    min-width: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Indicadores de temporalidade em listas/tabelas */
[class*="temporalidade"][class*="indicator"],
[class*="temporalidade"][class*="indicador"] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

/* Texto do indicador */
[class*="temporalidade"][class*="status"],
[class*="temporalidade"][class*="situacao"] {
    line-height: 1.15;
}


/* =========================================================
   FENIX - TEMPORALIDADE / DESTAQUE VISUAL FINAL
   ========================================================= */

.dashboard-temporalidade-dot {
    width: 15px;
    height: 15px;
    min-width: 15px;
    border-radius: 50%;
    flex-shrink: 0;
}

.temporalidade-corrente .dashboard-temporalidade-dot {
    background: #2386c8;
    box-shadow: 0 0 0 3px rgba(35, 134, 200, .14);
}

.temporalidade-intermediaria .dashboard-temporalidade-dot {
    background: #d9a514;
    box-shadow: 0 0 0 3px rgba(217, 165, 20, .15);
}

.temporalidade-pendente .dashboard-temporalidade-dot {
    background: #ef7418;
    box-shadow: 0 0 0 3px rgba(239, 116, 24, .15);
}

.temporalidade-evento .dashboard-temporalidade-dot {
    background: #8058a8;
    box-shadow: 0 0 0 3px rgba(128, 88, 168, .15);
}

.temporalidade-sem-regra .dashboard-temporalidade-dot {
    background: #8e9da7;
    box-shadow: 0 0 0 3px rgba(142, 157, 167, .15);
}

/* Indicadores da Pesquisa Documental */
[class*="temporalidade"][class*="dot"] {
    width: 12px;
    height: 12px;
    min-width: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}


/* =========================================================
   FENIX_STATUS_TEMPORALIDADE_INLINE_V1
   Status + Temporalidade lado a lado nas listagens
   ========================================================= */

.documents-table:not(.cedoc-table) .documento-status-temporalidade {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.documents-table:not(.cedoc-table) .documento-status-temporalidade .documento-temporalidade-mini {
    margin-top: 0;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.documents-table:not(.cedoc-table) .documento-status-temporalidade .documento-temporalidade-mini-label {
    white-space: nowrap;
}


/* Pesquisa/Documentos - Tipo documental em uma linha */
.documents-table:not(.cedoc-table) th:nth-child(2),
.documents-table:not(.cedoc-table) td:nth-child(2) {
    white-space: nowrap;
    min-width: 145px;
}

/* =========================================================
   FÊNIX - SELETOR DE EMPRESA / AMBIENTE ATIVO
   ========================================================= */

.fenix-company-switcher {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 190px;
    margin-right: 8px;
}

.fenix-company-label {
    margin-bottom: 3px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--muted);
}

.fenix-company-form {
    margin: 0;
}

.fenix-company-select {
    width: 100%;
    max-width: 230px;
    height: 30px;
    padding: 0 28px 0 9px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: white;
    color: var(--text);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    outline: none;
}

.fenix-login-field .fenix-company-select:hover {
    border-color: var(--primary);
}

.fenix-login-field .fenix-company-select:focus {
    border-color: var(--primary);
}

.fenix-company-single {
    max-width: 230px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ==========================================================
   COMPONENTE GLOBAL DE UPLOAD — FÊNIX GED
   Utilizar em todos os campos de envio de arquivos.
   ========================================================== */

.fenix-upload-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.fenix-upload {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 48px;

    border: 1px solid #d6dee6;
    border-radius: 10px;
    background: #ffffff;

    overflow: hidden;
    cursor: pointer;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.fenix-upload:hover {
    border-color: #aebbc7;
    background: #fbfcfd;
}

.fenix-upload:focus-within {
    border-color: var(--cor-primaria, #4f7a28);
    box-shadow: 0 0 0 3px rgba(79, 122, 40, .10);
}

.fenix-upload-botao {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    background: var(--cor-primaria, #4f7a28);
    color: #ffffff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    white-space: nowrap;
}

.fenix-upload-nome {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;

    padding: 0 16px;

    color: #64748b;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fenix-upload.tem-arquivo .fenix-upload-nome {
    color: #26323d;
    font-weight: 600;
}

@media (max-width: 650px) {
    .fenix-upload {
        display: block;
    }

    .fenix-upload-botao {
        min-height: 46px;
    }

    .fenix-upload-nome {
        min-height: 46px;
        padding: 12px 15px;
        white-space: normal;
    }
}

/* ============================================================
   FENIX_COMPANY_SELECT_V1
   Seletor do ambiente multiempresa
   ============================================================ */

.fenix-login-field .fenix-company-select {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    height: 50px;
    padding: 0 44px 0 16px;

    border: 1px solid #d8dee4;
    border-radius: 10px;

    background-color: #ffffff;
    color: #1d252c;

    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 50px;

    cursor: pointer;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease;

    box-sizing: border-box;
}

.fenix-company-select:hover {
    border-color: #b8c1c9;
    background-color: #fcfcfc;
}

.fenix-company-select:focus {
    outline: none;
    border-color: #e87522;
    box-shadow: 0 0 0 3px rgba(232, 117, 34, 0.14);
}

.fenix-login-field .fenix-company-select:disabled {
    cursor: not-allowed;
    opacity: 0.65;
    background-color: #f3f5f7;
}

/* ==========================================================
   FENIX_LOGIN_TELA_UNICA_V1
   Compactacao do login para notebook / desktop
   Mantem responsividade original para telas menores
   ========================================================== */

@media (min-width: 901px) {

    .fenix-login-body {
        min-height: 100vh;
        overflow-x: hidden;
    }

    .fenix-login-shell {
        min-height: 100vh;
        height: 100vh;
    }

    .fenix-login-brand {
        box-sizing: border-box;
        padding: 36px 64px;
    }

    .fenix-login-brand-content {
        max-width: 620px;
    }

    .fenix-login-mark {
        margin-bottom: 20px;
    }

    .fenix-login-brand h1 {
        font-size: 42px;
        line-height: 1.06;
    }

    .fenix-login-lead {
        margin: 18px 0 26px;
        font-size: 17px;
        line-height: 1.5;
    }

    .fenix-login-features {
        gap: 10px;
    }

    .fenix-login-feature {
        padding: 13px 18px;
    }

    .fenix-login-feature strong {
        margin-bottom: 3px;
    }

    .fenix-login-company {
        margin-top: 24px;
        padding-top: 17px;
    }

    .fenix-login-access {
        box-sizing: border-box;
        min-height: 100vh;
        height: 100vh;
        padding: 24px 42px;
        overflow-y: auto;
    }

    .fenix-login-card {
        box-sizing: border-box;
        padding: 28px 40px 24px;
    }

    .fenix-login-eyebrow {
        margin-bottom: 8px;
    }

    .fenix-login-card h2 {
        margin-bottom: 7px;
        font-size: 28px;
        line-height: 1.08;
    }

    .fenix-login-help {
        margin-bottom: 20px;
        line-height: 1.4;
    }

    .fenix-login-error {
        margin-bottom: 14px;
        padding: 10px 13px;
    }

    .fenix-login-form {
        gap: 14px;
    }

    .fenix-login-field label {
        margin-bottom: 6px;
    }

    .fenix-login-field input {
        height: 46px;
    }

    .fenix-login-button {
        height: 48px;
    }

    .fenix-login-security {
        margin-top: 16px;
        padding: 10px 12px;
    }

    .fenix-login-footer {
        margin-top: 14px;
        line-height: 1.3;
    }

}

/*
   Ajuste adicional para notebooks com pouca altura útil.
   Ex.: MacBook com barras do navegador visíveis.
*/
@media (min-width: 901px) and (max-height: 820px) {

    .fenix-login-brand {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .fenix-login-mark {
        margin-bottom: 14px;
    }

    .fenix-login-brand h1 {
        font-size: 38px;
    }

    .fenix-login-lead {
        margin: 14px 0 20px;
        font-size: 16px;
    }

    .fenix-login-feature {
        padding: 10px 16px;
    }

    .fenix-login-features {
        gap: 8px;
    }

    .fenix-login-company {
        margin-top: 18px;
        padding-top: 13px;
    }

    .fenix-login-access {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .fenix-login-card {
        padding-top: 22px;
        padding-bottom: 18px;
    }

    .fenix-login-card h2 {
        font-size: 26px;
    }

    .fenix-login-help {
        margin-bottom: 14px;
    }

    .fenix-login-form {
        gap: 11px;
    }

    .fenix-login-security {
        margin-top: 12px;
        padding: 9px 11px;
    }

    .fenix-login-footer {
        margin-top: 10px;
    }

}

/* ============================================================
   FENIX_USER_ACTIONS_V1
   Padronizacao das acoes da listagem de usuarios
   ============================================================ */

.fenix-user-actions-cell {
    padding: 12px;
    text-align: right;
    width: 1%;
}

.fenix-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    white-space: nowrap;
}

.fenix-user-action-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.fenix-user-actions .fenix-user-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 36px;
    padding: 8px 11px;
    margin: 0;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
}

.fenix-user-current {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 4px;
    color: #7b8993;
    font-size: 12px;
    white-space: nowrap;
}

/* Notebook: permite acomodar as acoes sem sair do card */
@media (max-width: 1250px) and (min-width: 761px) {

    .fenix-user-actions {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .fenix-user-actions .fenix-user-action-btn {
        min-height: 34px;
        padding: 7px 9px;
        font-size: 11px;
    }

}

/* Tela pequena: acoes continuam utilizaveis */
@media (max-width: 760px) {

    .fenix-user-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

}

/* ============================================================
   FENIX_USER_ACTIONS_V2
   Acabamento visual das acoes de usuarios
   ============================================================ */

.fenix-user-actions-cell {
    width: 390px;
    min-width: 390px;
    padding: 12px 16px 12px 10px;
    text-align: right;
    vertical-align: middle;
}

.fenix-user-actions {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.fenix-user-action-form {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}

.fenix-user-actions .fenix-user-action-btn {
    min-height: 36px;
    height: 36px;
    padding: 0 12px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #263746;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

/* Editar / acoes neutras */
.fenix-user-actions .fenix-user-action-btn:hover {
    border-color: #aebbc5;
    background: #f7f9fa;
    color: #1f2d37;
}

/* Redefinir Senha — identidade FENIX */
.fenix-user-actions > a:nth-child(2) {
    border-color: rgba(239, 120, 27, .42);
    background: rgba(239, 120, 27, .07);
    color: #d9650d;
}

.fenix-user-actions > a:nth-child(2):hover {
    border-color: #ef781b;
    background: #fff4eb;
    color: #c95b08;
    box-shadow: 0 0 0 3px rgba(239, 120, 27, .08);
}

/* Desvincular — acao administrativa sensivel */
.fenix-user-actions .fenix-user-action-form:last-of-type
.fenix-user-action-btn {
    border-color: #e2c7c4;
    color: #9b4a43;
}

.fenix-user-actions .fenix-user-action-form:last-of-type
.fenix-user-action-btn:hover {
    border-color: #cf8f89;
    background: #fff6f5;
    color: #873b35;
}

/* Usuario atual */
.fenix-user-current {
    min-height: 36px;
    padding: 0 2px 0 4px;
    display: inline-flex;
    align-items: center;
    color: #87949d;
    font-size: 11px;
    font-weight: 600;
}

/* Notebook: compacta apenas o necessario */
@media (max-width: 1250px) and (min-width: 901px) {

    .fenix-user-actions-cell {
        width: 360px;
        min-width: 360px;
        padding-right: 12px;
    }

    .fenix-user-actions {
        gap: 5px;
    }

    .fenix-user-actions .fenix-user-action-btn {
        padding: 0 9px;
        font-size: 11px;
    }

}

/* Telas menores podem quebrar as acoes sem perder funcionalidade */
@media (max-width: 900px) {

    .fenix-user-actions-cell {
        width: auto;
        min-width: 300px;
    }

    .fenix-user-actions {
        flex-wrap: wrap;
        row-gap: 6px;
    }

}

/* ============================================================
   FENIX_USER_ACTIONS_V3
   Grade fixa e identidade cromatica das acoes de usuarios
   ============================================================ */

.fenix-user-actions-cell {
    width: 400px;
    min-width: 400px;
    padding: 12px 16px 12px 10px;
    vertical-align: middle;
}

.fenix-user-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 66px 126px 76px 92px;
    gap: 7px;
    align-items: center;
    justify-content: end;
}

/* Cada elemento ocupa sempre sua posicao */
.fenix-user-actions > a:nth-of-type(1) {
    grid-column: 1;
}

.fenix-user-actions > a:nth-of-type(2) {
    grid-column: 2;
}

.fenix-user-actions > form:nth-of-type(1) {
    grid-column: 3;
}

.fenix-user-actions > form:nth-of-type(2) {
    grid-column: 4;
}

.fenix-user-action-form {
    width: 100%;
    display: flex;
    margin: 0;
}

.fenix-user-actions .fenix-user-action-btn {
    width: 100%;
    height: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: none;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

/* EDITAR — VERDE */
.fenix-user-actions .fenix-user-action-edit {
    border: 1px solid #9bcdb0;
    background: #f0faf4;
    color: #287447;
}

.fenix-user-actions .fenix-user-action-edit:hover {
    border-color: #58a877;
    background: #e4f6eb;
    color: #1e643b;
}

/* REDEFINIR SENHA — LARANJA FENIX */
.fenix-user-actions .fenix-user-action-password {
    border: 1px solid #f3b17e;
    background: #fff6ef;
    color: #d9650d;
}

.fenix-user-actions .fenix-user-action-password:hover {
    border-color: #ef781b;
    background: #ffecdd;
    color: #bd5205;
}

/* INATIVAR — VERMELHO */
.fenix-user-actions .fenix-user-action-inactivate {
    border: 1px solid #e5aaa5;
    background: #fff4f3;
    color: #b34c44;
}

.fenix-user-actions .fenix-user-action-inactivate:hover {
    border-color: #cf746c;
    background: #ffe9e7;
    color: #963c35;
}

/* ATIVAR — VERDE */
.fenix-user-actions .fenix-user-action-activate {
    border: 1px solid #9bcdb0;
    background: #f0faf4;
    color: #287447;
}

.fenix-user-actions .fenix-user-action-activate:hover {
    border-color: #58a877;
    background: #e4f6eb;
    color: #1e643b;
}

/* VINCULAR / DESVINCULAR — AZUL */
.fenix-user-actions .fenix-user-action-unlink {
    border: 1px solid #9fc5da;
    background: #f1f8fc;
    color: #28749a;
}

.fenix-user-actions .fenix-user-action-unlink:hover {
    border-color: #68a7c8;
    background: #e6f3fa;
    color: #205f80;
}

/*
   Usuario atual:
   ocupa as duas ultimas posicoes da grade.
   Assim Editar e Redefinir Senha permanecem exatamente
   alinhados com as demais linhas.
*/
.fenix-user-current {
    grid-column: 3 / 5;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #87949d;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

/* Notebook */
@media (max-width: 1250px) and (min-width: 901px) {

    .fenix-user-actions-cell {
        width: 382px;
        min-width: 382px;
        padding-right: 12px;
    }

    .fenix-user-actions {
        grid-template-columns: 62px 120px 72px 88px;
        gap: 5px;
    }

    .fenix-user-actions .fenix-user-action-btn {
        padding: 0 6px;
        font-size: 10.5px;
    }

}

/* Telas pequenas */
@media (max-width: 900px) {

    .fenix-user-actions-cell {
        width: auto;
        min-width: 370px;
    }

}

/* ============================================================
   FENIX_USER_ACTIONS_V4
   Acoes solidas e listagem sem coluna Setor
   ============================================================ */

.fenix-user-actions-cell {
    width: 420px;
    min-width: 420px;
    padding: 12px 16px 12px 14px;
    text-align: right;
    vertical-align: middle;
}

.fenix-user-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 72px 132px 82px 100px;
    gap: 7px;
    align-items: center;
    justify-content: end;
    white-space: nowrap;
}

.fenix-user-actions > a:nth-of-type(1) {
    grid-column: 1;
}

.fenix-user-actions > a:nth-of-type(2) {
    grid-column: 2;
}

.fenix-user-actions > form:nth-of-type(1) {
    grid-column: 3;
}

.fenix-user-actions > form:nth-of-type(2) {
    grid-column: 4;
}

.fenix-user-action-form {
    width: 100%;
    display: flex;
    margin: 0;
    padding: 0;
}

.fenix-user-actions .fenix-user-action-btn {
    width: 100%;
    height: 38px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0 9px;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(32, 45, 55, .08);
    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

/* EDITAR — VERDE */
.fenix-user-actions .fenix-user-action-edit {
    background: #2f9b63 !important;
    border-color: #2f9b63 !important;
}

.fenix-user-actions .fenix-user-action-edit:hover {
    background: #278554 !important;
    border-color: #278554 !important;
}

/* REDEFINIR SENHA — LARANJA FENIX */
.fenix-user-actions .fenix-user-action-password {
    background: #f47a1f !important;
    border-color: #f47a1f !important;
}

.fenix-user-actions .fenix-user-action-password:hover {
    background: #dc6815 !important;
    border-color: #dc6815 !important;
}

/* INATIVAR — VERMELHO */
.fenix-user-actions .fenix-user-action-inactivate {
    background: #d9534f !important;
    border-color: #d9534f !important;
}

.fenix-user-actions .fenix-user-action-inactivate:hover {
    background: #c44440 !important;
    border-color: #c44440 !important;
}

/* ATIVAR — VERDE */
.fenix-user-actions .fenix-user-action-activate {
    background: #2f9b63 !important;
    border-color: #2f9b63 !important;
}

.fenix-user-actions .fenix-user-action-activate:hover {
    background: #278554 !important;
    border-color: #278554 !important;
}

/* VINCULAR / DESVINCULAR — AZUL */
.fenix-user-actions .fenix-user-action-unlink {
    background: #2f7fa7 !important;
    border-color: #2f7fa7 !important;
}

.fenix-user-actions .fenix-user-action-unlink:hover {
    background: #276c8f !important;
    border-color: #276c8f !important;
}

.fenix-user-actions .fenix-user-action-btn:hover {
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(32, 45, 55, .13);
}

/* Mantém as duas primeiras ações exatamente alinhadas
   também na linha do usuário atual */
.fenix-user-current {
    grid-column: 3 / 5;
    height: 38px;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #87949d;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

/* Notebook */
@media (max-width: 1250px) and (min-width: 901px) {

    .fenix-user-actions-cell {
        width: 405px;
        min-width: 405px;
        padding-right: 12px;
    }

    .fenix-user-actions {
        grid-template-columns: 68px 126px 78px 96px;
        gap: 6px;
    }

    .fenix-user-actions .fenix-user-action-btn {
        font-size: 10.5px;
        padding: 0 6px;
    }
}

/* Telas menores */
@media (max-width: 900px) {

    .fenix-user-actions-cell {
        width: auto;
        min-width: 390px;
    }
}

/* ============================================================
   FENIX_USER_ACTIONS_V5
   Tipografia alinhada ao padrao dos botoes FENIX
   ============================================================ */

.fenix-user-actions .fenix-user-action-btn {
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: normal !important;
}

/* Mantem a mesma tipografia também em notebook */
@media (max-width: 1250px) and (min-width: 901px) {
    .fenix-user-actions .fenix-user-action-btn {
        font-size: 13px !important;
    }
}

/* ============================================================
   FENIX_CEDOC_LIST_V1
   Padronizacao compacta da listagem de solicitacoes CEDOC
   ============================================================ */

.documents-panel .documents-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.documents-table.cedoc-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.documents-table.cedoc-table thead th {
    padding: 11px 10px;
    vertical-align: middle;
    white-space: nowrap;
    font-size: 11px;
}

.documents-table.cedoc-table tbody tr {
    height: auto !important;
    min-height: 0 !important;
}

.documents-table.cedoc-table tbody td {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 10px !important;
    vertical-align: middle !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Protocolo */
.documents-table.cedoc-table th:nth-child(1),
.documents-table.cedoc-table td:nth-child(1) {
    width: 15%;
}

/* Documento */
.documents-table.cedoc-table th:nth-child(2),
.documents-table.cedoc-table td:nth-child(2) {
    width: 18%;
}

/* Solicitante */
.documents-table.cedoc-table th:nth-child(3),
.documents-table.cedoc-table td:nth-child(3) {
    width: 12%;
}

/* Tipo */
.documents-table.cedoc-table th:nth-child(4),
.documents-table.cedoc-table td:nth-child(4) {
    width: 10%;
}

/* Prioridade */
.documents-table.cedoc-table th:nth-child(5),
.documents-table.cedoc-table td:nth-child(5) {
    width: 9%;
}

/* Localizacao */
.documents-table.cedoc-table th:nth-child(6),
.documents-table.cedoc-table td:nth-child(6) {
    width: 12%;
}

/* Situacao */
.documents-table.cedoc-table th:nth-child(7),
.documents-table.cedoc-table td:nth-child(7) {
    width: 9%;
}

/* Status */
.documents-table.cedoc-table th:nth-child(8),
.documents-table.cedoc-table td:nth-child(8) {
    width: 8%;
}

/* Data */
.documents-table.cedoc-table th:nth-child(9),
.documents-table.cedoc-table td:nth-child(9) {
    width: 7%;
}

/* Campos que devem permanecer visualmente estaveis */
.documents-table.cedoc-table td:nth-child(1),
.documents-table.cedoc-table td:nth-child(4),
.documents-table.cedoc-table td:nth-child(5),
.documents-table.cedoc-table td:nth-child(7),
.documents-table.cedoc-table td:nth-child(8),
.documents-table.cedoc-table td:nth-child(9) {
    white-space: normal;
}

/* Protocolo sempre destacado */
.documents-table.cedoc-table .cedoc-protocolo-link {
    display: inline-block;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
}

/* Documento sem provocar crescimento exagerado da linha */
.documents-table.cedoc-table .document-open-link {
    display: inline-block;
    max-width: 100%;
    line-height: 1.3;
}

/* Informacao secundaria imediatamente abaixo */
.documents-table.cedoc-table .cedoc-table-subtext {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.25;
}

/* Evita regras genericas transformando celulas em blocos altos */
.documents-table.cedoc-table tbody td > * {
    max-height: none;
}

/* Notebook / telas menores: preserva a estrutura e habilita rolagem horizontal */
@media (max-width: 1250px) {
    .documents-table.cedoc-table {
        min-width: 1080px;
    }

    .documents-table.cedoc-table thead th,
    .documents-table.cedoc-table tbody td {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}

/* ============================================================
   FENIX_CEDOC_LIST_V2
   Organizacao executiva da fila de solicitacoes CEDOC
   7 colunas visuais, preservando todas as informacoes
   ============================================================ */

.documents-table.cedoc-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

/* Protocolo */
.documents-table.cedoc-table th:nth-child(1),
.documents-table.cedoc-table td:nth-child(1) {
    width: 16%;
}

/* Documento */
.documents-table.cedoc-table th:nth-child(2),
.documents-table.cedoc-table td:nth-child(2) {
    width: 20%;
}

/* Solicitante */
.documents-table.cedoc-table th:nth-child(3),
.documents-table.cedoc-table td:nth-child(3) {
    width: 13%;
}

/* Atendimento */
.documents-table.cedoc-table th:nth-child(4),
.documents-table.cedoc-table td:nth-child(4) {
    width: 11%;
}

/* Localizacao */
.documents-table.cedoc-table th:nth-child(5),
.documents-table.cedoc-table td:nth-child(5) {
    width: 15%;
}

/* Situacao / Status */
.documents-table.cedoc-table th:nth-child(6),
.documents-table.cedoc-table td:nth-child(6) {
    width: 17%;
}

/* Data */
.documents-table.cedoc-table th:nth-child(7),
.documents-table.cedoc-table td:nth-child(7) {
    width: 8%;
}

.documents-table.cedoc-table thead th {
    padding: 11px 12px !important;
    vertical-align: middle;
    white-space: nowrap;
}

.documents-table.cedoc-table tbody td {
    height: auto !important;
    min-height: 0 !important;
    padding: 13px 12px !important;
    vertical-align: middle !important;
    line-height: 1.3;
}

/* Protocolo */
.documents-table.cedoc-table .cedoc-protocolo-link {
    display: inline-block;
    white-space: nowrap;
    font-weight: 700;
}

/* Documento */
.documents-table.cedoc-table td:nth-child(2) .document-open-link {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    line-height: 1.25;
    overflow-wrap: break-word;
}

/* Solicitante */
.documents-table.cedoc-table td:nth-child(3) {
    line-height: 1.25;
}

/* Atendimento */
.cedoc-atendimento-cell strong {
    display: block;
    color: #25333d;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
}

.cedoc-atendimento-cell .cedoc-table-subtext {
    margin-top: 4px;
}

/* Localizacao */
.documents-table.cedoc-table td:nth-child(5) strong {
    display: block;
    line-height: 1.25;
}

/* Situacao + Status */
.cedoc-situacao-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.cedoc-situacao-status .cedoc-sinal,
.cedoc-situacao-status .cedoc-status {
    margin: 0;
}

/* Data */
.documents-table.cedoc-table td:nth-child(7) {
    white-space: nowrap;
    line-height: 1.2;
}

.documents-table.cedoc-table td:nth-child(7) .cedoc-table-subtext {
    margin-top: 4px;
}

/* Notebook: rolagem apenas se realmente necessaria */
@media (max-width: 1100px) {
    .documents-table.cedoc-table {
        min-width: 980px;
    }
}

/* ============================================================
   FENIX_CEDOC_LIST_V3
   Fila CEDOC em 6 colunas
   Localizacao permanece no sistema e sai apenas desta listagem
   ============================================================ */

.documents-table.cedoc-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

/* Protocolo */
.documents-table.cedoc-table th:nth-child(1),
.documents-table.cedoc-table td:nth-child(1) {
    width: 17%;
}

/* Documento */
.documents-table.cedoc-table th:nth-child(2),
.documents-table.cedoc-table td:nth-child(2) {
    width: 24%;
}

/* Solicitante */
.documents-table.cedoc-table th:nth-child(3),
.documents-table.cedoc-table td:nth-child(3) {
    width: 15%;
}

/* Atendimento */
.documents-table.cedoc-table th:nth-child(4),
.documents-table.cedoc-table td:nth-child(4) {
    width: 14%;
}

/* Situacao / Status */
.documents-table.cedoc-table th:nth-child(5),
.documents-table.cedoc-table td:nth-child(5) {
    width: 19%;
}

/* Data */
.documents-table.cedoc-table th:nth-child(6),
.documents-table.cedoc-table td:nth-child(6) {
    width: 11%;
}

/* A largura agora cabe no painel sem rolagem horizontal */
@media (min-width: 901px) {
    .documents-table.cedoc-table {
        min-width: 0 !important;
    }
}

/* Documento ganha mais espaco */
.documents-table.cedoc-table td:nth-child(2) .document-open-link {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}

/* Solicitante mais legivel */
.documents-table.cedoc-table td:nth-child(3) {
    line-height: 1.3;
}

/* Situacao e status permanecem juntos */
.documents-table.cedoc-table td:nth-child(5) .cedoc-situacao-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* Data completa em uma unica linha */
.documents-table.cedoc-table td:nth-child(6) {
    white-space: nowrap;
    line-height: 1.2;
}

/* Telas realmente pequenas continuam protegidas */
@media (max-width: 900px) {
    .documents-table.cedoc-table {
        min-width: 850px;
    }
}

/* ==========================================================
   PACOTE 17F-B
   Compactacao visual da ficha de detalhe do documento
   ========================================================== */

/* Cards da ficha documental mais enxutos */
.documento-card {
    margin-bottom: 16px;
}

/* Cabeçalho dos cards */
.documento-card-header {
    padding: 18px 26px 14px;
}

.documento-card-header h2 {
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 1.15;
}

.documento-card-header p {
    margin-top: 4px;
    margin-bottom: 0;
}

/* Reduz o espaco entre os cards principais */
.documento-detail-grid {
    gap: 16px;
}

/* Campos de identificacao/classificacao */
.documento-detail-grid .documento-card > div:not(.documento-card-header) {
    min-height: 0;
}

/* Metadados */
.documento-metadata-grid {
    gap: 0;
}

.documento-metadata-item {
    padding: 16px 26px;
    min-height: 0;
}

/* Auditoria */
.documento-audit-grid > div {
    padding: 16px 26px;
    min-height: 0;
}

/* Textos vazios / informativos mais compactos */
.documento-card .empty-state,
.documento-card .documento-empty,
.documento-card .empty-message {
    min-height: 0;
    padding-top: 16px;
    padding-bottom: 16px;
}

/* Evita altura artificial nos cards */
.documento-card,
.documento-full-card {
    min-height: 0;
}

/* Ajuste para notebook */
@media (max-width: 1400px) {
    .documento-card-header {
        padding: 15px 22px 12px;
    }

    .documento-metadata-item,
    .documento-audit-grid > div {
        padding: 14px 22px;
    }

    .documento-detail-grid {
        gap: 14px;
    }

    .documento-card {
        margin-bottom: 14px;
    }
}

/* Mantem conforto visual em telas pequenas */
@media (max-width: 768px) {
    .documento-card-header {
        padding: 16px 18px 13px;
    }

    .documento-metadata-item,
    .documento-audit-grid > div {
        padding: 14px 18px;
    }
}

/* FIM PACOTE 17F-B */

/* ==========================================================
   PACOTE 17F-C.2
   Compactacao inteligente de cards sem conteudo
   ========================================================== */

/*
   Somente cards explicitamente marcados como vazios.
   Cards com conteudo continuam crescendo normalmente.
*/
.documento-card-empty .documento-card-header {
    padding-top: 13px;
    padding-bottom: 10px;
}

/* Metadados sem campos */
.documento-card-empty .documento-empty {
    margin: 0 22px 14px;
    padding: 11px 16px;
    min-height: 0;
}

/* Descricao vazia */
.documento-card-empty .documento-description {
    padding-top: 11px;
    padding-bottom: 13px;
    min-height: 0;
}

/* Texto auxiliar de card vazio */
.documento-card-empty .documento-muted {
    line-height: 1.35;
}

/* Notebook */
@media (max-width: 1400px) {
    .documento-card-empty .documento-card-header {
        padding-top: 11px;
        padding-bottom: 8px;
    }

    .documento-card-empty .documento-empty {
        margin: 0 20px 11px;
        padding: 9px 14px;
    }

    .documento-card-empty .documento-description {
        padding-top: 9px;
        padding-bottom: 11px;
    }
}

/* FIM PACOTE 17F-C.2 */


/* ==========================================================
   PACOTE 17G — DADOS DA ORGANIZACAO
   Padronizacao visual FENIX
   ========================================================== */

.fenix-org-page-header {
    align-items: flex-start;
}

.fenix-org-form {
    width: 100%;
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.fenix-org-card {
    overflow: hidden;
    padding: 0;
}

.fenix-org-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px 15px;
    border-bottom: 1px solid #e5eaf0;
}

.fenix-org-card-header h2 {
    margin: 2px 0 3px;
    font-size: 20px;
    line-height: 1.2;
}

.fenix-org-card-header p {
    margin: 0;
    color: #71808c;
    font-size: 14px;
}

.fenix-org-kicker,
.fenix-org-small-label {
    display: block;
    color: var(--cor-primaria, #e87522);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.fenix-org-page-header .fenix-org-kicker {
    margin-bottom: 5px;
}

.fenix-org-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid #dfe6ec;
    border-radius: 999px;
    background: #f8fafc;
    color: #607080;
    font-size: 12px;
    font-weight: 700;
}

.fenix-org-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94a3b8;
}

.fenix-org-status.is-active {
    color: #237a49;
    background: #f1faf5;
    border-color: #d8eee1;
}

.fenix-org-status.is-active .fenix-org-status-dot {
    background: #31b66b;
}

.fenix-org-status.is-inactive {
    color: #9b4141;
    background: #fff6f6;
    border-color: #f0dddd;
}

.fenix-org-status.is-inactive .fenix-org-status-dot {
    background: #d85b5b;
}


/* CAMPOS */

.fenix-org-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    padding: 18px 22px 20px;
}

.fenix-org-field {
    min-width: 0;
}

.fenix-org-field-full {
    grid-column: 1 / -1;
}

.fenix-org-field label {
    display: block;
    margin-bottom: 6px;
    color: #667887;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.fenix-org-required {
    color: var(--cor-primaria, #e87522);
}

.fenix-org-field input {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #dce4ea;
    border-radius: 8px;
    background: #fff;
    padding: 9px 11px;
    color: #26333d;
    font-size: 14px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.fenix-org-field input:focus {
    outline: none;
    border-color: var(--cor-primaria, #e87522);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}


/* LOGO */

.fenix-org-logo-layout {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
    gap: 22px;
    padding: 18px 22px 20px;
}

.fenix-org-logo-current,
.fenix-org-logo-upload {
    min-width: 0;
}

.fenix-org-logo-preview {
    height: 100px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 16px;
    box-sizing: border-box;
    border: 1px solid #e1e7ec;
    border-radius: 10px;
    background: #fbfcfd;
}

.fenix-org-logo-preview img {
    display: block;
    max-width: 240px;
    max-height: 76px;
    object-fit: contain;
}

.fenix-org-logo-empty {
    color: #8795a1;
    font-size: 13px;
}

.fenix-org-logo-upload p {
    margin: 8px 0 12px;
    color: #71808c;
    font-size: 13px;
    line-height: 1.45;
}

.fenix-org-logo-upload .fenix-upload {
    margin: 0;
}


/* CORES */

.fenix-org-color-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 18px 22px 20px;
}

.fenix-org-color-card {
    min-width: 0;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    box-sizing: border-box;
    border: 1px solid #e1e7ec;
    border-radius: 10px;
    background: #fbfcfd;
}

.fenix-org-color-card .fenix-org-small-label {
    margin-bottom: 5px;
    color: #71808c;
    letter-spacing: .8px;
}

.fenix-org-color-card strong {
    color: #26333d;
    font-size: 14px;
}

.fenix-org-color-card input[type="color"] {
    flex: 0 0 auto;
    width: 48px;
    height: 42px;
    padding: 2px;
    border: 1px solid #d7e0e7;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}


/* ACOES */

.fenix-org-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 18px;
    border: 1px solid #e1e7ec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(31, 45, 61, .04);
}

.fenix-org-actions-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fenix-org-actions-info strong {
    color: #26333d;
    font-size: 13px;
}

.fenix-org-actions-info span {
    color: #7b8995;
    font-size: 12px;
}

.fenix-org-actions-buttons {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
}


/* RESPONSIVO */

@media (max-width: 900px) {

    .fenix-org-logo-layout {
        grid-template-columns: 1fr;
    }

    .fenix-org-color-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {

    .fenix-org-card-header,
    .fenix-org-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .fenix-org-fields {
        grid-template-columns: 1fr;
    }

    .fenix-org-field-full {
        grid-column: auto;
    }

    .fenix-org-actions-buttons {
        width: 100%;
    }
}


/* =========================================================
   PACOTE 17G-D/E — CONFIGURACOES
   SETORES + TIPOS DE DOCUMENTO
   ========================================================= */

.fenix-config-page {
    width: 100%;
    max-width: 100%;
}

.fenix-config-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.fenix-config-page-header h1 {
    margin: 4px 0 4px;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.fenix-config-page-header p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.fenix-config-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--cor-primaria, #e87522);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.fenix-config-workspace {
    display: grid;
    gap: 24px;
    align-items: start;
}

.fenix-config-workspace-setores {
    grid-template-columns: minmax(320px, .78fr) minmax(0, 1.35fr);
}

.fenix-config-workspace-tipos {
    grid-template-columns: minmax(410px, .9fr) minmax(0, 1.3fr);
}

.fenix-config-panel {
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce3ea;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .025);
}

.fenix-config-panel-heading {
    padding: 22px 22px 18px;
    border-bottom: 1px solid #e7ecf1;
}

.fenix-config-panel-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.fenix-config-panel-heading h2 {
    margin: 3px 0 3px;
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.fenix-config-panel-heading p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.4;
}

.fenix-config-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #dce3ea;
    border-radius: 999px;
    background: #f8fafc;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.fenix-config-form {
    padding: 20px 22px 22px;
}

.fenix-config-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.fenix-config-field {
    min-width: 0;
    margin-bottom: 16px;
}

.fenix-config-field label {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .025em;
}

.fenix-config-field .required {
    color: var(--cor-primaria, #e87522);
}

.fenix-config-field input,
.fenix-config-field select,
.fenix-config-field textarea {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #d6dee7;
    border-radius: 9px;
    background: #fff;
    color: #1f2937;
    font: inherit;
    outline: none;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.fenix-config-field input,
.fenix-config-field select {
    min-height: 43px;
    padding: 9px 12px;
}

.fenix-config-field textarea {
    min-height: 98px;
    padding: 11px 12px;
    resize: vertical;
}

.fenix-config-field input:focus,
.fenix-config-field select:focus,
.fenix-config-field textarea:focus {
    border-color: var(--cor-primaria, #e87522);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

.fenix-config-field small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.fenix-config-subsection {
    margin: 5px 0 14px;
    padding-top: 17px;
    border-top: 1px solid #edf1f5;
}

.fenix-config-subsection h3 {
    margin: 3px 0 2px;
    font-size: 18px;
    line-height: 1.2;
}

.fenix-config-subsection p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
}

.fenix-config-form-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    padding-top: 17px;
    border-top: 1px solid #edf1f5;
}

.fenix-config-form-footer-between {
    justify-content: space-between;
}

.fenix-config-form-footer .btn {
    min-height: 42px;
}

.fenix-config-workspace-setores .fenix-config-form-footer .btn-primary {
    width: 100%;
}

.fenix-config-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.fenix-config-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.fenix-config-table th {
    padding: 11px 12px;
    background: #f8fafc;
    border-bottom: 1px solid #e7ecf1;
    color: #64748b;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .09em;
    text-align: left;
    text-transform: uppercase;
}

.fenix-config-table td {
    padding: 13px 12px;
    border-bottom: 1px solid #edf1f5;
    color: #334155;
    font-size: 12px;
    line-height: 1.35;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.fenix-config-table tbody tr:last-child td {
    border-bottom: 0;
}

.fenix-config-table tbody tr:hover {
    background: #fbfcfd;
}

.fenix-config-table td strong {
    color: #1f2937;
    font-weight: 750;
}

.fenix-config-table-description {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.fenix-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

.fenix-status-badge.is-active {
    background: #ecfdf3;
    color: #16794b;
}

.fenix-status-badge.is-inactive {
    background: #f1f5f9;
    color: #64748b;
}

.fenix-config-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.fenix-config-actions form {
    display: inline-flex;
    margin: 0;
}

.fenix-config-actions .btn {
    min-width: 0;
    padding: 8px 10px;
    font-size: 11px;
    white-space: nowrap;
}

.fenix-config-empty {
    margin: 20px;
    padding: 24px;
    border: 1px dashed #d8e0e8;
    border-radius: 10px;
    background: #fafbfc;
    color: #64748b;
    font-size: 13px;
    text-align: center;
}

/* Setores */
.fenix-config-table-setores th:nth-child(1),
.fenix-config-table-setores td:nth-child(1) {
    width: 40%;
}

.fenix-config-table-setores th:nth-child(2),
.fenix-config-table-setores td:nth-child(2) {
    width: 15%;
}

.fenix-config-table-setores th:nth-child(3),
.fenix-config-table-setores td:nth-child(3) {
    width: 15%;
}

.fenix-config-table-setores th:nth-child(4),
.fenix-config-table-setores td:nth-child(4) {
    width: 30%;
}

/* Tipos */
.fenix-config-table-tipos th:nth-child(1),
.fenix-config-table-tipos td:nth-child(1) {
    width: 22%;
}

.fenix-config-table-tipos th:nth-child(2),
.fenix-config-table-tipos td:nth-child(2) {
    width: 9%;
}

.fenix-config-table-tipos th:nth-child(3),
.fenix-config-table-tipos td:nth-child(3) {
    width: 15%;
}

.fenix-config-table-tipos th:nth-child(4),
.fenix-config-table-tipos td:nth-child(4) {
    width: 23%;
}

.fenix-config-table-tipos th:nth-child(5),
.fenix-config-table-tipos td:nth-child(5) {
    width: 11%;
}

.fenix-config-table-tipos th:nth-child(6),
.fenix-config-table-tipos td:nth-child(6) {
    width: 20%;
}

@media (max-width: 1180px) {
    .fenix-config-workspace-setores,
    .fenix-config-workspace-tipos {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .fenix-config-page-header {
        flex-direction: column;
    }

    .fenix-config-page-header .btn {
        width: 100%;
    }

    .fenix-config-form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .fenix-config-table {
        min-width: 720px;
    }
}


/* ==========================================================
   PACOTE 17H-B — SEGURANCA DE SESSAO
   ========================================================== */

.fenix-session-warning {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(3px);
}

.fenix-session-warning.is-visible {
    display: flex;
}

.fenix-session-warning-card {
    width: 100%;
    max-width: 520px;
    display: flex;
    gap: 18px;
    padding: 26px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.22);
}

.fenix-session-warning-icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff7ed;
    color: var(--primary, #e87522);
    font-size: 24px;
    font-weight: 800;
}

.fenix-session-warning-content {
    flex: 1;
    min-width: 0;
}

.fenix-session-warning-kicker {
    margin-bottom: 6px;
    color: var(--primary, #e87522);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.fenix-session-warning-content h2 {
    margin: 0 0 10px;
    color: #172033;
    font-size: 21px;
    line-height: 1.25;
}

.fenix-session-warning-content p {
    margin: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.55;
}

.fenix-session-warning-time {
    margin-top: 16px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #475467;
    font-size: 13px;
}

.fenix-session-warning-time strong {
    color: #172033;
}

.fenix-session-warning-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.fenix-session-continue {
    min-height: 40px;
    padding: 0 18px;
    border: 0;
    border-radius: 9px;
    background: var(--primary, #e87522);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.fenix-session-continue:hover {
    transform: translateY(-1px);
}

.fenix-session-continue:disabled {
    cursor: wait;
    opacity: 0.65;
    transform: none;
}

@media (max-width: 600px) {

    .fenix-session-warning-card {
        padding: 20px;
    }

    .fenix-session-warning-icon {
        display: none;
    }

    .fenix-session-warning-actions {
        justify-content: stretch;
    }

    .fenix-session-continue {
        width: 100%;
    }
}


/* ==========================================================
   PACOTE 17H-B.1 — CORRECAO DO MODAL DE SESSAO
   ========================================================== */

#fenix-session-warning.fenix-session-warning {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    margin: 0 !important;

    z-index: 2147483647 !important;

    align-items: center !important;
    justify-content: center !important;

    overflow: auto !important;

    background: rgba(15, 23, 42, 0.62) !important;
}

#fenix-session-warning.fenix-session-warning.is-visible {
    display: flex !important;
}

#fenix-session-warning .fenix-session-warning-card {
    position: relative !important;
    width: calc(100% - 48px) !important;
    max-width: 520px !important;
    margin: auto !important;
    transform: none !important;
}


/* ==========================================================
   FENIX GED — PACOTE 18C
   VERSIONAMENTO + AUDITORIA DOCUMENTAL
   ========================================================== */

.fenix-version-history {
    margin-top: 18px;
}

.fenix-version-current {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(232, 117, 34, .10);
    color: var(--fenix-primary, #e87522);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.fenix-version-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.fenix-version-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.fenix-version-row.is-current {
    border-color: rgba(232, 117, 34, .35);
    background: rgba(232, 117, 34, .035);
}

.fenix-version-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border-radius: 9px;
    background: #f3f4f6;
    color: #374151;
    font-weight: 900;
    font-size: 13px;
}

.fenix-version-row.is-current .fenix-version-number {
    background: var(--fenix-primary, #e87522);
    color: #fff;
}

.fenix-version-main {
    min-width: 0;
}

.fenix-version-title {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.fenix-version-title strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #1f2937;
    font-size: 13px;
}

.fenix-version-badge {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #067647;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fenix-version-meta,
.fenix-version-hash {
    margin-top: 3px;
    color: #6b7280;
    font-size: 11px;
}

.fenix-version-reason-text {
    margin-top: 5px;
    color: #4b5563;
    font-size: 12px;
}

.fenix-version-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.fenix-version-open:hover {
    border-color: var(--fenix-primary, #e87522);
    color: var(--fenix-primary, #e87522);
}

.fenix-version-reason {
    margin-top: 12px;
}

.fenix-version-reason label {
    display: block;
    margin-bottom: 5px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
}

.fenix-version-reason textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 64px;
    padding: 9px 11px;
    border: 1px solid #d1d5db;
    border-radius: 9px;
    resize: vertical;
    font: inherit;
    font-size: 13px;
}

.fenix-version-reason textarea:focus {
    outline: none;
    border-color: var(--fenix-primary, #e87522);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

.fenix-version-reason small {
    display: block;
    margin-top: 5px;
    color: #6b7280;
    font-size: 11px;
}

.fenix-audit-timeline {
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
}

.fenix-audit-timeline-title {
    margin-bottom: 8px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.fenix-audit-event {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid #f1f2f4;
}

.fenix-audit-event:last-child {
    border-bottom: 0;
}

.fenix-audit-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--fenix-primary, #e87522);
}

.fenix-audit-event-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fenix-audit-event-main strong {
    color: #374151;
    font-size: 12px;
}

.fenix-audit-event-main span {
    margin-top: 2px;
    color: #6b7280;
    font-size: 11px;
}

.fenix-audit-event-meta {
    color: #6b7280;
    font-size: 11px;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .fenix-version-row {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .fenix-version-action {
        grid-column: 2;
    }

    .fenix-audit-event {
        grid-template-columns: 10px minmax(0, 1fr);
    }

    .fenix-audit-event-meta {
        grid-column: 2;
        white-space: normal;
    }
}


/* ==========================================================
   FENIX GED — PACOTE 18C.1
   CORRECAO VISUAL DEFINITIVA
   VERSIONAMENTO + AUDITORIA
   ========================================================== */

/* ---------- HISTORICO DE VERSOES ---------- */

.documento-full-card.fenix-version-history {
    overflow: hidden;
}

.documento-full-card.fenix-version-history
.fenix-version-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-row {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 72px !important;
    gap: 12px !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 12px 22px !important;

    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    border-radius: 0 !important;

    background: #fff !important;
}

.documento-full-card.fenix-version-history
.fenix-version-row.is-current {
    background: #fffaf6 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 34px !important;
    min-height: 34px !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 8px !important;
    background: #f1f3f5 !important;

    color: #374151 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-row.is-current
.fenix-version-number {
    background: var(--fenix-primary, #e87522) !important;
    color: #fff !important;
}

.documento-full-card.fenix-version-history
.fenix-version-main {
    display: block !important;
    min-width: 0 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-title {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-title strong {
    display: block !important;
    min-width: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    color: #202832 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-badge {
    display: inline-flex !important;
    flex: 0 0 auto !important;

    padding: 3px 7px !important;
    border-radius: 999px !important;

    background: #eaf8ef !important;
    color: #087443 !important;

    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.documento-full-card.fenix-version-history
.fenix-version-meta {
    display: block !important;
    margin-top: 3px !important;

    color: #7a8591 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

.documento-full-card.fenix-version-history
.fenix-version-reason-text {
    display: block !important;

    margin-top: 4px !important;

    color: #59636e !important;
    font-size: 10px !important;
    line-height: 1.35 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.documento-full-card.fenix-version-history
.fenix-version-hash {
    display: block !important;

    margin-top: 3px !important;

    color: #9aa2ab !important;
    font-size: 9px !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
}

.documento-full-card.fenix-version-history
.fenix-version-action {
    display: flex !important;
    justify-content: flex-end !important;
}

.documento-full-card.fenix-version-history
.fenix-version-open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 58px !important;
    padding: 6px 10px !important;

    border: 1px solid #dfe3e7 !important;
    border-radius: 7px !important;

    background: #fff !important;
    color: #46515c !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.documento-full-card.fenix-version-history
.fenix-version-open:hover {
    border-color: var(--fenix-primary, #e87522) !important;
    color: var(--fenix-primary, #e87522) !important;
}

.documento-full-card.fenix-version-history
.fenix-version-current {
    display: inline-flex !important;
    align-items: center !important;

    padding: 5px 9px !important;

    border-radius: 999px !important;
    background: #fff4eb !important;

    color: var(--fenix-primary, #e87522) !important;

    font-size: 10px !important;
    font-weight: 900 !important;
}


/* ---------- AUDITORIA ---------- */

.documento-full-card
.fenix-audit-timeline {
    display: block !important;

    margin: 12px 22px 0 !important;
    padding: 12px 0 4px !important;

    border-top: 1px solid #edf0f2 !important;
}

.documento-full-card
.fenix-audit-timeline-title {
    display: block !important;

    margin: 0 0 5px !important;

    color: #84909c !important;

    font-size: 9px !important;
    font-weight: 900 !important;

    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

.documento-full-card
.fenix-audit-event {
    display: grid !important;

    grid-template-columns:
        8px minmax(0, 1fr) auto !important;

    gap: 8px !important;
    align-items: center !important;

    padding: 7px 0 !important;

    border-bottom: 1px solid #f0f2f4 !important;
}

.documento-full-card
.fenix-audit-event:last-child {
    border-bottom: 0 !important;
}

.documento-full-card
.fenix-audit-dot {
    display: block !important;

    width: 6px !important;
    height: 6px !important;

    border-radius: 50% !important;

    background:
        var(--fenix-primary, #e87522) !important;
}

.documento-full-card
.fenix-audit-event-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 6px !important;

    min-width: 0 !important;
}

.documento-full-card
.fenix-audit-event-main strong {
    flex: 0 0 auto !important;

    color: #313b45 !important;

    font-size: 10px !important;
    font-weight: 800 !important;
}

.documento-full-card
.fenix-audit-event-main span {
    min-width: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    color: #78838e !important;

    font-size: 10px !important;
}

.documento-full-card
.fenix-audit-event-meta {
    color: #8a949e !important;

    font-size: 9px !important;

    white-space: nowrap !important;
}


/* ---------- RESPONSIVO ---------- */

@media (max-width: 760px) {

    .documento-full-card.fenix-version-history
    .fenix-version-row {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding: 10px 14px !important;
    }

    .documento-full-card.fenix-version-history
    .fenix-version-action {
        grid-column: 2 !important;
        justify-content: flex-start !important;
    }

    .documento-full-card
    .fenix-audit-timeline {
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    .documento-full-card
    .fenix-audit-event {
        grid-template-columns: 8px minmax(0, 1fr) !important;
    }

    .documento-full-card
    .fenix-audit-event-meta {
        grid-column: 2 !important;
        white-space: normal !important;
    }
}


/* ==========================================================
   FENIX GED — PACOTE 18C.3
   COMPONENTES ISOLADOS — VERSIONAMENTO / AUDITORIA
   ========================================================== */


/* ==========================================================
   HISTORICO DE VERSOES
   ========================================================== */

#fenix-document-versions {
    overflow: hidden !important;
}

#fenix-document-versions .fenix-version-list {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

#fenix-document-versions .fenix-version-row {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 66px !important;
    column-gap: 12px !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 11px 22px !important;

    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
}

#fenix-document-versions .fenix-version-row.is-current {
    background: #fffaf6 !important;
}

#fenix-document-versions .fenix-version-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 32px !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 8px !important;

    background: #eef1f4 !important;
    color: #4b5563 !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

#fenix-document-versions .fenix-version-row.is-current .fenix-version-number {
    background: var(--fenix-primary, #e87522) !important;
    color: #ffffff !important;
}

#fenix-document-versions .fenix-version-main {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#fenix-document-versions .fenix-version-title {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#fenix-document-versions .fenix-version-title strong {
    display: block !important;
    min-width: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    color: #222b35 !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

#fenix-document-versions .fenix-version-badge {
    display: inline-flex !important;
    align-items: center !important;

    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 3px 7px !important;

    border-radius: 999px !important;

    background: #e9f8ef !important;
    color: #087443 !important;

    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    text-transform: uppercase !important;
}

#fenix-document-versions .fenix-version-meta {
    display: block !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    color: #7b8793 !important;

    font-size: 10px !important;
    line-height: 1.3 !important;
}

#fenix-document-versions .fenix-version-reason-text {
    display: block !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    color: #59636e !important;

    font-size: 10px !important;
    line-height: 1.3 !important;
}

#fenix-document-versions .fenix-version-hash {
    display: block !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    color: #9aa3ad !important;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace !important;

    font-size: 9px !important;
    line-height: 1.2 !important;
}

#fenix-document-versions .fenix-version-action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    margin: 0 !important;
    padding: 0 !important;
}

#fenix-document-versions .fenix-version-open {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 54px !important;

    margin: 0 !important;
    padding: 6px 9px !important;

    border: 1px solid #dce1e6 !important;
    border-radius: 7px !important;

    background: #ffffff !important;
    color: #46515c !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-decoration: none !important;
}

#fenix-document-versions .fenix-version-open:hover {
    border-color: var(--fenix-primary, #e87522) !important;
    color: var(--fenix-primary, #e87522) !important;
}

#fenix-document-versions .fenix-version-current {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 5px 9px !important;

    border-radius: 999px !important;

    background: #fff2e8 !important;
    color: var(--fenix-primary, #e87522) !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}


/* ==========================================================
   AUDITORIA
   ========================================================== */

#fenix-document-audit .fenix-audit-timeline {
    display: block !important;

    margin: 0 22px !important;
    padding: 10px 0 6px !important;

    border-top: 1px solid #edf0f2 !important;
}

#fenix-document-audit .fenix-audit-timeline-title {
    display: block !important;

    margin: 0 0 4px !important;
    padding: 0 !important;

    color: #8a949e !important;

    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;

    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

#fenix-document-audit .fenix-audit-event {
    display: grid !important;
    grid-template-columns: 7px minmax(0, 1fr) auto !important;
    column-gap: 8px !important;

    align-items: center !important;

    margin: 0 !important;
    padding: 6px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #f0f2f4 !important;

    background: transparent !important;
}

#fenix-document-audit .fenix-audit-event:last-child {
    border-bottom: 0 !important;
}

#fenix-document-audit .fenix-audit-dot {
    display: block !important;

    width: 6px !important;
    height: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    background: var(--fenix-primary, #e87522) !important;
}

#fenix-document-audit .fenix-audit-event-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 6px !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

#fenix-document-audit .fenix-audit-event-main strong {
    display: inline !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #36404a !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

#fenix-document-audit .fenix-audit-event-main span {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    color: #78838e !important;

    font-size: 10px !important;
    line-height: 1.3 !important;
}

#fenix-document-audit .fenix-audit-event-meta {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #8a949e !important;

    font-size: 9px !important;
    line-height: 1.2 !important;

    white-space: nowrap !important;
}


/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media (max-width: 760px) {

    #fenix-document-versions .fenix-version-row {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding: 10px 14px !important;
    }

    #fenix-document-versions .fenix-version-action {
        grid-column: 2 !important;
        justify-content: flex-start !important;
        margin-top: 3px !important;
    }

    #fenix-document-audit .fenix-audit-timeline {
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    #fenix-document-audit .fenix-audit-event {
        grid-template-columns: 7px minmax(0, 1fr) !important;
    }

    #fenix-document-audit .fenix-audit-event-meta {
        grid-column: 2 !important;
        white-space: normal !important;
    }
}


/* ==========================================================
   FENIX GED — PACOTE 18C.4
   UPLOAD DE ARQUIVO
   ========================================================== */

.fenix-file-upload-box {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;

    width: 100%;
    margin-top: 4px;
}

.fenix-file-native-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.fenix-file-select-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 42px;
    padding: 0 14px;

    border: 1px solid var(--fenix-primary, #e87522);
    border-radius: 9px;

    background: var(--fenix-primary, #e87522);
    color: #fff;

    font-family: inherit;
    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
    white-space: nowrap;
}

.fenix-file-select-button:hover {
    filter: brightness(.96);
}

.fenix-file-select-icon {
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

.fenix-file-selected {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;
    min-height: 42px;

    padding: 6px 10px;

    border: 1px solid #dfe4e8;
    border-radius: 9px;

    background: #f8fafb;
}

.fenix-file-selected-label {
    color: #8a949e;
    font-size: 8px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fenix-file-selected-name {
    display: block;

    min-width: 0;
    margin-top: 2px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #66717c;
    font-size: 10px;
    font-weight: 700;
}

.fenix-file-upload-box.has-file
.fenix-file-selected {
    border-color: rgba(232, 117, 34, .35);
    background: #fffaf6;
}

.fenix-file-upload-box.has-file
.fenix-file-selected-name {
    color: #29323b;
}

@media (max-width: 760px) {
    .fenix-file-upload-box {
        grid-template-columns: 1fr;
    }

    .fenix-file-select-button {
        width: 100%;
    }
}


/* ==========================================================
   FENIX GED — PACOTE 18C.5
   ACABAMENTO DO UPLOAD
   ========================================================== */

.fenix-file-upload-box {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 100% !important;
}

.fenix-file-select-button {
    width: 100% !important;
    min-height: 42px !important;
}

.fenix-file-selected {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 44px !important;

    padding: 7px 10px !important;
}

.fenix-file-selected-name {
    width: 100% !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.fenix-version-reason {
    margin-top: 10px !important;
}

/* FENIX — FLUXO DE DECISAO DA ELIMINACAO */

#fluxo-decisorio {
    padding-top: 0;
    padding-bottom: 0;
}

#fluxo-decisorio .eliminacao-section-header {
    align-items: center;
    margin-bottom: 0;
}

.fenix-eliminacao-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border: 1px solid #dce2e7;
    border-radius: 999px;
    background: #f7f8f9;
    color: #596570;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.fenix-eliminacao-action {
    padding: 12px 0 14px;
    border-top: 1px solid #e5e9ed;
}

.fenix-eliminacao-action-title {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 9px;
}

.fenix-eliminacao-action-title strong {
    color: #26313a;
    font-size: 13px;
    font-weight: 700;
}

.fenix-eliminacao-action-title span {
    color: #78838d;
    font-size: 11px;
}

.fenix-eliminacao-action-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin: 0;
}

.fenix-eliminacao-action-field {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    max-width: 680px;
}

.fenix-eliminacao-action-field label {
    margin: 0;
    color: #4e5963;
    font-size: 11px;
    font-weight: 600;
}

.fenix-eliminacao-action-field input.form-control {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #d8dee4;
    border-radius: 7px;
    box-sizing: border-box;
    background: #fff;
    color: #27313a;
    font: inherit;
    font-size: 12px;
    outline: none;
}

.fenix-eliminacao-action-field input.form-control::placeholder {
    color: #a0a8b0;
}

.fenix-eliminacao-action-field input.form-control:focus {
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

.fenix-eliminacao-action-form > .btn,
.fenix-eliminacao-action-buttons .btn {
    white-space: nowrap;
}

.fenix-eliminacao-action-buttons {
    display: flex;
    align-items: center;
    gap: 7px;
}

.fenix-eliminacao-state {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-height: 30px;
}

.fenix-eliminacao-state strong {
    color: #28323b;
    font-size: 12px;
    font-weight: 700;
}

.fenix-eliminacao-state span {
    color: #77828c;
    font-size: 11px;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .fenix-eliminacao-action-title,
    .fenix-eliminacao-state {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .fenix-eliminacao-action-form {
        align-items: stretch;
        flex-direction: column;
    }

    .fenix-eliminacao-action-field {
        max-width: none;
    }

    .fenix-eliminacao-action-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    .fenix-eliminacao-action-form .btn {
        width: 100%;
    }
}

/* FIM — FLUXO DE DECISAO DA ELIMINACAO */

/* FENIX — RESUMO DA LISTAGEM DE ELIMINACAO */

.eliminacao-summary-four {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.eliminacao-summary-four .cedoc-summary-card {
    min-width: 0;
}

@media (max-width: 1150px) {
    .eliminacao-summary-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .eliminacao-summary-four {
        grid-template-columns: 1fr;
    }
}

/* FIM — RESUMO DA LISTAGEM DE ELIMINACAO */

/* FENIX — AJUSTE FINO FLUXO ELIMINACAO */

#fluxo-decisorio .eliminacao-section-header,
#fluxo-decisorio .fenix-eliminacao-action {
    padding-left: 16px;
    padding-right: 16px;
}

#fluxo-decisorio .fenix-eliminacao-action-form {
    max-width: 915px;
}

#fluxo-decisorio .fenix-eliminacao-action-field {
    max-width: none;
}

@media (max-width: 900px) {
    #fluxo-decisorio .eliminacao-section-header,
    #fluxo-decisorio .fenix-eliminacao-action {
        padding-left: 0;
        padding-right: 0;
    }

    #fluxo-decisorio .fenix-eliminacao-action-form {
        max-width: none;
    }
}

/* FIM — AJUSTE FINO FLUXO ELIMINACAO */

/* FENIX — AJUSTE FINO FLUXO ELIMINACAO */

#fluxo-decisorio .eliminacao-section-header,
#fluxo-decisorio .fenix-eliminacao-action {
    padding-left: 16px;
    padding-right: 16px;
}

#fluxo-decisorio .fenix-eliminacao-action-form {
    max-width: 915px;
}

#fluxo-decisorio .fenix-eliminacao-action-field {
    max-width: none;
}

@media (max-width: 900px) {
    #fluxo-decisorio .eliminacao-section-header,
    #fluxo-decisorio .fenix-eliminacao-action {
        padding-left: 0;
        padding-right: 0;
    }

    #fluxo-decisorio .fenix-eliminacao-action-form {
        max-width: none;
    }
}

/* FIM — AJUSTE FINO FLUXO ELIMINACAO */

/* ==========================================================
   FENIX-DOCUMENT-SELECTS-PADRAO-PESQUISA
   Padroniza campos de seleção de Novo/Editar Documento
   com o visual da Pesquisa Documental.
   ========================================================== */

.fenix-document-form .fenix-field select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    padding: 0 35px 0 12px;
    outline: none;
}

.fenix-document-form .fenix-field select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}
/* ==========================================================
   FENIX-HOLD-FORM-PADRAO-PESQUISA
   Padroniza os controles do Aplicar Hold arquivístico
   com o visual da Pesquisa Documental e do FÊNIX.
   Somente apresentação — nenhuma regra funcional.
   ========================================================== */

.fenix-hold-form label {
    display: block;
    margin-bottom: 6px;
    color: #26343e;
    font-size: 13px;
    font-weight: 700;
}

/* Motivo — mesmo padrão visual dos selects da Pesquisa */
.fenix-hold-form select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    padding: 0 35px 0 12px;
    outline: none;
}

/* Fundamento e Observações */
.fenix-hold-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #ffffff;
    color: #26323c;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    padding: 10px 12px;
    outline: none;
    resize: vertical;
}

.fenix-hold-form textarea::placeholder {
    color: #9aa4ad;
}

/* Fundamento */
.fenix-hold-form-grid > div:not(.fenix-hold-full) textarea {
    min-height: 72px;
}

/* Observações */
.fenix-hold-form .fenix-hold-full textarea {
    min-height: 68px;
}

/* Foco uniforme */
.fenix-hold-form select:focus,
.fenix-hold-form textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

/* Mantém os controles visualmente alinhados */
.fenix-hold-form-grid > div {
    min-width: 0;
}

/* ============================================================
   FENIX_UI_FOUNDATION_V1
   Fundação visual oficial do FÊNIX GED.

   Referência de densidade:
   Pesquisa Documental.

   IMPORTANTE:
   - camada opt-in;
   - não substitui CSS legado;
   - aplicada inicialmente apenas às telas homologadas;
   - não altera regras funcionais.
   ============================================================ */

.fenix-ui-page {
    --fenix-ui-field-height: 42px;
    --fenix-ui-radius: 8px;
    --fenix-ui-card-radius: 12px;
    --fenix-ui-border: #d6dee4;
    --fenix-ui-card-border: #dce3e8;
    --fenix-ui-text: #26323c;
    --fenix-ui-label: #29343e;
    --fenix-ui-muted: #748491;
    --fenix-ui-gap: 14px;
}

/* ------------------------------------------------------------
   PAINÉIS / CARDS
   ------------------------------------------------------------ */

.fenix-ui-page .fenix-ui-card {
    background: #ffffff;
    border: 1px solid var(--fenix-ui-card-border);
    border-radius: var(--fenix-ui-card-radius);
    padding: 18px 20px;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

.fenix-ui-page .fenix-ui-card + .fenix-ui-card {
    margin-top: 18px;
}

/* ------------------------------------------------------------
   FORMULÁRIOS
   ------------------------------------------------------------ */

.fenix-ui-page .fenix-ui-form {
    display: grid;
    gap: 14px;
}

.fenix-ui-page .fenix-ui-grid {
    display: grid;
    gap: 14px 16px;
}

.fenix-ui-page .fenix-ui-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fenix-ui-page .fenix-ui-field {
    min-width: 0;
}

.fenix-ui-page .fenix-ui-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--fenix-ui-label);
    font-size: 13px;
    font-weight: 700;
}

.fenix-ui-page .fenix-ui-field input[type="text"],
.fenix-ui-page .fenix-ui-field input[type="email"],
.fenix-ui-page .fenix-ui-field input[type="password"],
.fenix-ui-page .fenix-ui-field input[type="number"],
.fenix-ui-page .fenix-ui-field input[type="date"],
.fenix-ui-page .fenix-ui-field select {
    width: 100%;
    height: var(--fenix-ui-field-height);
    box-sizing: border-box;
    border: 1px solid var(--fenix-ui-border);
    border-radius: var(--fenix-ui-radius);
    background: #ffffff;
    color: var(--fenix-ui-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.fenix-ui-page .fenix-ui-field input[type="text"],
.fenix-ui-page .fenix-ui-field input[type="email"],
.fenix-ui-page .fenix-ui-field input[type="password"],
.fenix-ui-page .fenix-ui-field input[type="number"],
.fenix-ui-page .fenix-ui-field input[type="date"] {
    padding: 0 12px;
}

.fenix-ui-page .fenix-ui-field select {
    padding: 0 35px 0 12px;
}

.fenix-ui-page .fenix-ui-field textarea {
    width: 100%;
    min-height: 78px;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--fenix-ui-border);
    border-radius: var(--fenix-ui-radius);
    background: #ffffff;
    color: var(--fenix-ui-text);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    resize: vertical;
    outline: none;
}

.fenix-ui-page .fenix-ui-field input:focus,
.fenix-ui-page .fenix-ui-field select:focus,
.fenix-ui-page .fenix-ui-field textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244, 122, 31, .10);
}

/* ------------------------------------------------------------
   AÇÕES
   ------------------------------------------------------------ */

.fenix-ui-page .fenix-ui-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 2px;
}

.fenix-ui-page .fenix-ui-actions .btn {
    min-height: 42px;
}

/* ------------------------------------------------------------
   TABELAS
   ------------------------------------------------------------ */

.fenix-ui-page .fenix-ui-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.fenix-ui-page .fenix-ui-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.fenix-ui-page .fenix-ui-table thead th {
    padding: 10px 16px;
    background: #f7f9fa;
    border-bottom: 1px solid #e5eaed;
    color: var(--fenix-ui-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.fenix-ui-page .fenix-ui-table tbody td {
    padding: 9px 16px;
    border-bottom: 1px solid #edf0f2;
    color: #303b44;
    font-size: 13px;
    vertical-align: middle;
}

.fenix-ui-page .fenix-ui-table tbody tr:last-child td {
    border-bottom: 0;
}

.fenix-ui-page .fenix-ui-table tbody tr:hover {
    background: #fbfcfc;
}

.fenix-ui-page .fenix-ui-table .table-actions {
    white-space: nowrap;
}

/* Botões dentro de tabelas permanecem compactos. */
.fenix-ui-page .fenix-ui-table .table-actions .btn {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
}

/* ------------------------------------------------------------
   RESPONSIVIDADE
   ------------------------------------------------------------ */

@media (max-width: 760px) {
    .fenix-ui-page .fenix-ui-grid-2 {
        grid-template-columns: 1fr;
    }

    .fenix-ui-page .fenix-ui-card {
        padding: 16px;
    }

    .fenix-ui-page .fenix-ui-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .fenix-ui-page .fenix-ui-actions .btn {
        width: 100%;
    }
}

/* ============================================================
   FIM — FENIX_UI_FOUNDATION_V1
   ============================================================ */

/* ============================================================
   FENIX_DOCUMENTOS_VISUAL_V1
   Ajuste leve da tela Documentos.
   Mantém a Pesquisa Documental como referência visual.
   ============================================================ */

.fenix-ui-documentos .document-quick-search {
    padding: 18px 20px;
}

.fenix-ui-documentos .document-quick-search .document-search-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
}

.fenix-ui-documentos .document-quick-search .search-main {
    flex: 1 1 auto;
    min-width: 0;
}

.fenix-ui-documentos .document-quick-search .search-input-row {
    margin-bottom: 0;
}

.fenix-ui-documentos .quick-search-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 10px;
}

.fenix-ui-documentos .documents-panel {
    margin-top: 18px;
}

@media (max-width: 760px) {
    .fenix-ui-documentos .document-quick-search .document-search-form {
        display: block;
    }

    .fenix-ui-documentos .quick-search-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ============================================================
   FIM — FENIX_DOCUMENTOS_VISUAL_V1
   ============================================================ */

/* ============================================================
   FENIX_DOCUMENTO_FORM_VISUAL_V1
   Padronização visual controlada do Novo/Editar Documento.
   Não altera estrutura, IDs, NAMEs, JavaScript ou regras.
   Referência: Pesquisa Documental + FENIX_UI_FOUNDATION_V1.
   ============================================================ */

.fenix-document-form {
    --fenix-doc-field-height: 42px;
    --fenix-doc-radius: 8px;
    --fenix-doc-card-radius: 12px;
    --fenix-doc-border: #d6dee4;
    --fenix-doc-card-border: #dce3e8;
    --fenix-doc-text: #26323c;
    --fenix-doc-label: #29343e;
    --fenix-doc-muted: #748491;
}

/* Cards */
.fenix-document-form .fenix-form-card {
    border: 1px solid var(--fenix-doc-card-border);
    border-radius: var(--fenix-doc-card-radius);
    padding: 18px 20px;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

/* Densidade entre os cards */
.fenix-document-form .fenix-form-card + .fenix-form-card {
    margin-top: 14px;
}

/* Cabeçalhos internos */
.fenix-document-form .fenix-section-heading {
    margin-bottom: 12px;
}

.fenix-document-form .fenix-section-heading h2,
.fenix-document-form .fenix-compact-heading h2 {
    margin-top: 0;
}

.fenix-document-form .fenix-section-heading p {
    margin-bottom: 0;
}

/* Labels */
.fenix-document-form .fenix-field label {
    margin-bottom: 7px;
    color: var(--fenix-doc-label);
    font-size: 13px;
    font-weight: 700;
}

/* Campos oficiais — 42px */
.fenix-document-form .fenix-field input[type="text"],
.fenix-document-form .fenix-field input[type="email"],
.fenix-document-form .fenix-field input[type="password"],
.fenix-document-form .fenix-field input[type="number"],
.fenix-document-form .fenix-field input[type="date"],
.fenix-document-form .fenix-field select {
    width: 100%;
    height: var(--fenix-doc-field-height);
    min-height: var(--fenix-doc-field-height);
    box-sizing: border-box;
    border: 1px solid var(--fenix-doc-border);
    border-radius: var(--fenix-doc-radius);
    background: #ffffff;
    color: var(--fenix-doc-text);
    font-size: 14px;
}

/* Padding de inputs */
.fenix-document-form .fenix-field input[type="text"],
.fenix-document-form .fenix-field input[type="email"],
.fenix-document-form .fenix-field input[type="password"],
.fenix-document-form .fenix-field input[type="number"],
.fenix-document-form .fenix-field input[type="date"] {
    padding: 0 12px;
}

/* Padding dos selects */
.fenix-document-form .fenix-field select {
    padding: 0 35px 0 12px;
}

/* Textareas */
.fenix-document-form .fenix-field textarea,
.fenix-document-form .fenix-document-description textarea {
    width: 100%;
    min-height: 52px;
    box-sizing: border-box;
    border: 1px solid var(--fenix-doc-border);
    border-radius: var(--fenix-doc-radius);
    background: #ffffff;
    color: var(--fenix-doc-text);
    padding: 10px 12px;
    font-size: 14px;
    resize: vertical;
}

/* Foco uniforme */
.fenix-document-form .fenix-field input:focus,
.fenix-document-form .fenix-field select:focus,
.fenix-document-form .fenix-field textarea:focus,
.fenix-document-form .fenix-document-description textarea:focus {
    outline: none;
    border-color: var(--fenix-primary);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

/* Ajuda textual */
.fenix-document-form .fenix-field-help {
    margin-top: 5px;
    color: var(--fenix-doc-muted);
    line-height: 1.25;
}

/* Operações: físico / digital / segurança */
.fenix-document-form .fenix-document-operations {
    gap: 18px;
}

.fenix-document-form .fenix-document-operation {
    min-width: 0;
}

/* Upload mantém comportamento próprio, só equaliza geometria */
.fenix-document-form .fenix-file-select-button {
    min-height: var(--fenix-doc-field-height);
    border-radius: var(--fenix-doc-radius);
}

/* Descrição mais compacta */
.fenix-document-form .fenix-document-description {
    margin-top: 14px;
}

.fenix-document-form .fenix-document-description textarea {
    min-height: 52px;
}

/* Ações finais */
.fenix-document-form .fenix-form-actions {
    gap: 10px;
    margin-top: 12px;
}

.fenix-document-form .fenix-form-actions .btn {
    min-height: 42px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

/* Mobile */
@media (max-width: 760px) {
    .fenix-document-form .fenix-form-card {
        padding: 16px;
    }

    .fenix-document-form .fenix-form-actions {
        align-items: stretch;
    }

    .fenix-document-form .fenix-form-actions .btn {
        width: 100%;
    }
}

/* ============================================================
   FIM — FENIX_DOCUMENTO_FORM_VISUAL_V1
   ============================================================ */


/* ============================================================
   FENIX_DOCUMENTOS_QUICK_SEARCH_FIX_V1

   Correção específica da Busca Rápida da tela Documentos.
   Não altera a Pesquisa Documental.
   ============================================================ */

.fenix-ui-documentos .document-quick-search .document-search-form {
    display: block;
    width: 100%;
}

.fenix-ui-documentos .document-quick-search .search-main {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.fenix-ui-documentos .document-quick-search .search-main > label {
    display: block;
    margin-bottom: 7px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
}

.fenix-ui-documentos .document-quick-search .search-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    width: 100%;
    align-items: center;
}

.fenix-ui-documentos .document-quick-search .search-input-row input {
    width: 100%;
    min-width: 0;
    height: 42px;
    box-sizing: border-box;
}

.fenix-ui-documentos .document-quick-search .search-input-row .btn {
    min-height: 42px;
    height: 42px;
    white-space: nowrap;
}

.fenix-ui-documentos .document-quick-search .search-main > small {
    display: block;
    margin-top: 7px;
    color: #748491;
    font-size: 12px;
    line-height: 1.35;
}

.fenix-ui-documentos .document-quick-search .quick-search-actions {
    margin-top: 10px;
}

@media (max-width: 760px) {
    .fenix-ui-documentos .document-quick-search .search-input-row {
        grid-template-columns: 1fr;
    }

    .fenix-ui-documentos .document-quick-search .search-input-row .btn {
        width: 100%;
    }
}

/* FIM — FENIX_DOCUMENTOS_QUICK_SEARCH_FIX_V1 */


/* =========================================================
   FENIX_CEDOC_LISTAGEM_VISUAL_V1
   Padronização visual opt-in da Fila/Listagem CEDOC
   ========================================================= */

.fenix-ui-cedoc-lista ~ .cedoc-summary-grid .cedoc-summary-card,
.fenix-ui-cedoc-lista ~ .cedoc-filter-card,
.fenix-ui-cedoc-lista ~ .documents-panel {
    border: 1px solid #dce3e8;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

.fenix-ui-cedoc-lista ~ .cedoc-summary-grid {
    gap: 16px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card {
    padding: 18px 20px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-header {
    margin-bottom: 14px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-grid {
    gap: 14px 16px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card label {
    display: block;
    margin-bottom: 7px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card input,
.fenix-ui-cedoc-lista ~ .cedoc-filter-card select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #fff;
    color: #26323c;
    font-size: 14px;
    box-sizing: border-box;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card input {
    padding: 0 12px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card select {
    padding: 0 35px 0 12px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card input:focus,
.fenix-ui-cedoc-lista ~ .cedoc-filter-card select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-actions {
    margin-top: 14px;
    gap: 10px;
}

.fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-actions .btn {
    min-height: 42px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

.fenix-ui-cedoc-lista ~ .documents-panel {
    overflow: hidden;
}

.fenix-ui-cedoc-lista ~ .documents-panel .documents-panel-header {
    padding: 16px 20px;
}

.fenix-ui-cedoc-lista ~ .documents-panel .documents-table th {
    padding: 10px 16px;
    font-size: 11px;
}

.fenix-ui-cedoc-lista ~ .documents-panel .documents-table td {
    padding: 9px 16px;
    vertical-align: middle;
}

.fenix-ui-cedoc-lista ~ .documents-panel .documents-table tbody tr:hover {
    background: #fbfcfc;
}

@media (max-width: 760px) {
    .fenix-ui-cedoc-lista ~ .cedoc-filter-card {
        padding: 16px;
    }

    .fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-grid {
        grid-template-columns: 1fr;
    }

    .fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-actions {
        flex-direction: column-reverse;
    }

    .fenix-ui-cedoc-lista ~ .cedoc-filter-card .cedoc-filter-actions .btn {
        width: 100%;
    }
}

/* FIM — FENIX_CEDOC_LISTAGEM_VISUAL_V1 */


/* =========================================================
   FENIX_CEDOC_DETALHE_VISUAL_V1
   Padronização visual opt-in do Detalhe CEDOC
   ========================================================= */

/*
   A classe .fenix-ui-cedoc-detalhe fica no cabeçalho da
   página. Os blocos seguintes são irmãos posteriores,
   mantendo esta intervenção restrita ao Detalhe CEDOC.
*/

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-detail-card,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card {
    background: #fff;
    border: 1px solid #dce3e8;
    border-radius: 12px;
    box-shadow: 0 2px 7px rgba(30, 45, 58, .035);
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid {
    gap: 16px;
    margin-bottom: 16px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-detail-card,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card {
    padding: 18px 20px;
    margin-bottom: 16px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-detail-card-header,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-detail-card-header {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf1f3;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-detail-card-header h2,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-detail-card-header h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-data-list {
    gap: 14px 20px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-data-list > div {
    min-width: 0;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-data-list strong,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-location-box strong {
    font-size: 12px;
    line-height: 1.3;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-data-list span {
    line-height: 1.4;
}

/* Localização física */

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-location-box {
    border: 1px solid #e2e8ec;
    border-radius: 8px;
    padding: 12px 14px;
    background: #fbfcfc;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-location-box p {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.4;
}

/* Campos operacionais */

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .fenix-ui-field,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card .fenix-ui-field {
    min-width: 0;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .fenix-ui-field label,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card .fenix-ui-field label {
    display: block;
    margin-bottom: 7px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card input,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card select,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card input,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #fff;
    color: #26323c;
    font-size: 14px;
    box-sizing: border-box;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card input,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card input {
    padding: 0 12px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card select,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card select {
    padding: 0 35px 0 12px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card textarea,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card textarea {
    width: 100%;
    min-height: 72px;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #fff;
    color: #26323c;
    font-size: 14px;
    line-height: 1.4;
    padding: 10px 12px;
    box-sizing: border-box;
    resize: vertical;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card input:focus,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card select:focus,
.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card textarea:focus,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card input:focus,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card select:focus,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

/* Ações */

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-action-buttons,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card .cedoc-action-buttons {
    gap: 10px;
    margin-top: 14px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-action-buttons .btn,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card .cedoc-action-buttons .btn {
    min-height: 42px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

/* Bloco operacional de atendimento */

.fenix-ui-cedoc-detalhe ~ .cedoc-action-card {
    padding: 18px 20px;
    margin-bottom: 16px;
}

/* Informação de permissão */

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-permission-info,
.fenix-ui-cedoc-detalhe ~ .cedoc-action-card .cedoc-permission-info {
    margin-top: 12px;
    border-radius: 8px;
}

/* Histórico */

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-timeline {
    margin-top: 4px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-timeline-item {
    padding-bottom: 14px;
}

.fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-timeline-content p {
    line-height: 1.4;
}

/* Responsividade */

@media (max-width: 760px) {

    .fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid {
        grid-template-columns: 1fr;
    }

    .fenix-ui-cedoc-detalhe ~ .cedoc-detail-grid .cedoc-detail-card,
    .fenix-ui-cedoc-detalhe ~ .cedoc-detail-card,
    .fenix-ui-cedoc-detalhe ~ .cedoc-action-card {
        padding: 16px;
    }

    .fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-action-buttons,
    .fenix-ui-cedoc-detalhe ~ .cedoc-action-card .cedoc-action-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .fenix-ui-cedoc-detalhe ~ .cedoc-detail-card .cedoc-action-buttons .btn,
    .fenix-ui-cedoc-detalhe ~ .cedoc-action-card .cedoc-action-buttons .btn {
        width: 100%;
    }
}

/* FIM — FENIX_CEDOC_DETALHE_VISUAL_V1 */


/* =========================================================
   FENIX_CEDOC_SOLICITACAO_SELECT_FIX_V1
   Correção Safari / padronização dos selects
   Nova Solicitação CEDOC
   ========================================================= */

/*
   A tela Nova Solicitação já utiliza .fenix-ui-page.
   O formulário é o card irmão imediatamente posterior
   ao cabeçalho da página. A regra abaixo permanece
   restrita a esse formulário.
*/

.page-heading.fenix-ui-page + .fenix-form-card.fenix-ui-card select {
    display: block;
    width: 100%;

    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px;

    margin: 0;
    padding: 0 38px 0 12px !important;

    border: 1px solid #d6dee4 !important;
    border-radius: 8px !important;

    background-color: #fff;

    color: #26323c;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 40px;

    box-sizing: border-box;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, #52616d 50%),
        linear-gradient(135deg, #52616d 50%, transparent 50%);
    background-position:
        calc(100% - 17px) 18px,
        calc(100% - 12px) 18px;
    background-size:
        5px 5px,
        5px 5px;
    background-repeat: no-repeat;

    cursor: pointer;
}

.page-heading.fenix-ui-page + .fenix-form-card.fenix-ui-card select:hover {
    border-color: #c5d0d7 !important;
}

.page-heading.fenix-ui-page + .fenix-form-card.fenix-ui-card select:focus {
    outline: none;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

/* Mantém os demais controles na mesma régua visual */

.page-heading.fenix-ui-page + .fenix-form-card.fenix-ui-card input:not([type="hidden"]) {
    min-height: 42px;
    border-radius: 8px;
}

.page-heading.fenix-ui-page + .fenix-form-card.fenix-ui-card .fenix-ui-field label {
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 700;
}

/* FIM — FENIX_CEDOC_SOLICITACAO_SELECT_FIX_V1 */

/* ==========================================================
   FENIX_IMPORTACAO_DETALHE_TOPO_V1
   Detalhe do Lote — cabeçalho, resumo, indicadores e fluxo
   ========================================================== */

.fenix-importacao-detalhe-page + .card {
    margin-top: 20px !important;
    padding: 18px 20px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(30,45,58,.035) !important;
}

.fenix-importacao-detalhe-page + .card > div:first-child {
    align-items: center !important;
    gap: 16px !important;
}

.fenix-importacao-detalhe-page + .card h2 {
    margin: 4px 0 3px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    color: #202d36 !important;
}

.fenix-importacao-detalhe-page + .card span {
    padding: 6px 12px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
}

/* Cinco indicadores imediatamente após o resumo do lote */
.fenix-importacao-detalhe-page + .card + div {
    gap: 12px !important;
    margin-top: 14px !important;
}

.fenix-importacao-detalhe-page + .card + div > .card {
    min-width: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(30,45,58,.025) !important;
}

.fenix-importacao-detalhe-page + .card + div > .card small {
    display: block !important;
    margin-bottom: 5px !important;
    color: #71808a !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.fenix-importacao-detalhe-page + .card + div > .card h2 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #202d36 !important;
}

/* Fluxo operacional — primeiro section após os indicadores */
.fenix-importacao-detalhe-page + .card + div + section {
    margin: 16px 0 20px 0 !important;
    padding: 18px 20px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(30,45,58,.035) !important;
}

.fenix-importacao-detalhe-page + .card + div + section > div:first-child {
    margin-bottom: 4px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    letter-spacing: .06em !important;
}

.fenix-importacao-detalhe-page + .card + div + section > h2 {
    margin: 0 0 14px 0 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    color: #202d36 !important;
}

.fenix-importacao-detalhe-page + .card + div + section > div:nth-of-type(2) {
    gap: 8px !important;
}

.fenix-importacao-detalhe-page + .card + div + section > div:nth-of-type(2) > div,
.fenix-importacao-detalhe-page + .card + div + section > div:nth-of-type(2) > a {
    min-width: 0 !important;
    padding: 11px 12px !important;
    border-radius: 8px !important;
}

.fenix-importacao-detalhe-page + .card + div + section > div:last-child {
    margin-top: 12px !important;
    padding-top: 12px !important;
    font-size: 12px !important;
}

/* Responsividade somente deste bloco */
@media (max-width: 1100px) {
    .fenix-importacao-detalhe-page + .card + div {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }

    .fenix-importacao-detalhe-page + .card + div + section > div:nth-of-type(2) {
        grid-template-columns: repeat(3, minmax(130px,1fr)) !important;
    }
}

@media (max-width: 760px) {
    .fenix-importacao-detalhe-page + .card + div {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    .fenix-importacao-detalhe-page + .card + div + section > div:nth-of-type(2) {
        grid-template-columns: 1fr !important;
    }
}

/* FIM — FENIX_IMPORTACAO_DETALHE_TOPO_V1 */

/* ==========================================================
   FENIX_IMPORTACAO_CLASSIFICACAO_VISUAL_V1
   Detalhe do Lote — Classificação
   ========================================================== */

.fenix-importacao-classificacao {
    margin: 0;
}

.fenix-importacao-classificacao > h2 {
    margin: 0 0 4px 0 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    color: #202d36 !important;
}

.fenix-importacao-classificacao > p {
    margin: 0 0 16px 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.fenix-importacao-classificacao form > div:first-of-type {
    gap: 14px 16px !important;
}

/* Labels */
.fenix-importacao-classificacao form label {
    color: #29343e !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

/* Selects oficiais FÊNIX */
.fenix-importacao-classificacao .fenix-select-lote {
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 38px 0 12px !important;

    border: 1px solid #d6dee4 !important;
    border-radius: 8px !important;

    background-color: #ffffff !important;

    color: #26323c !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 42px !important;

    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    background-image:
        linear-gradient(45deg, transparent 50%, #60717d 50%),
        linear-gradient(135deg, #60717d 50%, transparent 50%) !important;

    background-position:
        calc(100% - 16px) 18px,
        calc(100% - 11px) 18px !important;

    background-size:
        5px 5px,
        5px 5px !important;

    background-repeat: no-repeat !important;

    box-shadow: none !important;
    outline: none !important;
}

.fenix-importacao-classificacao .fenix-select-lote:hover {
    border-color: #c3cdd4 !important;
}

.fenix-importacao-classificacao .fenix-select-lote:focus {
    border-color: var(--fenix-primary, #e87522) !important;
    box-shadow: 0 0 0 3px rgba(232,117,34,.12) !important;
}

/* Ajuda da Classe Documental */
.fenix-importacao-classificacao
    #id_classe_documental_lote + div {
    margin-top: 6px !important;
    color: #748491 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Bloco usar nome do arquivo como título */
.fenix-importacao-classificacao form > div:nth-last-of-type(2) {
    margin-top: 16px !important;
    padding: 13px 15px !important;

    border: 1px solid #dce3e8 !important;
    border-radius: 10px !important;

    background: #f8fafb !important;
}

.fenix-importacao-classificacao
    input[name="usar_nome_arquivo_como_titulo"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;

    margin: 0 !important;

    accent-color: var(--fenix-primary, #e87522);
}

/* Botão salvar */
.fenix-importacao-classificacao form > div:last-of-type {
    margin-top: 14px !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.fenix-importacao-classificacao form > div:last-of-type .btn {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Aviso de lote concluído */
.fenix-importacao-classificacao > div {
    margin-top: 14px !important;
    padding: 13px 15px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 10px !important;
    background: #f8fafb !important;
    color: #52616c !important;
    font-size: 13px !important;
}

/* Responsivo */
@media (max-width: 760px) {
    .fenix-importacao-classificacao form > div:first-of-type {
        grid-template-columns: 1fr !important;
    }

    .fenix-importacao-classificacao form > div:last-of-type {
        justify-content: stretch !important;
    }

    .fenix-importacao-classificacao form > div:last-of-type .btn {
        width: 100% !important;
    }
}

/* FIM — FENIX_IMPORTACAO_CLASSIFICACAO_VISUAL_V1 */



/* FENIX_IMPORTACAO_ARQUIVOS_VISUAL_V1 */

.fenix-importacao-arquivos-card {
    margin-top: 20px;
}

.fenix-importacao-arquivos-header h2 {
    margin: 0;
}

.fenix-importacao-arquivos-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
}

.fenix-importacao-arquivos-aviso {
    margin-top: 14px;
    padding: 13px 14px;
    border: 1px solid #dbe3ea;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 14px;
    line-height: 1.4;
}

.fenix-importacao-arquivos-form {
    margin-top: 16px;
}

.fenix-importacao-upload-box {
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
}

.fenix-importacao-upload-label {
    margin-bottom: 8px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
}

.fenix-importacao-upload-control {
    width: 100%;
}

.fenix-importacao-upload-ajuda {
    margin-top: 8px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.fenix-importacao-arquivos-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.fenix-importacao-arquivos-actions .btn {
    min-height: 42px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

.fenix-importacao-arquivos-resumo {
    margin-top: 16px;
    padding: 11px 14px;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 14px;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .fenix-importacao-upload-box {
        padding: 14px;
    }

    .fenix-importacao-arquivos-actions {
        display: block;
    }

    .fenix-importacao-arquivos-actions .btn {
        width: 100%;
    }
}

/* FIM — FENIX_IMPORTACAO_ARQUIVOS_VISUAL_V1 */


/* ============================================================
   FENIX_ELIMINACAO_FILTRO_VISUAL_V1
   Padronização visual do filtro da Eliminação Controlada
   Referência: FENIX UI Foundation / Pesquisa Documental
   ============================================================ */

.eliminacao-filter {
    align-items: end;
    gap: 14px 16px;
}

.eliminacao-filter .fenix-field {
    min-width: 0;
}

.eliminacao-filter .fenix-field label {
    display: block;
    margin: 0 0 7px;
    color: #29343e;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.eliminacao-filter input[type="text"],
.eliminacao-filter select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;

    border: 1px solid #d6dee4;
    border-radius: 8px;

    background: #ffffff;
    color: #26323c;

    font-size: 14px;
    line-height: normal;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.eliminacao-filter input[type="text"] {
    padding: 0 12px;
}

.eliminacao-filter select {
    padding: 0 35px 0 12px;
}

.eliminacao-filter input[type="text"]:focus,
.eliminacao-filter select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .12);
}

.eliminacao-filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.eliminacao-filter-actions .btn {
    min-height: 42px;
    height: 42px;
    box-sizing: border-box;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .eliminacao-filter {
        grid-template-columns: 1fr;
    }

    .eliminacao-filter-actions {
        width: 100%;
    }

    .eliminacao-filter-actions .btn {
        flex: 1 1 0;
    }
}

/* FIM — FENIX_ELIMINACAO_FILTRO_VISUAL_V1 */



/* FENIX_ELIMINACAO_NOVA_LISTAGEM_VISUAL_V1 */

.fenix-ui-eliminacao-nova .fenix-field input[type="text"],
.fenix-ui-eliminacao-nova .fenix-field input:not([type]),
.fenix-ui-eliminacao-nova input#id_codigo,
.fenix-ui-eliminacao-nova input#id_titulo {
    width: 100%;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #fff;
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    color: #26323c;
}

.fenix-ui-eliminacao-nova textarea#id_justificativa,
.fenix-ui-eliminacao-nova textarea#id_observacoes {
    width: 100%;
    min-height: 78px;
    box-sizing: border-box;
    border: 1px solid #d6dee4;
    border-radius: 8px;
    background: #fff;
    padding: 10px 12px;
    font: inherit;
    font-size: 14px;
    line-height: 1.45;
    color: #26323c;
    resize: vertical;
}

.fenix-ui-eliminacao-nova input#id_codigo:focus,
.fenix-ui-eliminacao-nova input#id_titulo:focus,
.fenix-ui-eliminacao-nova textarea#id_justificativa:focus,
.fenix-ui-eliminacao-nova textarea#id_observacoes:focus {
    outline: none;
    border-color: var(--fenix-primary, #e87522);
    box-shadow: 0 0 0 3px rgba(232, 117, 34, .10);
}

.fenix-ui-eliminacao-nova .fenix-field label {
    display: block;
    margin-bottom: 7px;
    color: #29343e;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
}

.fenix-ui-eliminacao-nova .eliminacao-form-grid,
.fenix-ui-eliminacao-nova .eliminacao-text-grid {
    gap: 14px 16px;
}

.fenix-ui-eliminacao-nova .eliminacao-table th {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: middle;
}

.fenix-ui-eliminacao-nova .eliminacao-table td {
    padding-top: 9px;
    padding-bottom: 9px;
    vertical-align: middle;
}

.fenix-ui-eliminacao-nova .eliminacao-check-column input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    vertical-align: middle;
    accent-color: var(--fenix-primary, #e87522);
}

.fenix-ui-eliminacao-nova .eliminacao-form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.fenix-ui-eliminacao-nova .eliminacao-form-actions .btn {
    min-height: 42px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 760px) {
    .fenix-ui-eliminacao-nova .eliminacao-form-grid,
    .fenix-ui-eliminacao-nova .eliminacao-text-grid {
        grid-template-columns: 1fr;
    }

    .fenix-ui-eliminacao-nova .eliminacao-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .fenix-ui-eliminacao-nova .eliminacao-form-actions .btn {
        width: 100%;
    }
}

/* FIM — FENIX_ELIMINACAO_NOVA_LISTAGEM_VISUAL_V1 */
