/* Personalização do Tabler: carregar depois dos estilos do fornecedor. */
:root {
    --tblr-primary: #FFC942;
    --tblr-primary-rgb: 255, 201, 66;
    --tblr-primary-fg: #1F2937;
    --tblr-yellow: #FFC942;
    --tblr-yellow-rgb: 255, 201, 66;
    --tblr-yellow-fg: #1F2937;
    --tblr-warning-fg: #1F2937;
    --tblr-green: #1F7A35;
    --tblr-green-rgb: 31, 122, 53;
    --tblr-success: #1F7A35;
    --tblr-success-rgb: 31, 122, 53;
    --tblr-orange: #B64700;
    --tblr-orange-rgb: 182, 71, 0;
    --tblr-red: #B12626;
    --tblr-red-rgb: 177, 38, 38;
    --tblr-danger: #B12626;
    --tblr-danger-rgb: 177, 38, 38;
    --tblr-body-color: #1F2937;
    --tblr-body-color-rgb: 31, 41, 55;
    --tblr-body-bg-rgb: 249, 250, 251;
    --premia-cor-link: #855600;
    --premia-cor-link-hover: #654100;
    --premia-cor-suave: #58677D;
    --premia-fundo-suave: #F1F5F9;
    --bg-color-light: var(--premia-fundo-suave);
    --box-color: var(--tblr-body-color);
    --box-backgroundcolor: var(--tblr-bg-surface);
}

html[data-bs-theme="dark"], html[data-bs-theme="dark"] body {
    color-scheme: dark;
    --tblr-body-color: #E2E8F0;
    --tblr-body-color-rgb: 226, 232, 240;
    --tblr-body-bg: #131C2E;
    --tblr-body-bg-rgb: 19, 28, 46;
    --tblr-bg-surface: #1D293D;
    --tblr-card-bg: #1D293D;
    --tblr-card-color: #E2E8F0;
    --tblr-bg-forms: #172237;
    --tblr-heading-color: #F8FAFC;
    --tblr-border-color: #3A4860;
    --tblr-border-color-light: #303D53;
    --tblr-muted: #B2BED0;
    --bs-body-bg: #131C2E;
    --bs-body-color: #E2E8F0;
    --bs-border-color: #3A4860;
    --bs-secondary-color: #B2BED0;
    --premia-cor-link: #FFD76A;
    --premia-cor-link-hover: #FFE7A6;
    --premia-cor-suave: #B2BED0;
    --premia-fundo-suave: #243249;
}

