/* === BRINKS MEDIA THEME VOOR PERFEX CRM === */
/* Maakt mijn.brinks.media een visueel verlengstuk van brinks.media */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
    --bm-primary: #2868d4;
    --bm-primary-dark: #1f54b8;
    --bm-primary-light: #e8f0fc;
    --bm-white: #ffffff;
    --bm-bg: #f5f5f5;
    --bm-light: #f1f1f1;
    --bm-dark: #1a1a1a;
    --bm-gray: #666666;
    --bm-gray-light: #999999;
    --bm-border: #e5e5e5;
    --bm-border-light: #f0f0f0;
    --bm-success: #22c55e;
    --bm-warning: #f59e0b;
    --bm-danger: #ef4444;
    --bm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --bm-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --bm-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
    --bm-radius: 12px;
    --bm-radius-sm: 8px;
    --bm-transition: all 0.2s ease;
}

/* ============================================ */
/* === GLOBAL FONT (ICOON-VEILIG)           === */
/* ============================================ */

/* Montserrat op tekst-elementen ZONDER !important,
   zodat Font Awesome's eigen regels altijd winnen */
body, html, p, div, a, button, input, textarea, select, label,
td, th, li, dt, dd, blockquote, figcaption, small, strong, em, b,
h1, h2, h3, h4, h5, h6,
.btn, .form-control, .panel-heading, .panel-body, .modal-title,
.breadcrumb, .alert, .well,
.navbar-brand, .navbar-nav > li > a {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Font Awesome 6 — met !important zodat het altijd wint */
.fa, .fas, .fa-solid,
.fa::before, .fas::before, .fa-solid::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.far, .fa-regular,
.far::before, .fa-regular::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.fab, .fa-brands,
.fab::before, .fa-brands::before {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.fal, .fa-light,
.fal::before, .fa-light::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 300 !important;
    font-style: normal !important;
}

/* Alle i-elementen met fa- class */
i[class*="fa-"],
i.fa, i.fas, i.far, i.fab, i.fal, i.fad,
i[class*="fa-"]::before {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
}

/* Glyphicons */
.glyphicon, .glyphicon::before {
    font-family: 'Glyphicons Halflings' !important;
    font-style: normal !important;
}

/* Material Icons */
.material-icons {
    font-family: 'Material Icons' !important;
    font-style: normal !important;
}

body, html {
    color: var(--bm-dark) !important;
    background-color: var(--bm-bg) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* === HEADINGS === */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700 !important;
    color: var(--bm-dark) !important;
    letter-spacing: -0.02em !important;
}

/* === LINKS === */
a {
    color: var(--bm-primary) !important;
    transition: var(--bm-transition) !important;
}

a:hover {
    color: var(--bm-primary-dark) !important;
}

/* ============================================ */
/* === ADMIN LOGIN PAGINA                   === */
/* ============================================ */

body.login_admin {
    background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 50%, #e8f0fc 100%) !important;
    min-height: 100vh !important;
}

.authentication-form-wrapper {
    max-width: 460px !important;
}

.authentication-form-wrapper .tw-bg-white,
.authentication-form-wrapper > div:last-child {
    background: var(--bm-white) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow-lg) !important;
    border: 1px solid var(--bm-border-light) !important;
    padding: 40px !important;
}

.authentication-form-wrapper h1,
.authentication-form-wrapper .tw-text-2xl {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--bm-dark) !important;
}

.authentication-form-wrapper p,
.authentication-form-wrapper .tw-text-neutral-600 {
    color: var(--bm-gray) !important;
}

.company-logo img {
    max-height: 56px !important;
    width: auto !important;
}

/* ============================================ */
/* === KLANT LOGIN PAGINA                   === */
/* ============================================ */

body.customers {
    background: var(--bm-bg) !important;
}

/* Login heading styling */
.login-heading {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--bm-dark) !important;
    margin-bottom: 4px !important;
}

/* Subtitel onder login heading */
.login-heading::after {
    content: 'Mijn Brinks Media';
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--bm-gray);
    margin-top: 6px;
    letter-spacing: 0;
}

