/* ==========================================================
   Course Plus - modern theme (loaded last, overrides template)
   Brand: navy #0B2D7A / blue #1E4DB7 / orange #FF9F1C
   ========================================================== */
:root{
  --cp-navy:#0B2D7A; --cp-navy-dark:#071d52; --cp-blue:#1E4DB7; --cp-blue-soft:#eaf0ff;
  --cp-orange:#FF9F1C; --cp-orange-dark:#e88a00; --cp-green:#12a06b; --cp-red:#e5484d; --cp-amber:#f59e0b;
  --cp-bg:#f3f6fc; --cp-card:#fff; --cp-text:#14213d; --cp-muted:#6b7a99; --cp-border:#e3e9f5;
  --cp-radius:16px; --cp-shadow:0 1px 2px rgba(11,45,122,.05),0 10px 30px rgba(11,45,122,.07);
  --cp-shadow-hover:0 2px 4px rgba(11,45,122,.06),0 18px 40px rgba(11,45,122,.13);
  --mis-primary:var(--cp-navy); --mis-accent:var(--cp-orange);
}
html,body,.page-body-wrapper,.main-panel,.content-wrapper{background:var(--cp-bg)!important}
body{color:var(--cp-text);font-family:"Segoe UI","Inter","Nirmala UI",Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased}
html[dir="rtl"] body{font-family:"Segoe UI","Noto Naskh Arabic","Noto Nastaliq Urdu",Tahoma,Arial,sans-serif}
a{color:var(--cp-blue)} a:hover{color:var(--cp-navy)}
h1,h2,h3,h4,h5,h6{color:var(--cp-text);font-weight:700;letter-spacing:-.01em}
.content-wrapper>h3,.content-wrapper h3.mb-4,.content-wrapper .page-title{font-size:1.5rem;position:relative;padding-inline-start:14px;margin-bottom:1.2rem!important}
.content-wrapper>h3::before,.content-wrapper h3.mb-4::before{content:"";position:absolute;inset-inline-start:0;top:.2em;bottom:.2em;width:5px;border-radius:4px;background:linear-gradient(var(--cp-orange),var(--cp-blue))}