html, body { background-color: var(--tblr-body-bg); color: var(--tblr-body-color); }
.premia-layout-publico { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.premia-layout-publico > .page { width: 100%; }
.premia-marca-publica { background: #1D273B; padding: 1rem; border-radius: 1rem; }
a, .btn-link { color: var(--premia-cor-link); }
a:hover, .btn-link:hover { color: var(--premia-cor-link-hover); }

.btn-primary, .btn-yellow, .btn-warning {
    --tblr-btn-bg: #FFC942;
    --tblr-btn-border-color: #FFC942;
    --tblr-btn-hover-bg: #EFB62B;
    --tblr-btn-hover-border-color: #EFB62B;
    --tblr-btn-active-bg: #E4A91D;
    --tblr-btn-active-border-color: #E4A91D;
    --tblr-btn-color: #1F2937;
    --tblr-btn-hover-color: #1F2937;
    --tblr-btn-active-color: #1F2937;
    --tblr-btn-disabled-color: #1F2937;
    --tblr-btn-disabled-bg: #FFC942;
}

/* O amarelo sólido conserva primeiro plano escuro nos dois temas. */
.bg-yellow, .bg-warning {
    --tblr-heading-color: #1F2937;
    --tblr-card-color: #1F2937;
    --premia-cor-suave: #374151;
}
.bg-dark { --tblr-heading-color: #F8FAFC; }
.bg-yellow, .bg-warning,
.bg-yellow :is(.text-dark, .text-white, .text-body, .subheader, .card-title),
.bg-warning :is(.text-dark, .text-white),
.theme-dark .card.bg-yellow,
.btn-yellow.text-dark, .btn-primary.text-dark { color: #1F2937 !important; }
.bg-yellow .bg-white-lt { background-color: rgba(255, 255, 255, .45) !important; }
.text-yellow, .text-primary, .text-warning { color: var(--premia-cor-link) !important; }
.bg-dark .text-yellow, .bg-dark .text-primary { color: #FFD76A !important; }
.text-secondary, .text-muted, .page-pretitle, .subheader { color: var(--premia-cor-suave) !important; }
.link-secondary, .link-secondary:hover { color: var(--premia-cor-suave) !important; }
.bg-yellow :is(.text-secondary, .text-muted) { color: #374151 !important; }
.bg-light, .bg-light-subtle, .bg-body-tertiary { background-color: var(--premia-fundo-suave) !important; }

/* Badges suaves não usam o branco reservado às superfícies sólidas. */
.bg-yellow-lt, .bg-yellow-lt.text-yellow-fg { color: var(--premia-cor-link) !important; }
.bg-primary-lt { color: var(--premia-cor-link) !important; }
.bg-green-lt, .bg-green-lt.text-green-fg { color: #17692B !important; }
.bg-orange-lt { color: #9B3D00 !important; }
.bg-blue-lt { color: #175493 !important; }
.bg-red-lt { color: #B12626 !important; }
.bg-secondary-lt, .bg-secondary-lt.text-secondary-fg { color: var(--premia-cor-suave) !important; }
html[data-bs-theme="dark"] .bg-green-lt { color: #8CE6A2 !important; }
html[data-bs-theme="dark"] .bg-orange-lt { color: #FFB580 !important; }
html[data-bs-theme="dark"] .bg-blue-lt { color: #99C9FF !important; }
html[data-bs-theme="dark"] .bg-red-lt { color: #FFA3A3 !important; }

.page-pretitle, .table thead th { font-size: .75rem !important; font-weight: 600; letter-spacing: .04em; }
.text-small { font-size: .75rem !important; font-weight: 400; }
.text-md { font-size: .8125rem !important; }
.table thead th { padding-top: .9rem; padding-bottom: .9rem; }
.table td { padding-top: .85rem; padding-bottom: .85rem; }
.table tbody tr:hover { background-color: var(--premia-fundo-suave); }
.table .btn-list { gap: .4rem; }
.card-title, .modal-title { line-height: 1.4; }
.card-header { gap: .75rem; }
.form-label { font-weight: 600; }
.form-control, .form-select { min-height: 2.5rem; }
.form-control::placeholder { color: var(--premia-cor-suave); opacity: 1; }
.form-control:disabled, .form-select:disabled { color: var(--premia-cor-suave); }
.btn-outline-secondary { --tblr-btn-color: var(--tblr-body-color); }
.btn-outline-danger { --tblr-btn-color: #B12626; }
.alert-warning { color: #855600; }
.alert-info { color: #175493; }
.alert-success { color: #17692B; }
.alert-danger { color: #B12626; }
html[data-bs-theme="dark"] .alert-warning { color: #FFD76A; }
html[data-bs-theme="dark"] .alert-info { color: #99C9FF; }
html[data-bs-theme="dark"] .alert-success { color: #8CE6A2; }
html[data-bs-theme="dark"] .alert-danger { color: #FFA3A3; }
.btn-outline-warning, .btn-outline-yellow, .btn-outline-primary { --tblr-btn-color: var(--premia-cor-link); }
html[data-bs-theme="dark"] .btn-outline-success { --tblr-btn-color: #8CE6A2; }
html[data-bs-theme="dark"] .btn-outline-danger { --tblr-btn-color: #FFA3A3; }
html[data-bs-theme="dark"] .btn-outline-info { --tblr-btn-color: #99C9FF; }
html[data-bs-theme="dark"] :is(.text-danger, .text-red) { color: #FFA3A3 !important; }
html[data-bs-theme="dark"] :is(.text-success, .text-green) { color: #8CE6A2 !important; }
html[data-bs-theme="dark"] .text-orange { color: #FFB580 !important; }
.btn-outline-primary, .btn-outline-warning, .btn-outline-danger, .btn-outline-info,
.btn-outline-success, .btn-outline-secondary { border-color: var(--tblr-border-color) !important; }

.modal-content { border-radius: 1rem; box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .25); overflow: hidden; }
.modal-backdrop { --tblr-backdrop-opacity: .6; }
.btn-close { --tblr-btn-close-opacity: .85; }
.btn-close:hover, .btn-close:focus { opacity: 1; }
.modal-header, .modal-footer { padding: 1rem 1.5rem; }
.modal-body { padding: 1.5rem; }
.modal-footer { gap: .75rem; background-color: var(--premia-fundo-suave); }
.modal-body .card { box-shadow: none; }
.modal-title { font-size: 1.125rem; font-weight: 600; }
.modal-header .modal-title { min-width: 0; flex: 1 1 auto; }
.modal-title .avatar { flex-shrink: 0; }
.modal-title .d-flex > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.modal-header .btn-close { flex-shrink: 0; margin-left: .75rem; }
.modal-body :is(p, .text-break) { overflow-wrap: anywhere; }
.datagrid-content { overflow-wrap: anywhere; }
.datagrid-title, .form-hint { color: var(--premia-cor-suave); }
.bg-dark .text-white-50 { color: #BDC8D8 !important; }
.crm-shell .page-wrapper { min-width: 0; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus {
    box-shadow: 0 0 0 .15rem var(--tblr-body-bg), 0 0 0 .3rem #307FDD;
}
#blazor-error-ui { color: #1F2937; }
.blazor-error-boundary::after { content: "Ocorreu um erro inesperado."; }

@media (max-width: 575.98px) {
    .page-header .row { row-gap: 1rem; }
    .page-header .col-auto { max-width: 100%; }
    .page-header .btn-list { flex-wrap: wrap; gap: .5rem; }
    .card-header { flex-wrap: wrap; }
    .card-footer { flex-wrap: wrap; gap: .75rem; }
    .modal-dialog { margin: .75rem; }
    .modal-header, .modal-body, .modal-footer { padding: 1rem; }
    .modal-footer > .btn { flex: 1 1 auto; }
    .display-4 { font-size: 2.25rem; }
    .display-6 { font-size: 1.75rem; }
    .premia-codigo-mascarado { font-size: clamp(1.25rem, 7vw, 2rem); overflow-wrap: anywhere; }
    .card.bg-yellow .avatar-xl { width: 4rem; height: 4rem; padding: .75rem !important; }
    .card.bg-yellow .avatar-xl img { max-width: 100%; height: auto; }
    .card.bg-yellow .bg-white-lt.p-3 { padding: .75rem !important; }
}