/* Login form card */
.login-form .panel_s {
    background: var(--bm-white) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow-lg) !important;
    border: 1px solid var(--bm-border-light) !important;
    overflow: hidden !important;
}

.login-form .panel_s .panel-body {
    padding: 36px 32px !important;
}

/* Login knop */
.login-form .btn-primary.btn-block {
    padding: 14px 20px !important;
    font-size: 15px !important;
    margin-top: 8px !important;
}

/* Wachtwoord vergeten link */
.login-form .text-muted {
    color: var(--bm-gray) !important;
    font-size: 13px !important;
}

.login-form .text-muted:hover {
    color: var(--bm-primary) !important;
}

/* ============================================ */
/* === KLANT PORTAAL NAVIGATIE              === */
/* ============================================ */

/* Top navbar */
.customers .navbar.header {
    background: var(--bm-white) !important;
    border-bottom: 1px solid var(--bm-border-light) !important;
    box-shadow: var(--bm-shadow-sm) !important;
    margin-bottom: 0 !important;
    min-height: 64px !important;
}

.customers .navbar.header .navbar-brand,
.customers .navbar.header .navbar-brand.logo {
    padding: 12px 15px !important;
}

.customers .navbar.header .navbar-brand img,
.customers .navbar.header .logo img {
    max-height: 40px !important;
    width: auto !important;
}

.customers .navbar-default .navbar-nav > li > a {
    color: var(--bm-dark) !important;
    font-weight: 500 !important;
    padding: 20px 16px !important;
    transition: var(--bm-transition) !important;
}

.customers .navbar-default .navbar-nav > li > a:hover,
.customers .navbar-default .navbar-nav > li.active > a {
    color: var(--bm-primary) !important;
    background: transparent !important;
}

/* Profiel afbeelding in navbar */
.customers .client-profile-image-small {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* Klant submenu (bestanden, kalender) */
.customer-top-submenu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    gap: 8px !important;
    border-bottom: 1px solid var(--bm-border-light) !important;
    padding-bottom: 16px !important;
}

.customer-top-submenu li a {
    color: var(--bm-gray) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    padding: 8px 16px !important;
    border-radius: var(--bm-radius-sm) !important;
    transition: var(--bm-transition) !important;
    text-decoration: none !important;
}

.customer-top-submenu li a:hover {
    background: var(--bm-primary-light) !important;
    color: var(--bm-primary) !important;
}

/* Klantenportaal content wrapper */
.customers #wrapper {
    background: var(--bm-bg) !important;
}

.customers #content {
    padding-top: 24px !important;
}

/* Klantenportaal panels */
.customers .panel_s,
.customers .panel,
.customers .panel-default {
    background: var(--bm-white) !important;
    border: 1px solid var(--bm-border-light) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow-sm) !important;
    overflow: hidden !important;
}

.customers .panel-heading {
    background: var(--bm-white) !important;
    border-bottom: 1px solid var(--bm-border-light) !important;
    padding: 18px 24px !important;
    font-weight: 600 !important;
}

.customers .panel-body {
    padding: 24px !important;
    background: var(--bm-white) !important;
}

/* Klantenportaal tabs */
.customers .nav-tabs > li > a {
    color: var(--bm-gray) !important;
    font-weight: 500 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 12px 20px !important;
    border-radius: 0 !important;
}

.customers .nav-tabs > li.active > a,
.customers .nav-tabs > li > a:hover {
    color: var(--bm-primary) !important;
    border-bottom-color: var(--bm-primary) !important;
    background: transparent !important;
}

/* ============================================ */
/* === FORM INPUTS                          === */
/* ============================================ */

.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
select {
    box-sizing: border-box !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    color: var(--bm-dark) !important;
    background: var(--bm-white) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    height: 44px !important;
    line-height: 42px !important;
    vertical-align: middle !important;
}