/* ---------- Navbar ---------- */
.navbar.default-layout-navbar,.navbar.default-layout-navbar .navbar-menu-wrapper{background:#fff!important;box-shadow:0 1px 0 var(--cp-border),0 8px 24px rgba(11,45,122,.05)!important;border:0!important}
.navbar.default-layout-navbar .navbar-brand-wrapper{background:#fff!important;border-inline-end:1px solid var(--cp-border)}
.navbar .navbar-brand-wrapper .brand-logo img{max-height:46px;width:auto;max-width:190px}
.navbar .navbar-brand-wrapper .brand-logo-mini img{max-height:38px;width:auto}
.navbar .navbar-menu-wrapper .nav-link{color:var(--cp-text)!important;font-weight:600;border-radius:12px;transition:background .15s}
.navbar .navbar-menu-wrapper .nav-link:hover{background:var(--cp-blue-soft)}
.lang-link{background:var(--cp-blue-soft)!important;color:var(--cp-navy)!important;border-radius:999px}
.lang-link.active{background:linear-gradient(135deg,var(--cp-navy),var(--cp-blue))!important;color:#fff!important}
.navbar .dropdown-menu{border:1px solid var(--cp-border);border-radius:14px;box-shadow:var(--cp-shadow);padding:6px}
.navbar .dropdown-item{border-radius:10px;font-weight:600}.navbar .dropdown-item.active,.navbar .dropdown-item:active{background:var(--cp-navy);color:#fff}

/* ---------- Sidebar ---------- */
.sidebar{background:linear-gradient(180deg,var(--cp-navy) 0%,var(--cp-navy-dark) 100%)!important;box-shadow:6px 0 30px rgba(7,29,82,.18)!important;padding-top:8px}
.sidebar .nav .nav-item.nav-profile .nav-link{background:rgba(255,255,255,.07);border-radius:14px;margin:10px 12px 14px;padding:14px 16px;border:1px solid rgba(255,255,255,.08)}
.sidebar .profile-name .name{font-weight:700;font-size:.98rem;margin:0}
.sidebar .profile-name .designation{margin:2px 0 0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.sidebar .nav .nav-item .nav-link{margin:3px 12px!important;padding:11px 14px!important;border-radius:12px!important;color:rgba(255,255,255,.86)!important;font-weight:600;transition:background .15s,transform .15s;position:relative}
.sidebar .nav .nav-item .nav-link:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
.sidebar .nav .nav-item.active>.nav-link,.sidebar .nav .nav-item .nav-link[aria-expanded="true"]{background:rgba(255,255,255,.14)!important;color:#fff!important}
.sidebar .nav .nav-item.active>.nav-link::before{content:"";position:absolute;inset-inline-start:-12px;top:20%;bottom:20%;width:4px;border-radius:0 4px 4px 0;background:var(--cp-orange)}
.sidebar .menu-title{color:inherit!important;font-size:.93rem}
.sidebar .menu-icon{color:var(--cp-orange)!important;width:22px;text-align:center;opacity:.95}
.sidebar .menu-arrow{color:rgba(255,255,255,.55)!important}
.sidebar .nav.sub-menu{padding:4px 0 6px;margin:0 12px;border-inline-start:2px solid rgba(255,255,255,.12)}
.sidebar .nav.sub-menu .nav-item .nav-link{color:rgba(255,255,255,.72)!important;font-weight:500;padding:8px 14px!important;margin:1px 0 1px 10px!important;font-size:.88rem}
.sidebar .nav.sub-menu .nav-item .nav-link:hover,.sidebar .nav.sub-menu .nav-item .nav-link.active{color:#fff!important;background:rgba(255,159,28,.16)!important}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:6px}

/* ---------- Cards ---------- */
.card,.stretch-card>.card,.grid-margin .card{background:var(--cp-card);border:1px solid var(--cp-border)!important;border-radius:var(--cp-radius)!important;box-shadow:var(--cp-shadow)!important}
.card .card-body{padding:1.35rem}
.card-title{font-size:1.05rem;font-weight:700;color:var(--cp-text)}
/* dashboard stat cards */
.row.g-3>[class*=col-] .card.border-primary,.row.g-3>[class*=col-] .card.border-success,.row.g-3>[class*=col-] .card.border-info,
.row.g-3>[class*=col-] .card.border-danger,.row.g-3>[class*=col-] .card.border-warning,.row.g-3>[class*=col-] .card.border-secondary{
  border:1px solid var(--cp-border)!important;border-inline-start-width:5px!important;transition:transform .18s,box-shadow .18s}
.row.g-3>[class*=col-] .card.border-primary{border-inline-start-color:var(--cp-blue)!important}
.row.g-3>[class*=col-] .card.border-success{border-inline-start-color:var(--cp-green)!important}
.row.g-3>[class*=col-] .card.border-info{border-inline-start-color:#0ea5c6!important}
.row.g-3>[class*=col-] .card.border-danger{border-inline-start-color:var(--cp-red)!important}
.row.g-3>[class*=col-] .card.border-warning{border-inline-start-color:var(--cp-orange)!important}
.row.g-3>[class*=col-] .card.border-secondary{border-inline-start-color:#7c8db5!important}
.row.g-3>[class*=col-] .card[class*=border-]:hover{transform:translateY(-3px);box-shadow:var(--cp-shadow-hover)!important}
.card-body>i.fa-2x{width:54px;height:54px;display:inline-grid;place-items:center;border-radius:14px;font-size:1.4rem!important;background:var(--cp-blue-soft);margin-inline-end:14px!important}
.card-body>i.fa-2x.text-primary{color:var(--cp-blue)!important;background:#e8efff}
.card-body>i.fa-2x.text-success{color:var(--cp-green)!important;background:#e2f6ee}
.card-body>i.fa-2x.text-info{color:#0ea5c6!important;background:#def5fa}
.card-body>i.fa-2x.text-danger{color:var(--cp-red)!important;background:#fdeaea}
.card-body>i.fa-2x.text-warning{color:var(--cp-orange-dark)!important;background:#fff2dc}
.card-body>i.fa-2x.text-secondary{color:#5b6b92!important;background:#eceff7}
.card-body>div>p.small{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem!important;font-weight:700;color:var(--cp-muted)!important;margin-bottom:2px!important}
.card-body>div>h5{font-size:1.5rem;font-weight:800;margin:0;color:var(--cp-text)}

/* ---------- Buttons ---------- */
.btn{border-radius:12px!important;font-weight:600!important;padding:.55rem 1.1rem;border:0;transition:transform .12s,box-shadow .15s,filter .15s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-primary,.btn-info{background:linear-gradient(135deg,var(--cp-blue),var(--cp-navy))!important;color:#fff!important;box-shadow:0 6px 16px rgba(30,77,183,.28)}
.btn-success{background:linear-gradient(135deg,#19b57a,var(--cp-green))!important;color:#fff!important;box-shadow:0 6px 16px rgba(18,160,107,.25)}
.btn-danger{background:linear-gradient(135deg,#f0686c,var(--cp-red))!important;color:#fff!important;box-shadow:0 6px 16px rgba(229,72,77,.25)}
.btn-warning{background:linear-gradient(135deg,#ffb347,var(--cp-orange))!important;color:#3b2500!important;box-shadow:0 6px 16px rgba(255,159,28,.3)}
.btn-secondary,.btn-light{background:#eef2fa!important;color:var(--cp-text)!important;box-shadow:none}
.btn-outline-primary{color:var(--cp-blue)!important;border:1.5px solid rgba(30,77,183,.4)!important;background:transparent!important}
.btn-outline-primary:hover{background:var(--cp-blue)!important;color:#fff!important}
.btn-sm{padding:.35rem .75rem;font-size:.82rem}

/* ---------- Forms ---------- */
label{font-weight:600;color:#33415f;font-size:.88rem;margin-bottom:.35rem}
.form-control,.form-select,select.form-control,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{
  min-height:44px;border:1.5px solid #d6deee!important;border-radius:12px!important;background:#fff;color:var(--cp-text);box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.form-control:focus,.form-select:focus,.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--cp-blue)!important;box-shadow:0 0 0 4px rgba(30,77,183,.13)!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:41px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}
.select2-dropdown{border:1px solid var(--cp-border);border-radius:12px;box-shadow:var(--cp-shadow);overflow:hidden}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--cp-navy)}
input[type=checkbox],input[type=radio]{accent-color:var(--cp-blue)}
.form-control::placeholder{color:#9aa7c2}

/* ---------- Tables ---------- */
.table-responsive{border-radius:var(--cp-radius);border:1px solid var(--cp-border);background:#fff;box-shadow:var(--cp-shadow)}
.table{margin:0;background:#fff;color:var(--cp-text)}
.table thead th{background:#f3f6fd;color:#4a5878;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:0!important;border-bottom:1px solid var(--cp-border)!important;padding:14px 16px;white-space:nowrap}
.table td{padding:13px 16px;border-top:1px solid #edf1f9;font-size:.92rem;vertical-align:middle!important}
.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#f7f9ff}
.table-striped tbody tr:nth-of-type(odd){background:#fbfcff}
.table-bordered,.table-bordered td,.table-bordered th{border-color:#edf1f9}
.badge{border-radius:999px;padding:.4em .8em;font-weight:700;font-size:.72rem}
.badge-success,.bg-success{background:#e2f6ee!important;color:#0c7a52!important}
.badge-danger,.bg-danger{background:#fdeaea!important;color:#c0282d!important}
.badge-warning,.bg-warning{background:#fff2dc!important;color:#a35d00!important}
.badge-info,.bg-info{background:#def5fa!important;color:#08748d!important}
.badge-primary,.bg-primary{background:#e8efff!important;color:var(--cp-blue)!important}
.dataTables_wrapper .pagination .page-item.active .page-link,.page-item.active .page-link{background:var(--cp-navy);border-color:var(--cp-navy)}
.page-link{border-radius:10px!important;margin:0 2px;color:var(--cp-navy)}

/* ---------- Alerts ---------- */
.alert{border:0;border-radius:14px;padding:.9rem 1.1rem;font-weight:600}
.alert-success{background:#e2f6ee;color:#0c7a52}.alert-danger{background:#fdeaea;color:#b3262b}
.alert-warning{background:#fff2dc;color:#8a5200}.alert-info{background:#e5f4fb;color:#0a6f88}

/* ---------- Footer ---------- */
.footer{background:transparent!important;border-top:1px solid var(--cp-border);color:var(--cp-muted);padding:16px 24px}

/* ---------- Print: keep clean ---------- */
@media print{.sidebar,.navbar,.footer{display:none!important}body,.content-wrapper,.main-panel{background:#fff!important}.card,.table-responsive{box-shadow:none!important}}
/* ---------- Mobile ---------- */
@media (max-width:991.98px){.sidebar{box-shadow:none}.card .card-body{padding:1.05rem}}
@media (max-width:575.98px){.card-body>div>h5{font-size:1.25rem}.table thead th,.table td{padding:10px 12px}}

/* ---- fixes from preview ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.35;vertical-align:middle}
.btn.w-100,.btn-block{display:flex}
.lang-link{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;padding:0 12px;height:34px;min-width:40px;font-size:.82rem;font-weight:700;text-decoration:none!important}
.content-wrapper>h3::before,.content-wrapper h3.mb-4::before{top:.12em;bottom:.12em}
.card-title,.card h5.card-title{margin-bottom:1rem}
.table-striped tbody tr:nth-of-type(odd),.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:#fbfcff!important;--bs-table-accent-bg:transparent}
.table-striped tbody tr:hover{background-color:#f1f5ff!important}

/* =====================================================================
   SMART FILTER BAR  (auto-applied by js/courseplus-ui.js to GET filter forms)
   Compact controls, placeholders hidden (small labels instead).
   JS adds .cp-one when everything fits on ONE line; otherwise it wraps.
   ===================================================================== */
.cp-filter{background:#fff;border:1px solid var(--cp-border);border-radius:14px;box-shadow:var(--cp-shadow);padding:10px 12px 12px;margin-bottom:1rem;container-type:inline-size;container-name:cpf}
.cp-filter-head{display:none}
.cp-filter form.cp-filter-form{display:flex!important;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:0!important;padding:0!important;width:100%}
.cp-filter form.cp-filter-form>.cp-fcol{flex:1 1 130px;min-width:0;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important;position:relative}
.cp-filter .cp-fl,.cp-filter form label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cp-muted);margin:0 0 3px 2px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cp-filter .form-control,.cp-filter select,.cp-filter input[type=text],.cp-filter input[type=number],.cp-filter input[type=date],.cp-filter input[type=month]{
  width:100%!important;height:34px!important;min-height:34px!important;padding:0 9px!important;font-size:.8rem!important;line-height:normal!important;border-radius:9px!important;border-width:1px!important;background:#fff;text-overflow:ellipsis}
.cp-filter select.form-control,.cp-filter select{padding-inline-end:24px!important}
.cp-filter ::placeholder{color:transparent!important;opacity:0}
.cp-filter .select2-selection__placeholder{color:transparent!important}
.cp-filter .select2-container{width:100%!important;display:block}
.cp-filter .select2-container--default .select2-selection--single{height:34px!important;min-height:34px!important;border-width:1px!important;display:flex;align-items:center;padding:0 24px 0 9px}
.cp-filter .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0!important;line-height:normal!important;font-size:.8rem;color:var(--cp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.cp-filter .select2-container--default .select2-selection--single .select2-selection__arrow{position:absolute;top:0;inset-inline-end:5px;height:100%;width:16px}
.cp-filter .select2-container--default .select2-selection--single .select2-selection__arrow b{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-5px 0 0 -3px;border:0;border-right:2px solid #7d8bab;border-bottom:2px solid #7d8bab;transform:rotate(45deg)}
.cp-filter .select2-container--default .select2-selection--single .select2-selection__clear{position:absolute;inset-inline-end:20px;color:#9aa7c2;font-size:1rem;margin:0}
.cp-filter .select2-container--default .select2-selection--multiple{min-height:34px!important}
.cp-filter select.form-control:not(.select2-hidden-accessible){appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%237d8bab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 9px center}
html[dir="rtl"] .cp-filter select.form-control:not(.select2-hidden-accessible){background-position:left 9px center}
/* active (filled) fields */
.cp-fcol.is-active .form-control,.cp-fcol.is-active input,.cp-fcol.is-active select:not(.select2-hidden-accessible),.cp-fcol.is-active .select2-selection{border-color:var(--cp-blue)!important;background-color:#f3f7ff!important}
.cp-fcol.is-active>.cp-fl,.cp-fcol.is-active>label{color:var(--cp-blue)}
/* actions */
.cp-filter .cp-col-actions{flex:0 0 auto!important;display:flex!important;gap:6px;align-items:center;white-space:nowrap}
.cp-filter .cp-col-actions .btn{height:34px;padding:0 12px;margin:0!important;font-size:.8rem;white-space:nowrap;border-radius:9px!important;gap:6px;box-shadow:none}
.cp-filter .cp-filter-submit,.cp-filter .btn-success.cp-filter-submit{background:linear-gradient(135deg,var(--cp-blue),var(--cp-navy))!important;color:#fff!important;box-shadow:0 4px 10px rgba(30,77,183,.25)!important}
.cp-filter .cp-reset{background:#eef2fa!important;color:#3a4a6b!important}
.cp-filter .cp-reset:hover{background:#e2e9f7!important}
.cp-filter:not(.has-active) .cp-reset{opacity:.75}
.cp-filter form.cp-filter-form>.cp-fcol.cp-col-xs{flex:.5 1 60px}
.cp-filter form.cp-filter-form>.cp-fcol.cp-col-sel{flex:1.2 1 130px}
.cp-filter form.cp-filter-form>.cp-fcol.cp-col-date{flex:1.1 1 130px}

/* --- one line (JS decides when everything fits) --- */
.cp-filter.cp-one form.cp-filter-form{flex-wrap:nowrap}
.cp-filter.cp-one form.cp-filter-form>.cp-fcol{flex:1 1 0}
.cp-filter.cp-one form.cp-filter-form>.cp-fcol.cp-col-xs{flex:.5 1 0;min-width:40px}
.cp-filter.cp-one form.cp-filter-form>.cp-fcol.cp-col-sel{flex:1.2 1 0}
.cp-filter.cp-one form.cp-filter-form>.cp-fcol.cp-col-date{flex:1.1 1 0}
.cp-filter.cp-one form.cp-filter-form>.cp-fcol.cp-col-actions{flex:0 0 auto}
/* crowded desktop: icon-only Reset */
@container cpf (max-width: 1240px){
  .cp-filter.cp-one .cp-reset span{display:none}
  .cp-filter.cp-one .cp-col-actions .cp-reset{width:34px;padding:0!important}
}
/* --- phone: collapsible, 2 per row --- */
@container cpf (max-width: 699px){
  .cp-filter-head{display:block}
  .cp-filter-toggle{width:100%;display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border:1px solid var(--cp-border);border-radius:10px;background:#f7f9ff;color:var(--cp-navy);font-weight:700;font-size:.86rem;cursor:pointer}
  .cp-filter-toggle .cp-chev{margin-inline-start:auto;transition:transform .2s;font-size:.7rem}
  .cp-filter.open .cp-chev{transform:rotate(180deg)}
  .cp-filter .cp-count{background:var(--cp-orange);color:#3b2500;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:.7rem;padding:0 6px}
  .cp-filter .cp-count[hidden]{display:none}
  .cp-filter form.cp-filter-form{display:none!important;margin-top:12px!important}
  .cp-filter.open form.cp-filter-form{display:flex!important}
  .cp-filter form.cp-filter-form>.cp-fcol{flex:1 1 calc(50% - 8px)}
  .cp-filter form.cp-filter-form>.cp-fcol.cp-col-actions{flex:1 1 100%!important}
  .cp-filter .cp-col-actions .btn{flex:1;height:38px}
}
@container cpf (max-width: 380px){
  .cp-filter form.cp-filter-form>.cp-fcol{flex:1 1 100%}
}

/* =====================================================================
   SIDEBAR SUB-MENU  (nicer, with active state)
   ===================================================================== */
.sidebar .nav .nav-item .collapse,.sidebar .nav .nav-item .collapsing{background:transparent}
.sidebar .nav.sub-menu{list-style:none;margin:2px 10px 10px!important;padding:8px 6px!important;border:0!important;border-radius:14px;background:rgba(3,14,50,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 0 0 1px rgba(255,255,255,.05);position:relative}
.sidebar .nav.sub-menu .nav-item{padding:0;margin:0}
.sidebar .nav.sub-menu .nav-item .nav-link{position:relative;display:flex!important;align-items:center;gap:12px;margin:2px 0!important;padding:9px 12px 9px 34px!important;border-radius:10px!important;font-size:.88rem;font-weight:500;letter-spacing:.005em;color:rgba(255,255,255,.74)!important;background:transparent!important;transition:background .18s,color .18s,transform .18s}
html[dir="rtl"] .sidebar .nav.sub-menu .nav-item .nav-link{padding:9px 34px 9px 12px!important}
/* dot indicator (replaces the big white bullets) */
.sidebar .nav.sub-menu .nav-item .nav-link::before{content:""!important;position:absolute!important;inset-inline-start:14px!important;top:50%!important;left:auto;width:6px!important;height:6px!important;margin:-3px 0 0!important;border-radius:50%!important;background:rgba(255,255,255,.32)!important;border:0!important;transition:background .18s,box-shadow .18s,transform .18s}
html[dir="rtl"] .sidebar .nav.sub-menu .nav-item .nav-link::before{left:auto;right:14px!important}
.sidebar .nav.sub-menu .nav-item .nav-link:hover{background:rgba(255,255,255,.09)!important;color:#fff!important;transform:translateX(3px)}
html[dir="rtl"] .sidebar .nav.sub-menu .nav-item .nav-link:hover{transform:translateX(-3px)}
.sidebar .nav.sub-menu .nav-item .nav-link:hover::before{background:var(--cp-orange)!important;transform:scale(1.25)}
/* active page */
.sidebar .nav.sub-menu .nav-item .nav-link.active,.sidebar .nav.sub-menu .nav-item.active>.nav-link{background:linear-gradient(90deg,rgba(255,159,28,.30),rgba(255,159,28,.06))!important;color:#fff!important;font-weight:700;box-shadow:inset 3px 0 0 var(--cp-orange)}
html[dir="rtl"] .sidebar .nav.sub-menu .nav-item .nav-link.active{background:linear-gradient(270deg,rgba(255,159,28,.30),rgba(255,159,28,.06))!important;box-shadow:inset -3px 0 0 var(--cp-orange)}
.sidebar .nav.sub-menu .nav-item .nav-link.active::before{background:var(--cp-orange)!important;box-shadow:0 0 0 4px rgba(255,159,28,.25),0 0 10px rgba(255,159,28,.7)}
.sidebar .nav.sub-menu .nav-item .nav-link:active{transform:scale(.98)}
/* parent group header when open */
.sidebar .nav .nav-item>a[aria-expanded="true"]{background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.07))!important;color:#fff!important}
.sidebar .nav .nav-item>a[aria-expanded="true"] .menu-arrow{transform:rotate(90deg);color:var(--cp-orange)!important}
.sidebar .menu-arrow{transition:transform .25s}
.sidebar .collapse.show .nav.sub-menu{animation:cpSub .22s ease}
@keyframes cpSub{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* align filter columns: no inline-block descender gaps */
.cp-filter .cp-fcol>input,.cp-filter .cp-fcol>select:not(.select2-hidden-accessible),.cp-filter .cp-fcol>.form-control{display:block}
.cp-filter .cp-fcol .select2-container{margin:0!important;vertical-align:top}
.cp-filter .cp-fcol>div,.cp-filter .cp-fcol .form-group{margin:0}
/* top-align columns (labels line up), actions drop below label height */
.cp-filter form.cp-filter-form{align-items:flex-start}
.cp-filter form.cp-filter-form>.cp-fcol.cp-col-actions{margin-top:calc(.62rem * 1.15 + 3px)!important}
@container cpf (max-width: 699px){ .cp-filter form.cp-filter-form>.cp-fcol.cp-col-actions{margin-top:4px!important} }
.cp-filter .cp-col-actions .btn{height:34px!important;min-height:0!important;box-sizing:border-box;padding-top:0!important;padding-bottom:0!important;line-height:1!important}
@container cpf (max-width: 699px){ .cp-filter .cp-col-actions .btn{height:38px!important} }
@container cpf (max-width: 699px){
  .cp-filter form.cp-filter-form>.cp-fcol,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-xs,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-sel,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-date{flex:1 1 calc(50% - 8px)}
  .cp-filter form.cp-filter-form>.cp-fcol.cp-col-actions{flex:1 1 100%}
}
@container cpf (max-width: 380px){
  .cp-filter form.cp-filter-form>.cp-fcol,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-xs,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-sel,.cp-filter form.cp-filter-form>.cp-fcol.cp-col-date{flex:1 1 100%}
}
