/*
 * Painel administrativo — AdminLTE 4 (Bootstrap 5.3) com as cores da marca
 * Cultura Britânica & Americana: azul #133886, marinho #0d1749, amarelo #fbca00.
 */

:root, [data-bs-theme=light] {
    --cba-blue: #133886;
    --cba-blue-rgb: 19, 56, 134;
    --cba-blue-dark: #012f5d;
    --cba-navy: #0d1749;
    --cba-yellow: #fbca00;
    --cba-yellow-rgb: 251, 202, 0;
    --cba-orange: #f88535;

    --bs-primary: var(--cba-blue);
    --bs-primary-rgb: var(--cba-blue-rgb);
    --bs-primary-text-emphasis: #0b2152;
    --bs-primary-bg-subtle: #d0d8ea;
    --bs-primary-border-subtle: #a1b0d4;
    --bs-link-color: var(--cba-blue);
    --bs-link-color-rgb: var(--cba-blue-rgb);
    --bs-link-hover-color: var(--cba-blue-dark);
    --bs-link-hover-color-rgb: 1, 47, 93;
    --bs-warning: var(--cba-yellow);
    --bs-warning-rgb: var(--cba-yellow-rgb);
    --bs-body-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --bs-focus-ring-color: rgba(var(--cba-blue-rgb), .25);
}

.btn-primary {
    --bs-btn-bg: var(--cba-blue); --bs-btn-border-color: var(--cba-blue);
    --bs-btn-hover-bg: var(--cba-blue-dark); --bs-btn-hover-border-color: var(--cba-blue-dark);
    --bs-btn-active-bg: var(--cba-navy); --bs-btn-active-border-color: var(--cba-navy);
    --bs-btn-disabled-bg: var(--cba-blue); --bs-btn-disabled-border-color: var(--cba-blue);
}
.btn-outline-primary {
    --bs-btn-color: var(--cba-blue); --bs-btn-border-color: var(--cba-blue);
    --bs-btn-hover-bg: var(--cba-blue); --bs-btn-hover-border-color: var(--cba-blue);
    --bs-btn-active-bg: var(--cba-blue-dark); --bs-btn-active-border-color: var(--cba-blue-dark);
}
.form-control:focus, .form-select:focus { border-color: var(--cba-blue); box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); }

/* Ícones SVG (symfony/ux-icons) no lugar da fonte de ícones */
.nav-icon svg, .btn svg, .dropdown-item svg, .input-group-text svg { width: 1.1em; height: 1.1em; vertical-align: -.15em; }

/* ---------- Menu lateral na cor da marca ---------- */
.app-sidebar.sidebar-cba {
    --lte-sidebar-hover-bg: rgba(255, 255, 255, .08);
    --lte-sidebar-color: rgba(255, 255, 255, .8);
    --lte-sidebar-hover-color: #fff;
    --lte-sidebar-active-color: #fff;
    --lte-sidebar-menu-active-bg: var(--cba-blue);
    --lte-sidebar-menu-active-color: #fff;
    --lte-sidebar-header-color: rgba(255, 255, 255, .5);
    background: var(--cba-navy) !important;
}
.sidebar-cba .sidebar-brand { border-bottom-color: rgba(255, 255, 255, .1); }
.sidebar-cba .brand-link { text-decoration: none; }
.sidebar-cba .brand-link .brand-mark {
    display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: .5rem;
    background: var(--cba-yellow); color: var(--cba-navy); font-weight: 800; font-size: .8rem; letter-spacing: -.02em;
}
.sidebar-cba .brand-text { color: #fff; font-weight: 700 !important; }
.sidebar-cba .sidebar-menu .nav-link.active { box-shadow: inset 3px 0 0 var(--cba-yellow); }
.sidebar-cba .nav-icon svg { width: 1.1rem; height: 1.1rem; }

/* ---------- Cabeçalho ---------- */
.app-header .user-image { width: 2rem; height: 2rem; object-fit: cover; }
.user-menu .user-header { background: linear-gradient(120deg, var(--cba-navy), var(--cba-blue)); color: #fff; }
.user-menu .user-header img { width: 5rem; height: 5rem; object-fit: cover; border: 3px solid rgba(255, 255, 255, .3); }

/* ---------- Dashboard ---------- */
.small-box .small-box-icon { width: 4.5rem; height: 4.5rem; opacity: .25; }
.small-box.text-bg-brand { background: var(--cba-yellow) !important; color: var(--cba-navy) !important; }
.small-box.text-bg-navy { background: var(--cba-navy) !important; color: #fff !important; }
.small-box.text-bg-promo { background: var(--cba-orange) !important; color: #fff !important; }
.small-box .small-box-footer svg { width: 1em; height: 1em; vertical-align: -.125em; }
.quick-actions .btn { text-align: start; }

/* ---------- Login ---------- */
.login-page.login-cba {
    background: linear-gradient(135deg, var(--cba-navy), var(--cba-blue)) !important;
    min-height: 100vh;
}
.login-cba .login-box { width: min(400px, 92vw); }
.login-cba .card { border: 0; border-radius: 1rem; overflow: hidden; box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .3); }
.login-cba .login-logo { background: #fff; margin: 0; padding: 1.5rem 1.5rem .5rem; }
.login-cba .login-logo img { max-height: 90px; width: auto; }
.login-cba .card-footer { background: #f7f9fc; }
.login-cba .btn-primary { padding: .65rem 1rem; font-weight: 600; }

.toast-container { z-index: 1090; }

/* ---------- Detalhes e formulários ---------- */
.admin-rich-text img { max-width: 100%; height: auto; border-radius: .5rem; }
.admin-rich-text table { width: 100%; margin-bottom: 1rem; }
.admin-rich-text table td, .admin-rich-text table th { border: 1px solid var(--bs-border-color); padding: .4rem .6rem; }
.admin-form .tox-tinymce { border-radius: var(--bs-border-radius); }
.admin-form .is-invalid + .tox-tinymce, .admin-form .tox-tinymce:has(+ .invalid-feedback) { border-color: var(--bs-form-invalid-border-color); }