/* Textarea apart: auto hoogte, normale line-height */
textarea,
textarea.form-control {
    box-sizing: border-box !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: var(--bm-dark) !important;
    background: var(--bm-white) !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    height: auto !important;
    min-height: 100px !important;
    line-height: 1.6 !important;
    padding: 12px 16px !important;
    resize: vertical !important;
}

/* Select velden: ruimte voor dropdown pijl */
select,
select.form-control {
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

/* Focus state */
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--bm-primary) !important;
    box-shadow: 0 0 0 3px rgba(40, 104, 212, 0.1) !important;
    outline: none !important;
}

/* Disabled state */
.form-control[disabled],
.form-control[readonly],
input[disabled],
select[disabled],
textarea[disabled] {
    background: var(--bm-light) !important;
    color: var(--bm-gray) !important;
    cursor: not-allowed !important;
}

/* Labels */
label,
.control-label {
    color: var(--bm-dark) !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
}

/* Form groups */
.form-group {
    margin-bottom: 20px !important;
}

/* ============================================ */
/* === BUTTONS                              === */
/* ============================================ */

.btn {
    border-radius: var(--bm-radius-sm) !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: var(--bm-transition) !important;
    border: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.btn-primary,
.btn-info {
    background: var(--bm-primary) !important;
    color: var(--bm-white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-info:hover,
.btn-info:focus {
    background: var(--bm-primary-dark) !important;
    color: var(--bm-white) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(40, 104, 212, 0.25) !important;
}

.btn-success {
    background: var(--bm-success) !important;
    color: var(--bm-white) !important;
}

.btn-success:hover,
.btn-success:focus {
    background: #1ca94e !important;
    color: var(--bm-white) !important;
}

.btn-warning {
    background: var(--bm-warning) !important;
    color: var(--bm-white) !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background: #d98c09 !important;
    color: var(--bm-white) !important;
}

.btn-danger {
    background: var(--bm-danger) !important;
    color: var(--bm-white) !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background: #dc2626 !important;
    color: var(--bm-white) !important;
}

.btn-default {
    background: var(--bm-white) !important;
    color: var(--bm-dark) !important;
    border: 1px solid var(--bm-border) !important;
}

.btn-default:hover {
    background: var(--bm-light) !important;
    border-color: var(--bm-gray-light) !important;
}

/* Knoppen met iconen: icoon spacing */
.btn .fa,
.btn .fas,
.btn .far,
.btn .fab,
.btn i[class*="fa-"] {
    margin-right: 6px !important;
}

/* Login button specifiek */
.authentication-form-wrapper .btn-primary,
.authentication-form-wrapper .btn[type="submit"] {
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    margin-top: 8px !important;
}

/* ============================================ */
/* === ADMIN SIDEBAR                        === */
/* ============================================ */

#menu.sidebar {
    background: var(--bm-dark) !important;
    border-right: none !important;
}

/* Sidebar links */
#menu.sidebar ul.nav > li > a {
    color: rgba(255, 255, 255, 0.7) !important;
    border: none !important;
    padding: 11px 20px !important;
    transition: var(--bm-transition) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

#menu.sidebar ul.nav > li > a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--bm-white) !important;
}

#menu.sidebar ul.nav > li.active > a {
    background: var(--bm-primary) !important;
    color: var(--bm-white) !important;
    border-radius: var(--bm-radius-sm) !important;
    margin: 2px 10px !important;
    padding: 11px 14px !important;
}

/* Sidebar iconen */
#menu.sidebar ul.nav > li > a i,
#menu.sidebar ul.nav > li > a .menu-icon {
    color: inherit !important;
    font-size: 16px !important;
    width: 20px !important;
    text-align: center !important;
}

/* Sidebar sub-menus */
#menu.sidebar .collapse ul,
#menu.sidebar .collapsing ul {
    background: rgba(0, 0, 0, 0.15) !important;
}

#menu.sidebar .collapse ul li a,
#menu.sidebar .collapsing ul li a {
    padding-left: 52px !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

#menu.sidebar .collapse ul li a:hover,
#menu.sidebar .collapsing ul li a:hover {
    color: var(--bm-white) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

