:root {
    --ad-menu-size: 370px;
}

/* -------------------------------------------------------------------------
 * Formulários CIECC no padrão visual Adianti 8.6
 * ------------------------------------------------------------------------- */
form.form-horizontal > .card,
form.form-horizontal .card {
    border: 1px solid rgba(10, 41, 78, 0.08);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(10, 41, 78, 0.07);
    overflow: hidden;
}

form.form-horizontal .card-header,
form.form-horizontal .panel-heading {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(10, 41, 78, 0.08);
    font-weight: 600;
    color: rgb(10, 41, 78);
    padding: 0.9rem 1.15rem;
}

.fb-field-container.control-label {
    display: flex;
    align-items: center;
    min-height: 38px;
}

.fb-field-container.control-label label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #334155;
    margin-bottom: 0;
}

.fb-field-container.control-label label[style*="red"],
.fb-field-container.control-label label[style*="color: red"] {
    color: #b42318 !important;
}

.fb-field-container .tfield,
.fb-field-container .tcombo,
.fb-field-container select,
.fb-field-container textarea,
.fb-field-container .form-control,
.fb-field-container .select2-container {
    width: 100% !important;
    max-width: 100%;
}

.fb-field-container .tfield,
.fb-field-container .tcombo,
.fb-field-container .form-control {
    min-height: 38px;
    border-radius: 8px;
}

.form-group.tformrow {
    align-items: center;
    margin-bottom: 0.45rem;
}

#adianti_right_panel .form-group.tformrow {
    margin-bottom: 0.65rem;
}

#adianti_right_panel .fb-field-container.control-label {
    min-height: 38px;
}

.card-footer.panel-footer {
    background: #f8fafc;
    border-top: 1px solid rgba(10, 41, 78, 0.08);
    padding: 0.85rem 1.15rem;
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    align-items: center;
}

.card-footer.panel-footer > .btn {
    border-radius: 8px;
}

.card-footer.panel-footer > button.btn:first-child,
.card-footer.panel-footer > .btn.btn-primary {
    background-color: rgb(10, 41, 78);
    border-color: rgb(10, 41, 78);
    color: #fff;
}

.card-footer.panel-footer > button.btn:first-child:hover,
.card-footer.panel-footer > .btn.btn-primary:hover {
    background-color: rgb(14, 56, 104);
    border-color: rgb(14, 56, 104);
    color: #fff;
}

@media (max-width: 767.98px) {
    .form-group.tformrow > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 0.35rem;
    }
}

/* -------------------------------------------------------------------------
 * Listagens, filtros e grelhas (Adianti 8.6)
 * ------------------------------------------------------------------------- */
#adianti_div_content > .tform > .card,
#adianti_div_content > .tvbox > .card,
#adianti_div_content .card.panel {
    border: 1px solid rgba(10, 41, 78, 0.08);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(10, 41, 78, 0.07);
    overflow: hidden;
    background: #fff;
}

#adianti_div_content .card > .card-header,
#adianti_div_content .panel-heading {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid rgba(10, 41, 78, 0.08);
    color: rgb(10, 41, 78);
    font-weight: 600;
    padding: 0.7rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

#adianti_div_content .card-header .btn,
#adianti_div_content .panel-heading .btn {
    border-radius: 8px;
    min-height: 37px;
}

#adianti_div_content .card-header .btn-primary,
#adianti_div_content .panel-heading .btn-primary {
    background-color: rgb(10, 41, 78);
    border-color: rgb(10, 41, 78);
}

#adianti_div_content table.table {
    margin-bottom: 0;
}

#adianti_div_content table.table thead th {
    background: #f8fafc;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(10, 41, 78, 0.08);
    white-space: nowrap;
    padding: 0.7rem 0.85rem;
}

#adianti_div_content table.table tbody td {
    padding: 0.65rem 0.85rem;
    vertical-align: middle;
    color: #1e293b;
}

#adianti_div_content table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
#adianti_div_content table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
    position: relative;
    padding-left: 2.15rem;
    min-width: 3.4rem;
}

#adianti_div_content table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
#adianti_div_content table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
    top: 50%;
    transform: translateY(-50%);
}

#adianti_div_content table.table th.tdatagrid_action,
#adianti_div_content table.table td.tdatagrid_cell.action,
#adianti_div_content table.table th.fatura-actions {
    white-space: nowrap;
    width: 1%;
    vertical-align: middle;
}

.fatura-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    white-space: nowrap;
    vertical-align: middle;
}

.fatura-row-actions a {
    color: #0d6efd;
    line-height: 1;
}

.fatura-row-actions a:hover {
    opacity: 0.75;
}

#adianti_div_content table.table tbody tr:hover {
    background-color: rgba(10, 41, 78, 0.035);
}

#adianti_div_content .tdatagrid_cell a.btn,
#adianti_div_content td.tdatagrid_cell .btn {
    border: 0;
    background: transparent;
    padding: 0.2rem 0.35rem;
    line-height: 1;
    box-shadow: none;
}

#adianti_div_content .tdatagrid_cell a.btn:hover,
#adianti_div_content td.tdatagrid_cell .btn:hover {
    background: rgba(10, 41, 78, 0.06);
    border-radius: 6px;
}

#adianti_div_content .tdatagrid_cell i.fa,
#adianti_div_content .tdatagrid_cell i.fas,
#adianti_div_content .tdatagrid_cell i.far {
    font-size: 0.95rem;
}

#adianti_div_content .card-footer .pagination,
#adianti_div_content nav.tpagenavigation,
#adianti_div_content .tpagenavigation {
    margin: 0;
}

#adianti_div_content .pagination .page-link {
    border-radius: 8px;
    margin: 0 2px;
    color: rgb(10, 41, 78);
}

#adianti_div_content .pagination .page-item.active .page-link,
#adianti_div_content .pagination .page-item.active .page-link span {
    background-color: rgb(10, 41, 78);
    border-color: rgb(10, 41, 78);
    color: #fff;
}

#adianti_div_content .pagination .page-item.active .page-link:hover,
#adianti_div_content .pagination .page-item.active .page-link:focus {
    color: #fff;
    background-color: rgb(14, 56, 104);
    border-color: rgb(14, 56, 104);
}

#adianti_div_content .badge,
#adianti_div_content .label {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

#adianti_right_panel form.form-horizontal .card {
    border: 0;
    box-shadow: none;
}

#adianti_div_content > table.table,
#adianti_div_content > .tvbox > table.table {
    background: #fff;
    border: 1px solid rgba(10, 41, 78, 0.08);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(10, 41, 78, 0.07);
    overflow: hidden;
}

#adianti_div_content .card table.table {
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

a.fin-dash-link {
    color: rgb(10, 41, 78);
    font-weight: 600;
    text-decoration: none;
}

a.fin-dash-link:hover {
    color: rgb(14, 56, 104);
    text-decoration: underline;
}
