/* CRM theme: retains the application's Bootstrap components and behavior. */
@media screen {
    body.crm-purple {
        --crm-primary: #7040c8;
        --crm-hover: #582ca7;
        --crm-soft: #f0eafa;
        --crm-border: #e9e4f0;
        --crm-muted: #726a80;
        color: #30283e;
        font-family: "Segoe UI", Arial, sans-serif;
        background: #f8f7fb;
    }
    .crm-purple .wrapper, .crm-purple .content-wrapper { background: #f8f7fb; }
    .crm-purple a { color: var(--crm-primary); }
    .crm-purple a.btn-primary, .crm-purple a.btn-danger, .crm-purple a.btn-success { color: #fff; }
    .crm-purple h1, .crm-purple h2, .crm-purple h3 { color: #30283e; }
    .crm-purple .panel { border-color: var(--crm-border); border-radius: 12px; box-shadow: 0 4px 18px rgba(52,27,88,.035); }
    .crm-purple .panel-default > .panel-heading { background: #f7f3fc; color: #514260; border-color: var(--crm-border); }
    .crm-purple .panel-primary > .panel-heading { background: var(--crm-primary); border-color: var(--crm-primary); color: #fff; }
    .crm-purple .nav-pills > li.active > a, .crm-purple .nav-pills > li.active > a:hover { background: var(--crm-primary); border-color: var(--crm-primary); color: #fff; }
    .crm-purple .nav-tabs > li.active > a { color: var(--crm-primary); }
    .crm-purple .btn.bg-blue, .crm-purple .btn.bg-light-blue, .crm-purple .btn.bg-purple,
    .crm-purple .btn.bg-navy { background: var(--crm-primary) !important; border-color: var(--crm-primary); color: #fff !important; }
    .crm-purple .btn.bg-aqua, .crm-purple .btn.bg-info { background: var(--crm-soft) !important; border-color: #e0d4f3; color: var(--crm-primary) !important; }
    .crm-purple .label-primary, .crm-purple .label-info { background: var(--crm-primary); }
    .crm-purple .select2-container--default .select2-selection--multiple { border-color: #dcd5e7; border-radius: 8px; }
    .crm-purple .select2-container--default .select2-selection--multiple .select2-selection__choice { background: var(--crm-soft); border-color: #e0d4f3; color: var(--crm-primary); }
    .crm-purple .daterangepicker td.active, .crm-purple .daterangepicker .ranges li.active { background: var(--crm-primary); border-color: var(--crm-primary); }
    .crm-purple .pagination > .disabled > a, .crm-purple .pagination > .disabled > span { color: #91869e; }
    .crm-purple .content-header-custom { background: #f0eafa !important; }
    .crm-purple .content-header-custom h1, .crm-purple .content-header-custom small { color: #514260 !important; }
    .crm-purple .content-custom { background: transparent !important; }
    .crm-purple .content { padding: 22px 26px; }
    .crm-purple .content-header { padding: 24px 26px 0; }
    .crm-purple .content-header h1 { font-size: 28px; font-weight: 700; letter-spacing: -.6px; }
    .crm-purple .main-header .navbar, .crm-purple .main-header .logo {
        background: #7040c8;
        color: #fff;
    }
    .crm-purple .main-header .navbar .sidebar-toggle:hover { background: #582ca7; }
    .crm-purple .main-sidebar { background: #fff; border-right: 1px solid var(--crm-border); }
    .crm-purple .sidebar > .logo { color: var(--crm-primary); background: #fff; font-weight: 700; }
    .crm-purple .sidebar-menu > li > a { color: #625970; border-radius: 9px; margin: 4px 10px; padding: 12px; }
    .crm-purple .sidebar-menu > li:hover > a,
    .crm-purple .sidebar-menu > li.active > a,
    .crm-purple .sidebar-menu > li.menu-open > a {
        background: var(--crm-soft); color: var(--crm-primary); border-left-color: var(--crm-primary);
    }
    .crm-purple .sidebar-menu > li > .treeview-menu { background: #faf8fd; }
    .crm-purple .treeview-menu > li > a { color: #625970; padding-top: 9px; padding-bottom: 9px; }
    .crm-purple .treeview-menu > li.active > a, .crm-purple .treeview-menu > li > a:hover { color: var(--crm-primary); }
    .crm-purple .sidebar-menu > li.header { background: #fff; color: var(--crm-muted); }
    .crm-purple .crm-navigation {
        margin: 22px 26px 0; border: 1px solid var(--crm-border); border-radius: 14px;
        box-shadow: 0 3px 14px rgba(52, 27, 88, .025);
    }
    .crm-purple .crm-navigation .navbar-brand { color: var(--crm-primary); font-weight: 700; }
    .crm-purple .crm-navigation .navbar-nav > li > a { color: #625970; border-radius: 8px; margin: 6px 2px; padding: 10px 12px; }
    .crm-purple .crm-navigation .navbar-nav > .active > a,
    .crm-purple .crm-navigation .navbar-nav > li > a:hover { background: var(--crm-soft); color: var(--crm-primary); }
    .crm-purple .crm-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    .crm-purple .crm-eyebrow { color: var(--crm-primary); font-size: 11px; font-weight: 700; letter-spacing: 1.7px; }
    .crm-purple .crm-page-heading h1 { margin: 9px 0; }
    .crm-purple .crm-page-heading p { color: var(--crm-muted); margin: 0; line-height: 1.6; }
    .crm-purple .box, .crm-purple .info-box, .crm-purple .nav-tabs-custom {
        border: 1px solid var(--crm-border); border-radius: 14px; background: #fff;
        box-shadow: 0 4px 18px rgba(52, 27, 88, .035);
    }
    .crm-purple .box-header { padding: 18px 20px; }
    .crm-purple .box-header.with-border { border-color: var(--crm-border); }
    .crm-purple .box-title { font-size: 16px; font-weight: 600; }
    .crm-purple .box-body { padding: 18px 20px; }
    .crm-purple .box-footer { border-color: var(--crm-border); border-radius: 0 0 14px 14px; }
    .crm-purple .info-box { padding: 20px; min-height: 110px; margin-bottom: 22px; }
    .crm-purple .info-box .info-box-icon {
        background: var(--crm-soft) !important; color: var(--crm-primary) !important;
        width: 56px; height: 56px; line-height: 56px; border-radius: 14px; font-size: 24px;
    }
    .crm-purple .info-box-content { margin-left: 70px; padding: 0; }
    .crm-purple .info-box-text { color: var(--crm-muted); font-size: 12px; font-weight: 600; text-transform: none; }
    .crm-purple .info-box-number { color: #30283e; font-size: 28px; font-weight: 700; line-height: 1.5; }
    .crm-purple .btn {
        border-radius: 8px; font-weight: 600; padding: 9px 16px; box-shadow: none;
        transition: background-color .15s ease, border-color .15s ease;
    }
    .crm-purple .btn-sm { padding: 6px 11px; font-size: 12px; }
    .crm-purple .btn-xs { padding: 3px 8px; font-size: 12px; }
    .crm-purple .btn-lg { padding: 12px 22px; font-size: 18px; }
    .crm-purple .btn-primary { background: var(--crm-primary); border-color: var(--crm-primary); color: #fff; }
    .crm-purple .btn-primary:hover, .crm-purple .btn-primary:focus,
    .crm-purple .btn-primary.active, .crm-purple .btn-primary:active,
    .crm-purple .open > .dropdown-toggle.btn-primary { background: var(--crm-hover); border-color: var(--crm-hover); }
    .crm-purple .btn-default { background: #fff; border-color: #d9d1e5; color: #514260; }
    .crm-purple .btn-default:hover, .crm-purple .btn-default:focus { background: #f5f1fa; border-color: #bca7db; }
    .crm-purple .btn-info { background: var(--crm-soft); border-color: #e0d4f3; color: #6032ae; }
    .crm-purple .btn-info:hover, .crm-purple .btn-info.active, .crm-purple .btn-info:active { background: var(--crm-primary); border-color: var(--crm-primary); color: #fff; }
    .crm-purple .btn-group > .btn:not(:first-child):not(:last-child) { border-radius: 0; }
    .crm-purple .btn-group > .btn:first-child:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
    .crm-purple .btn-group > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
    .crm-purple .btn:focus-visible, .crm-purple a:focus-visible { outline: 3px solid #ae8ee4; outline-offset: 3px; }
    .crm-purple .form-control { border-color: #dcd5e7; border-radius: 8px; box-shadow: none; }
    .crm-purple input.form-control, .crm-purple select.form-control { height: 40px; }
    .crm-purple .form-control:focus { border-color: var(--crm-primary); box-shadow: 0 0 0 3px rgba(112, 64, 200, .12); }
    .crm-purple .input-group .form-control:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
    .crm-purple .input-group .form-control:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
    .crm-purple .input-group-addon { border-color: #dcd5e7; background: #f8f5fc; color: var(--crm-primary); }
    .crm-purple .select2-container--default .select2-selection--single { border-color: #dcd5e7; border-radius: 8px; min-height: 40px; }
    .crm-purple .select2-container--default .select2-selection--single .select2-selection__arrow { top: 7px; }
    .crm-purple .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--crm-primary); }
    .crm-purple .table > thead > tr > th { background: #faf8fd; color: #726582; font-size: 12px; font-weight: 600; border-bottom: 1px solid var(--crm-border); padding: 13px 12px; }
    .crm-purple .table > tbody > tr > td { padding: 13px 12px; border-color: #eeeaf3; vertical-align: middle; }
    .crm-purple .table-bordered, .crm-purple .table-bordered > thead > tr > th { border-color: var(--crm-border); }
    .crm-purple .table-striped > tbody > tr:nth-of-type(odd) { background: #fdfcfe; }
    .crm-purple .table-hover > tbody > tr:hover { background: #f7f3fc; }
    .crm-purple .pagination > li > a, .crm-purple .pagination > li > span { color: var(--crm-primary); border-color: var(--crm-border); }
    .crm-purple .pagination > .active > a, .crm-purple .pagination > .active > span { background: var(--crm-primary); border-color: var(--crm-primary); color: #fff; }
    .crm-purple .nav-tabs-custom > .nav-tabs > li.active { border-top-color: var(--crm-primary); }
    .crm-purple .modal-content { border-radius: 16px; border: 1px solid var(--crm-border); box-shadow: 0 18px 70px rgba(41, 20, 70, .18); }
    .crm-purple .modal-header, .crm-purple .modal-footer { padding: 20px 24px; border-color: var(--crm-border); }
    .crm-purple .modal-body { padding: 24px; }
    .crm-purple .dropdown-menu { border: 1px solid var(--crm-border); border-radius: 10px; box-shadow: 0 8px 24px rgba(41, 20, 70, .1); }
    .crm-purple .dropdown-menu > li > a { padding: 9px 18px; }
    .crm-purple .dropdown-menu > li > a:hover { background: var(--crm-soft); color: var(--crm-primary); }
    .crm-purple .main-footer { background: #fff; border-color: var(--crm-border); color: var(--crm-muted); }
    .crm-purple .text-primary, .crm-purple .text-info, .crm-purple .text-aqua { color: var(--crm-primary) !important; }
    .crm-purple .crm-business-card .widget-user-header {
        background: #f3edfb !important; color: #514260 !important; border-radius: 14px 14px 0 0; padding: 24px;
    }
    .crm-purple .crm-business-card .widget-user-username { color: #43246c; font-weight: 700; font-size: 23px; margin-left: 0; }
    .crm-purple .crm-business-card .widget-user-desc { margin-left: 0; line-height: 1.6; overflow-wrap: anywhere; color: #625970; }
    .crm-purple .crm-business-card .widget-user-image img { float: none; margin-bottom: 14px; }
    .crm-purple .crm-business-card .box-footer { display: flex; flex-wrap: wrap; gap: 7px; padding: 18px; }
    .crm-purple .crm-business-card .box-footer .btn { padding: 7px 10px; }
    .crm-purple .pos-tab-container { border: 1px solid var(--crm-border); border-radius: 14px; box-shadow: 0 4px 18px rgba(52,27,88,.035); }
    .crm-purple .pos-tab-menu .list-group > a { border-color: var(--crm-border); color: #625970; padding: 14px 12px; }
    .crm-purple .pos-tab-menu .list-group > a.active,
    .crm-purple .pos-tab-menu .list-group > a.active:hover,
    .crm-purple .pos-tab-menu .list-group > a.active:focus { background: var(--crm-primary) !important; color: #fff !important; border-color: var(--crm-primary); }
    .crm-purple .pos-tab-menu .list-group > a.active::after { border-left-color: var(--crm-primary) !important; }
    .crm-purple .pos-tab-content { padding: 20px; }
    .crm-purple.lockscreen { background: #f8f7fb !important; }
    .crm-purple.lockscreen .pos-header { background: #7040c8; color: #fff; padding-top: 8px; padding-bottom: 8px; margin-bottom: 16px; }
    .crm-purple.lockscreen .pos-header .text-muted { color: #e0d4f3; }
    .crm-purple.lockscreen .pos-header .btn { background: #8c62d1 !important; border-color: #ab8ce0 !important; color: #fff !important; border-radius: 7px; }
    .crm-purple.lockscreen .pos-header .btn:hover { background: #582ca7 !important; }
    .crm-purple.lockscreen .pos-form-actions { background: #fff; border-top: 1px solid var(--crm-border); box-shadow: 0 -4px 18px rgba(52,27,88,.05); padding-top: 12px; padding-bottom: 12px; }
    .crm-purple.lockscreen .pos-form-actions .btn { margin-bottom: 5px; }
    .crm-purple.lockscreen #pos-draft, .crm-purple.lockscreen #pos-quotation,
    .crm-purple.lockscreen #pos-table { background: var(--crm-soft) !important; color: var(--crm-primary) !important; border-color: #e0d4f3; }
    .crm-purple.lockscreen #pos-finalize,
    .crm-purple.lockscreen .pos-form-actions .btn-success { background: var(--crm-primary) !important; border-color: var(--crm-primary); color: #fff !important; }
    .crm-purple.lockscreen #total_payable { color: var(--crm-primary) !important; }
    .crm-purple.lockscreen #product_list_body { background: #fff; border: 1px solid var(--crm-border); border-radius: 14px; padding: 16px; }
    .crm-purple.lockscreen .content { padding-bottom: 110px !important; }
    @media (max-width: 767px) {
        .crm-purple .pos-tab-menu, .crm-purple .pos-tab { width: 100%; }
        .crm-purple .pos-tab-menu .list-group { display: flex; overflow-x: auto; }
        .crm-purple .pos-tab-menu .list-group > a { flex: 0 0 auto; }
        .crm-purple .pos-tab-menu .list-group > a.active::after { display: none; }
        .crm-purple .pos-tab-content { padding: 15px 0; }
        .crm-purple.lockscreen .content { padding-bottom: 240px !important; }
    }
    .crm-purple .main-header { box-shadow: none; }
    .crm-purple .main-sidebar { box-shadow: none; }
    .crm-purple .main-header .btn-success {
        background: rgba(255, 255, 255, .15); border-color: rgba(255, 255, 255, .25); color: #fff;
    }
    .crm-purple .main-header .btn-success:hover { background: rgba(255, 255, 255, .25); }
    .crm-purple .sidebar-menu > li > a::before { color: var(--crm-primary); }
    /* Override legacy skin rules that force blue on active and hovered links. */
    body.crm-purple .main-sidebar .sidebar-menu > li.active > a,
    body.crm-purple .main-sidebar .sidebar-menu > li.menu-open > a,
    body.crm-purple .main-sidebar .sidebar-menu > li > a:hover,
    body.crm-purple .main-sidebar .sidebar-menu > li > a:focus {
        background: var(--crm-primary) !important; color: #fff !important;
        border-left-color: var(--crm-primary) !important;
    }
    body.crm-purple .main-sidebar .sidebar-menu > li.active > a::before,
    body.crm-purple .main-sidebar .sidebar-menu > li > a:hover::before { color: #fff; }
    body.crm-purple .main-header .btn.bg-blue {
        background: rgba(255, 255, 255, .15) !important;
        border-color: rgba(255, 255, 255, .25); color: #fff !important;
    }
    body.crm-purple .main-header .btn.bg-blue:hover,
    body.crm-purple .main-header .btn.bg-blue:focus { background: rgba(255, 255, 255, .25) !important; }
    .crm-purple .dashboard-purple .info-box-number { font-size: 24px; overflow-wrap: anywhere; }
    .crm-purple .dashboard-purple .info-box-text { white-space: normal; line-height: 1.5; }
    .crm-purple .dashboard-purple .row-custom { display: flex; flex-wrap: wrap; }
    .crm-purple .dashboard-purple .row-custom > .col-custom { display: flex; }
    .crm-purple .dashboard-purple .info-box { width: 100%; }
    .crm-purple .dashboard-purple .box { margin-bottom: 24px; }
    .crm-purple .dashboard-purple .btn-group { padding: 4px; background: #f0eafa; border-radius: 11px; }
    .crm-purple .dashboard-purple .btn-group .btn { border: 0; border-radius: 7px; }
    .crm-purple .dashboard-purple .btn-group .btn.active { box-shadow: 0 2px 5px rgba(70, 32, 118, .12); }
    @media (max-width: 767px) {
        .crm-purple .dashboard-purple .btn-group { display: flex; float: none !important; margin-top: 12px; }
        .crm-purple .dashboard-purple .btn-group .btn { flex: 1; padding: 9px 6px; font-size: 11px; }
    }
    @media (max-width: 767px) {
        .crm-purple .content { padding: 16px 12px; }
        .crm-purple .content-header { padding: 20px 12px 0; }
        .crm-purple .crm-navigation { margin: 14px 12px 0; }
        .crm-purple .crm-page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
        .crm-purple .crm-page-heading h1 { font-size: 25px; }
        .crm-purple .box-body, .crm-purple .box-header { padding: 14px; }
        .crm-purple .box-header > .box-tools { position: static; margin-top: 10px; }
        .crm-purple .box-header::after { content: ""; display: block; clear: both; }
        .crm-purple .info-box { padding: 16px; }
    }
    @media (prefers-reduced-motion: reduce) {
        .crm-purple .btn { transition: none; }
    }
}