#menu.sidebar .collapse ul li.active a {
    color: var(--bm-white) !important;
    background: rgba(40, 104, 212, 0.3) !important;
}

/* Sidebar arrow icoon */
#menu.sidebar .fa.fa-arrow,
#menu.sidebar .fa-arrow {
    font-size: 10px !important;
    opacity: 0.5 !important;
}

/* Sidebar user profile card */
#menu.sidebar .sidebar-user-profile .profile {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--bm-white) !important;
    border-radius: var(--bm-radius-sm) !important;
}

#menu.sidebar .sidebar-user-profile .profile:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

#menu.sidebar .sidebar-user-profile .profile span {
    color: var(--bm-white) !important;
}

#menu.sidebar .sidebar-user-profile .profile .tw-text-neutral-500,
#menu.sidebar .sidebar-user-profile .profile .tw-text-neutral-300 {
    color: rgba(255, 255, 255, 0.6) !important;
}

#menu.sidebar .sidebar-user-profile .staff-profile-image-small {
    border-radius: 50% !important;
}

/* Customizer knop */
#menu.sidebar .open-customizer {
    color: rgba(255, 255, 255, 0.5) !important;
}

#menu.sidebar .open-customizer:hover {
    color: var(--bm-white) !important;
}

/* ============================================ */
/* === TOPBAR / HEADER (admin)              === */
/* ============================================ */

#header,
.admin-header {
    background: var(--bm-white) !important;
    border-bottom: 1px solid var(--bm-border-light) !important;
    box-shadow: var(--bm-shadow-sm) !important;
}

/* Topbar zoekbalk */
#top_search,
.top-search-container,
[id*="top_search"] {
    background: var(--bm-light) !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: var(--bm-radius-sm) !important;
    overflow: hidden !important;
}

#top_search input,
input[name="search"],
.header input[type="search"],
.header input[type="text"].search {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--bm-dark) !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    height: 38px !important;
    line-height: 38px !important;
}

#top_search input:focus {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

#top_search button {
    background: transparent !important;
    border: none !important;
    color: var(--bm-gray) !important;
    padding: 0 14px !important;
}

/* Topbar nav items */
.navbar-default .navbar-nav > li > a {
    color: var(--bm-dark) !important;
    transition: var(--bm-transition) !important;
}

.navbar-default .navbar-nav > li > a:hover {
    color: var(--bm-primary) !important;
}

/* Topbar iconen */
.navbar-nav > li > a > i,
.navbar-nav > li > a > .fa {
    color: var(--bm-gray) !important;
    font-size: 16px !important;
}

.navbar-nav > li > a:hover > i,
.navbar-nav > li > a:hover > .fa {
    color: var(--bm-primary) !important;
}

/* ============================================ */
/* === CONTENT AREA                         === */
/* ============================================ */

#wrapper,
.wrapper {
    background: var(--bm-bg) !important;
}

.content-wrapper,
.main-content,
#page-wrapper {
    background: var(--bm-bg) !important;
}

/* ============================================ */
/* === CARDS / PANELS                       === */
/* ============================================ */

.panel,
.panel-default,
.panel_s,
.card {
    background: var(--bm-white) !important;
    border: 1px solid var(--bm-border-light) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow-sm) !important;
    overflow: hidden !important;
}

.panel-heading,
.card-header {
    background: var(--bm-white) !important;
    border-bottom: 1px solid var(--bm-border-light) !important;
    padding: 18px 24px !important;
    font-weight: 600 !important;
    color: var(--bm-dark) !important;
}

.panel-body,
.card-body {
    padding: 24px !important;
    background: var(--bm-white) !important;
}

.panel-footer {
    background: var(--bm-light) !important;
    border-top: 1px solid var(--bm-border-light) !important;
}

/* ============================================ */
/* === TABELLEN                             === */
/* ============================================ */

.table {
    background: var(--bm-white) !important;
}

.table > thead > tr > th {
    background: var(--bm-light) !important;
    color: var(--bm-dark) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bm-border) !important;
    border-top: none !important;
}

.table > tbody > tr > td {
    padding: 14px 16px !important;
    border-top: 1px solid var(--bm-border-light) !important;
    color: var(--bm-dark) !important;
    vertical-align: middle !important;
}

.table > tbody > tr:hover {
    background: var(--bm-light) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fafafa !important;
}

/* DataTables */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--bm-border) !important;
    border-radius: var(--bm-radius-sm) !important;
    padding: 6px 12px !important;
}

/* ============================================ */
/* === TABS                                 === */
/* ============================================ */

.nav-tabs {
    border-bottom: 1px solid var(--bm-border) !important;
}

.nav-tabs > li > a {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    color: var(--bm-gray) !important;
    font-weight: 500 !important;
    padding: 14px 20px !important;
    margin-bottom: -1px !important;
    transition: var(--bm-transition) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.nav-tabs > li > a:hover {
    background: transparent !important;
    color: var(--bm-primary) !important;
    border-bottom-color: var(--bm-border) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    background: transparent !important;
    color: var(--bm-primary) !important;
    border: none !important;
    border-bottom: 2px solid var(--bm-primary) !important;
    font-weight: 600 !important;
}

/* ============================================ */
/* === BADGES / LABELS                      === */
/* ============================================ */

.label,
.badge {
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.label-success, .badge-success { background: var(--bm-success) !important; color: var(--bm-white) !important; }
.label-warning, .badge-warning { background: var(--bm-warning) !important; color: var(--bm-white) !important; }
.label-danger, .badge-danger { background: var(--bm-danger) !important; color: var(--bm-white) !important; }
.label-info, .badge-info { background: var(--bm-primary) !important; color: var(--bm-white) !important; }
.label-default, .badge-default { background: var(--bm-light) !important; color: var(--bm-dark) !important; }
.label-primary, .badge-primary { background: var(--bm-primary) !important; color: var(--bm-white) !important; }

/* ============================================ */
/* === ALERTS                               === */
/* ============================================ */

.alert {
    border-radius: var(--bm-radius-sm) !important;
    border: none !important;
    padding: 16px 20px !important;
    border-left: 4px solid !important;
}

.alert-success { background: #f0fdf4 !important; border-left-color: var(--bm-success) !important; color: #166534 !important; }
.alert-warning { background: #fffbeb !important; border-left-color: var(--bm-warning) !important; color: #92400e !important; }
.alert-danger { background: #fef2f2 !important; border-left-color: var(--bm-danger) !important; color: #991b1b !important; }
.alert-info { background: var(--bm-primary-light) !important; border-left-color: var(--bm-primary) !important; color: var(--bm-primary-dark) !important; }

/* ============================================ */
/* === MODALS                               === */
/* ============================================ */

.modal-content {
    border-radius: var(--bm-radius) !important;
    border: none !important;
    box-shadow: var(--bm-shadow-lg) !important;
}

.modal-header {
    border-bottom: 1px solid var(--bm-border-light) !important;
    padding: 20px 24px !important;
}

.modal-body {
    padding: 24px !important;
}

.modal-footer {
    border-top: 1px solid var(--bm-border-light) !important;
    padding: 16px 24px !important;
}

/* ============================================ */
/* === DROPDOWNS                            === */
/* ============================================ */

.dropdown-menu {
    border-radius: 8px !important;
    border: 1px solid var(--bm-border-light) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    padding: 6px 0 !important;
    margin-top: 4px !important;
    min-width: 200px !important;
}

.dropdown-menu > li {
    line-height: normal !important;
}

.dropdown-menu > li > a,
.dropdown-menu li a:not(.btn) {
    padding: 10px 20px !important;
    line-height: 1.5 !important;
    font-size: 14px !important;
    color: var(--bm-dark) !important;
    white-space: nowrap !important;
    transition: all 0.15s ease !important;
    display: block !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu li a:not(.btn):hover {
    background: var(--bm-light) !important;
    color: var(--bm-primary) !important;
}

.dropdown-menu .divider {
    margin: 6px 0 !important;
    background-color: var(--bm-border-light) !important;
    height: 1px !important;
}

.dropdown-header {
    padding: 8px 20px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--bm-gray) !important;
    font-weight: 600 !important;
}

/* Dropdown iconen */
.dropdown-menu > li > a > i,
.dropdown-menu li a i.fa,
.dropdown-menu li a i[class*="fa-"] {
    margin-right: 10px !important;
    width: 16px !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Submenus */
.dropdown-submenu .dropdown-menu {
    margin-top: 0 !important;
    margin-left: 4px !important;
}

/* Caret */
.btn .caret {
    margin-left: 6px !important;
}

/* ============================================ */
/* === PAGINATION                           === */
/* ============================================ */

.pagination > li > a,
.pagination > li > span {
    color: var(--bm-dark) !important;
    border: 1px solid var(--bm-border) !important;
    margin: 0 2px !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
}

.pagination > li.active > a,
.pagination > li.active > span,
.pagination > li > a:hover {
    background: var(--bm-primary) !important;
    color: var(--bm-white) !important;
    border-color: var(--bm-primary) !important;
}

/* ============================================ */
/* === TOOLTIPS                             === */
/* ============================================ */

.tooltip-inner {
    background: var(--bm-dark) !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
}

/* ============================================ */
/* === PROGRESS BARS                        === */
/* ============================================ */

.progress {
    border-radius: 6px !important;
    background-color: var(--bm-light) !important;
    box-shadow: none !important;
    height: 8px !important;
}

.progress-bar {
    background-color: var(--bm-primary) !important;
    border-radius: 6px !important;
}

.progress-bar-success { background-color: var(--bm-success) !important; }
.progress-bar-warning { background-color: var(--bm-warning) !important; }
.progress-bar-danger { background-color: var(--bm-danger) !important; }

/* ============================================ */
/* === BREADCRUMBS                          === */
/* ============================================ */

.breadcrumb {
    background: transparent !important;
    padding: 12px 0 !important;
    margin-bottom: 20px !important;
}

.breadcrumb a {
    color: var(--bm-gray) !important;
}

.breadcrumb > .active {
    color: var(--bm-dark) !important;
    font-weight: 500 !important;
}

/* ============================================ */
/* === WELL                                 === */
/* ============================================ */

.well {
    background: var(--bm-light) !important;
    border: 1px solid var(--bm-border-light) !important;
    border-radius: var(--bm-radius-sm) !important;
    box-shadow: none !important;
}

/* ============================================ */
/* === SCROLLBARS                           === */
/* ============================================ */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bm-light);
}

::-webkit-scrollbar-thumb {
    background: var(--bm-gray-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bm-gray);
}

/* ============================================ */
/* === TAILWIND OVERRIDES (Perfex 3.x)      === */
/* ============================================ */

[class*="tw-bg-primary"] {
    background-color: var(--bm-primary) !important;
}

[class*="tw-text-primary"] {
    color: var(--bm-primary) !important;
}

[class*="tw-border-primary"] {
    border-color: var(--bm-primary) !important;
}

body.login_admin .tw-bg-neutral-100 {
    background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 50%, #e8f0fc 100%) !important;
}

.tw-rounded-lg {
    border-radius: var(--bm-radius) !important;
}

.tw-rounded-md {
    border-radius: var(--bm-radius-sm) !important;
}

/* ============================================ */
/* === DASHBOARD WIDGETS                    === */
/* ============================================ */

.widget {
    background: var(--bm-white) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow-sm) !important;
    border: 1px solid var(--bm-border-light) !important;
}

.quick-stats-invoices .panel,
.quick-stats .panel {
    border-radius: var(--bm-radius) !important;
    overflow: hidden !important;
}

/* ============================================ */
/* === CHECKBOX / RADIO                     === */
/* ============================================ */

.chk input[type="checkbox"]:checked + span::before,
.chk input[type="checkbox"]:checked + label::before {
    background: var(--bm-primary) !important;
    border-color: var(--bm-primary) !important;
}

/* ============================================ */
/* === SELECTIZE / SELECT2                  === */
/* ============================================ */

/* Selectize input */
.selectize-input {
    box-sizing: border-box !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    min-height: 44px !important;
    padding: 6px 12px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.selectize-input.focus {
    border-color: var(--bm-primary) !important;
    box-shadow: 0 0 0 3px rgba(40, 104, 212, 0.1) !important;
}

.selectize-dropdown {
    border: 1px solid var(--bm-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    margin-top: 4px !important;
}

.selectize-dropdown .active {
    background: var(--bm-primary) !important;
    color: var(--bm-white) !important;
}

.selectize-dropdown [data-selectable] {
    padding: 10px 16px !important;
    line-height: 1.5 !important;
}

/* Select2 single */
.select2-container--default .select2-selection--single {
    box-sizing: border-box !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border: 1px solid var(--bm-border) !important;
    background: var(--bm-white) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 16px !important;
    padding-right: 40px !important;
    color: var(--bm-dark) !important;
    font-size: 14px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    width: 40px !important;
    right: 0 !important;
    top: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--bm-gray) transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
    margin-left: -5px !important;
    margin-top: -3px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--bm-gray) transparent !important;
    border-width: 0 5px 6px 5px !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--bm-primary) !important;
    box-shadow: 0 0 0 3px rgba(40, 104, 212, 0.1) !important;
    outline: none !important;
}

/* Select2 multi */
.select2-container--default .select2-selection--multiple {
    box-sizing: border-box !important;
    min-height: 44px !important;
    border-radius: 8px !important;
    border: 1px solid var(--bm-border) !important;
    padding: 4px 8px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--bm-primary-light) !important;
    border: 1px solid var(--bm-primary) !important;
    color: var(--bm-primary-dark) !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    margin-top: 4px !important;
    margin-right: 5px !important;
    font-size: 13px !important;
}

/* Select2 dropdown */
.select2-dropdown {
    border: 1px solid var(--bm-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
    margin-top: 4px !important;
}

.select2-container--default .select2-results__option {
    padding: 10px 16px !important;
    line-height: 1.5 !important;
    font-size: 14px !important;
    color: var(--bm-dark) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option:hover {
    background: var(--bm-primary) !important;
    color: var(--bm-white) !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: var(--bm-primary-light) !important;
    color: var(--bm-primary) !important;
}

.select2-search--dropdown .select2-search__field {
    box-sizing: border-box !important;
    border: 1px solid var(--bm-border) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    height: 38px !important;
    line-height: 22px !important;
}

/* Bootstrap-select */
.bootstrap-select .dropdown-menu li a span.text {
    line-height: 1.5 !important;
}

/* ============================================ */
/* === FOOTER                               === */
/* ============================================ */

footer,
.footer {
    background: var(--bm-white) !important;
    border-top: 1px solid var(--bm-border-light) !important;
    color: var(--bm-gray) !important;
}

/* ============================================ */
/* === KLANTPORTAAL DASHBOARD               === */
/* ============================================ */

.customers .home-stats .panel,
.customers .stats-widget {
    transition: var(--bm-transition) !important;
}

.customers .home-stats .panel:hover,
.customers .stats-widget:hover {
    box-shadow: var(--bm-shadow) !important;
    transform: translateY(-2px) !important;
}

/* ============================================ */
/* === MOBIEL                               === */
/* ============================================ */

@media (max-width: 768px) {
    .authentication-form-wrapper {
        padding: 0 16px !important;
    }

    .authentication-form-wrapper .tw-bg-white,
    .authentication-form-wrapper > div:last-child {
        padding: 28px 20px !important;
    }

    .panel-body, .card-body {
        padding: 16px !important;
    }

    .login-form .panel_s .panel-body {
        padding: 24px 20px !important;
    }

    .customers .navbar-toggle {
        border-color: var(--bm-border) !important;
    }

    .customers .navbar-toggle .icon-bar {
        background-color: var(--bm-dark) !important;
    }

    .customer-top-submenu {
        flex-wrap: wrap !important;
    }
}
