/* ============================================================
   智萌CRM - 浅色橙调主题 (全白底，高对比)
   ============================================================ */
:root {
    --primary: #e67e22;
    --primary-dark: #d35400;
    --primary-light: #f39c12;
    --primary-bg: #fef5e7;
    --bg-page: #f5f5f5;
    --bg-card: #ffffff;
    --bg-header: #ffffff;
    --bg-sidebar: #f0f0f0;
    --bg-hover: #fef5e7;
    --text-dark: #111111;
    --text-mid: #333333;
    --text-light: #666666;
    --text-placeholder: #999999;
    --border: #e0e0e0;
    --success: #067d62;
    --warning: #c77d00;
    --danger: #cc0c39;
    --danger-dark: #a80a2e;
    --radius: 4px;
    --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    /* 强制禁用暗色模式 */
    --header-bg: #ffffff !important;
    --header-color: #111111 !important;
    --sidebar-bg: #f0f0f0 !important;
    --sidebar-link-color: #333333 !important;
    --body-bg: #f5f5f5 !important;
    --body-fg: #111111 !important;
    --link-fg: #d35400 !important;
    --link-hover-color: #e67e22 !important;
    --breadcrumbs-bg: #ffffff !important;
    --breadcrumbs-fg: #666666 !important;
    --primary-button-fg: #ffffff !important;
    --primary-button-bg: #e67e22 !important;
}
/* 强制覆盖 theme.js 注入的内联样式 */
html[data-theme="dark"], body[data-theme="dark"],
html[data-theme="dark"] *, body[data-theme="dark"] * {
    --header-bg: #ffffff !important;
    --header-color: #111111 !important;
    --sidebar-bg: #f0f0f0 !important;
    --body-bg: #f5f5f5 !important;
    --body-fg: #111111 !important;
    color-scheme: light !important;
}
body { color-scheme: light !important; }

/* ===== Global ===== */
body, .dashboard, .change-list, .change-form {
    background: var(--bg-page) !important;
    color: var(--text-dark) !important;
    font-family: var(--font) !important;
    font-size: 15px !important;
}
body.login { background: var(--bg-page) !important; }

/* ===== Links ===== */
a:link, a:visited { color: var(--primary-dark) !important; text-decoration: none !important; }
a:hover { color: var(--primary) !important; text-decoration: underline !important; }

/* ===== Header ===== */
#header {
    background: var(--bg-header) !important;
    border-bottom: 3px solid var(--primary) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}
#header * { color: var(--text-dark) !important; }
#site-name, #site-name a {
    color: var(--primary-dark) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* ===== Breadcrumbs ===== */
div.breadcrumbs {
    background: var(--bg-card) !important;
    color: var(--text-light) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
}
div.breadcrumbs a { color: var(--primary-dark) !important; }

/* ===== Sidebar ===== */
#nav-sidebar,
#nav-sidebar .module {
    background: var(--bg-sidebar) !important;
}
#nav-sidebar .current-app,
#nav-sidebar .current-model {
    background: #e0e0e0 !important;
}
#nav-sidebar a {
    color: var(--text-mid) !important;
    padding: 8px 12px !important;
    border-radius: var(--radius) !important;
    margin: 2px 8px !important;
    white-space: nowrap !important;
}
/* 只对模型名称链接允许换行，"增加"按钮不换行 */
#nav-sidebar .model-name a,
#nav-sidebar li:not(:last-child) a {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
#nav-sidebar a:hover {
    background: #e0e0e0 !important;
    color: var(--primary-dark) !important;
}

/* ===== Content ===== */
#content, .content, .main,
.colMS, .colSM {
    background: var(--bg-page) !important;
    padding: 10px 20px 20px 20px !important;
}

#content h1 {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
}

/* ===== Module / Panel / Fieldset ===== */
.module,
.panel,
fieldset,
.inline-group {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    margin-bottom: 20px !important;
    overflow: visible;
}
.module h2, .module caption, .inline-group h2 {
    background: #fafafa !important;
    color: var(--text-dark) !important;
    padding: 12px 15px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--primary) !important;
}

/* ===== Tables - ALL white background, dark text ===== */
table,
.results table,
.change-list table,
.dataTable,
table thead,
table tbody {
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
}
.results, .change-list .results {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}
thead th,
.results table th,
.change-list table th {
    background: #fafafa !important;
    color: var(--text-mid) !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid var(--border) !important;
    white-space: nowrap !important;
}
tbody td {
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--border) !important;
    font-size: 14px !important;
    color: var(--text-dark) !important;
    background: var(--bg-card) !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}
/* ============================================================
   权限选择器 widget 彻底修复
   Django SelectFilter2.js 实际 DOM 结构：
   .selector > (.selector-available + .selector-chooser + .selector-chosen)
   ============================================================ */
/* 1. 整个 selector 容器 — flex 横向排列 */
.selector {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 200px !important;
    gap: 0 !important;
}
/* 2. 左右列表框容器 — flex 子项 */
.selector-available,
.selector-chosen {
    flex: 1 1 45% !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    background: var(--bg-card) !important;
    overflow: hidden !important;
}
/* 3. 列表框标题区域 */
.selector-available-title,
.selector-chosen-title {
    padding: 8px 10px !important;
    background: #fafafa !important;
    border-bottom: 1px solid var(--border) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
}
.selector-available-title label,
.selector-chosen-title label {
    display: block !important;
    margin-bottom: 2px !important;
}
.selector-available-title .helptext,
.selector-chosen-title .helptext {
    font-size: 12px !important;
    color: var(--text-light) !important;
    font-weight: 400 !important;
    margin: 0 !important;
}
/* 4. 过滤输入框区域 */
.selector .selector-filter {
    padding: 6px 8px !important;
    border-bottom: 1px solid var(--border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.selector .selector-filter input {
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 8px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    font-size: 13px !important;
    flex: 1 !important;
    box-sizing: border-box !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
}
/* 5. select 多选框 — 占据剩余空间，带滚动条 */
.selector-available select.filtered,
.selector-chosen select.filtered {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 300px !important;
    padding: 4px !important;
    margin: 0 !important;
    border: none !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: block !important;
}
.selector-available select.filtered option,
.selector-chosen select.filtered option {
    padding: 3px 6px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}
/* 6. 中间按钮列 — flex 子项，垂直居中 */
.selector .selector-chooser {
    flex: 0 0 50px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    margin: 0 !important;
    list-style: none !important;
    background: transparent !important;
}
.selector .selector-chooser li {
    margin: 6px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
/* 7. 中间箭头按钮 — 保留 Django 原生 SVG 背景图 */
.selector .selector-chooser button {
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: default !important;
    opacity: 0.55 !important;
    text-indent: -3000px !important;
    overflow: hidden !important;
    display: block !important;
    /* 保留原生背景图，不覆盖 background */
}
.selector .selector-chooser button:enabled {
    opacity: 1 !important;
    cursor: pointer !important;
}
/* 保留原生 hover 背景图位置变化 */
.selector .selector-chooser button:enabled:hover,
.selector .selector-chooser button:enabled:focus {
    /* 背景图位置由原生 CSS 控制 */
}
/* 8. 全选/全移除按钮 */
.selector .selector-chooseall,
.selector .selector-clearall {
    padding: 6px 10px !important;
    margin: 0 !important;
    border: none !important;
    border-top: 1px solid var(--border) !important;
    background: #fafafa !important;
    color: var(--primary-dark) !important;
    font-size: 12px !important;
    cursor: pointer !important;
    text-align: center !important;
    width: 100% !important;
}
.selector .selector-chooseall:hover,
.selector .selector-clearall:hover {
    background: var(--bg-hover) !important;
}
/* 9. list-footer-display */
.selector .list-footer-display {
    padding: 4px 8px !important;
    font-size: 12px !important;
    color: var(--text-light) !important;
    border-top: 1px solid var(--border) !important;
    background: #fafafa !important;
    cursor: pointer !important;
}
/* 10. 覆盖全局 tbody td 对 selector 内部的影响 */
.selector-available *,
.selector-chosen *,
.selector-chooser * {
    white-space: normal !important;
}
/* 只对筛选栏链接允许换行，不影响操作按钮 */
#changelist-filter li a,
.changelist-filter li a {
    white-space: normal !important;
    word-break: break-word !important;
}
tbody tr:hover,
.row1:hover, .row2:hover {
    background: var(--bg-hover) !important;
}
.row1 { background: var(--bg-card) !important; }
.row2 { background: #fcfcfc !important; }
.row1 td, .row2 td {
    color: var(--text-dark) !important;
}

/* ===== Search / Toolbar ===== */
#toolbar, .toolbar, #changelist-search, .search-form,
.actions, .action-counter {
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
    margin-bottom: 8px !important;
}
#changelist-search label,
.search-form label {
    color: var(--text-light) !important;
}

/* ===== Form Inputs ===== */
input[type="text"], input[type="password"], input[type="email"],
input[type="number"], input[type="url"], input[type="tel"],
input[type="search"],
textarea, select {
    background: #ffffff !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 9px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 36px !important;
}
input:focus, textarea:focus, select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.15) !important;
    outline: none !important;
}
::placeholder, ::-webkit-input-placeholder { color: var(--text-placeholder) !important; }

/* 隐藏内联对象的 __str__ 文字（和 select2 重叠造成重影） */
.inline-group td.original p,
.inline-group td.original .view-link {
    display: none !important;
}
.inline-group td.original {
    padding: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
}

/* 修复 select2 自动完成重影 */
.select2-container--admin-autocomplete .select2-selection--single,
.select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 36px !important;
}
.select2-container .select2-selection__rendered {
    line-height: 34px !important;
    display: block !important;
    visibility: visible !important;
}
.select2-container .select2-selection__arrow {
    height: 34px !important;
}
.select2-container .select2-search--inline {
    display: none !important;
}
.select2-container .select2-search--dropdown {
    display: block !important;
}

/* ===== Buttons ===== */
input[type="submit"], input[type="button"], .button,
.submit-row input, .submit-row .button {
    background: var(--primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--radius) !important;
    padding: 8px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}
input[type="submit"]:hover, .button:hover { background: var(--primary-dark) !important; }
.button.default, input[type="submit"].default { background: var(--primary) !important; }
.button[style*="background:#dc3545"], .button.danger,
input[type="submit"][value*="作废"] {
    background: #ff1a4d !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: 2px solid #cc0033 !important;
    box-shadow: 0 2px 6px rgba(204, 0, 51, 0.4) !important;
}
.button[style*="background:#dc3545"]:hover, .button.danger:hover,
input[type="submit"][value*="作废"]:hover {
    background: #e60033 !important;
    box-shadow: 0 3px 8px rgba(204, 0, 51, 0.6) !important;
}
/* 密码区域重置密码按钮加强对比 */
.form-row .button {
    background: var(--primary-dark) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(211, 84, 0, 0.3) !important;
}
.form-row .button:hover {
    background: #c44a00 !important;
    box-shadow: 0 3px 6px rgba(211, 84, 0, 0.4) !important;
}
.submit-row {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 15px 0 !important;
}

/* ===== Object Tools ===== */
.object-tools {
    background: transparent !important;
    margin: 0 0 2px !important;
}
.object-tools a, .object-tools li a {
    background: var(--bg-card) !important;
    color: var(--primary-dark) !important;
    border: 1px solid var(--border) !important;
}

/* ===== Pagination ===== */
.paginator, .pagination {
    background: var(--bg-card) !important;
    color: var(--text-mid) !important;
    border-top: 1px solid var(--border) !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
}
.paginator a, .pagination a {
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 5px 10px !important;
    margin: 0 2px !important;
}
.paginator a:hover, .pagination a:hover {
    background: var(--primary) !important;
    color: #fff !important;
    border-color: var(--primary) !important;
}
.paginator .this-page, .pagination .this-page {
    background: var(--primary) !important;
    color: #fff !important;
    border: 1px solid var(--primary) !important;
    border-radius: var(--radius) !important;
    padding: 5px 10px !important;
}

/* ===== Messages ===== */
.messagelist { padding: 0 !important; }
.messagelist li, .success, .warning, .errornote, .errorlist li {
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 14px 20px !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
}
.messagelist li.success, .success { border-left: 4px solid var(--success) !important; }
.messagelist li.warning, .warning { border-left: 4px solid var(--warning) !important; }
.messagelist li.error, .errornote, .errorlist li {
    border-left: 4px solid var(--danger) !important;
    background: #fff5f5 !important;
}

/* ===== Login ===== */
.login #content, .login .content { background: transparent !important; }
.login .form-row { padding: 10px 0 !important; }
.login .submit-row { background: transparent !important; text-align: center !important; }
.login input[type="submit"] { width: 100% !important; padding: 14px !important; font-size: 16px !important; }

/* ===== Filter Sidebar ===== */
#changelist-filter, .changelist-filter {
    background: var(--bg-card) !important;
    border-left: 1px solid var(--border) !important;
}
#changelist-filter h2, .changelist-filter h2 {
    background: #fafafa !important;
    color: var(--text-mid) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 10px 15px !important;
}
#changelist-filter h3, .changelist-filter h3 {
    color: var(--text-light) !important;
    font-size: 13px !important;
    padding: 8px 15px !important;
    cursor: pointer !important;
    user-select: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#changelist-filter h3::after, .changelist-filter h3::after {
    content: '\25BC' !important;
    font-size: 10px !important;
    transition: transform 0.2s !important;
    flex-shrink: 0 !important;
}
#changelist-filter h3.filter-open::after, .changelist-filter h3.filter-open::after {
    transform: rotate(180deg) !important;
}
/* 默认折叠所有筛选分组 */
#changelist-filter h3 + ul, .changelist-filter h3 + ul,
#changelist-filter h3 + div, .changelist-filter h3 + div {
    display: none !important;
}
/* 展开的分组 */
#changelist-filter h3.filter-open + ul, .changelist-filter h3.filter-open + ul,
#changelist-filter h3.filter-open + div, .changelist-filter h3.filter-open + div {
    display: block !important;
}
/* rangefilter <details> 默认折叠 */
#changelist-filter details, .changelist-filter details {
    display: block !important;
}
#changelist-filter details > summary, .changelist-filter details > summary {
    color: var(--text-light) !important;
    font-size: 13px !important;
    padding: 8px 15px !important;
    cursor: pointer !important;
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#changelist-filter details > summary::-webkit-details-marker,
.changelist-filter details > summary::-webkit-details-marker {
    display: none !important;
}
#changelist-filter details > summary::after,
.changelist-filter details > summary::after {
    content: '\25BC' !important;
    font-size: 10px !important;
    transition: transform 0.2s !important;
    flex-shrink: 0 !important;
}
#changelist-filter details[open] > summary::after,
.changelist-filter details[open] > summary::after {
    transform: rotate(180deg) !important;
}
#changelist-filter li, .changelist-filter li { padding: 5px 15px !important; }
#changelist-filter li a, .changelist-filter li a {
    color: var(--text-mid) !important;
}
#changelist-filter li.selected a, .changelist-filter li.selected a {
    color: var(--primary-dark) !important;
    font-weight: 600;
}
#changelist-filter select, .changelist-filter select {
    width: 100% !important;
    max-width: 100% !important;
    text-overflow: ellipsis !important;
}

/* ===== Inline ===== */
.inline-group { background: var(--bg-card) !important; }
.inline-group thead th { background: #fafafa !important; color: var(--text-mid) !important; }
.inline-group td { background: var(--bg-card) !important; color: var(--text-dark) !important; }
.add-row a, .inline-group .add-row a {
    color: var(--primary-dark) !important;
    padding: 8px 0 !important;
    font-size: 14px !important;
}
.delete-row a { color: var(--danger) !important; }

/* ===== Readonly ===== */
.readonly, .vLargeTextField[readonly], input[readonly] {
    background: #f5f5f5 !important;
    color: var(--text-light) !important;
    cursor: not-allowed !important;
}

/* ===== Date/Time widgets ===== */
.calendarbox, .clockbox {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
    border-radius: var(--radius) !important;
    z-index: 1000 !important;
    margin-top: 4px !important;
}
.vDateField, .vTimeField {
    min-width: 140px !important;
}
.calendar caption, .clock caption { background: var(--primary) !important; color: #ffffff !important; }
.calendar td a, .clock td a { color: var(--text-dark) !important; }
.calendar td a:hover, .clock td a:hover { background: var(--primary) !important; color: #fff !important; }

/* ===== Select2 ===== */
.select2-container--default .select2-selection--single {
    background: #ffffff !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    height: auto !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background: var(--bg-hover) !important;
    color: var(--text-dark) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--primary) !important;
    color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-dark) !important;
    line-height: 28px !important;
    padding-left: 8px !important;
    padding-right: 20px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 28px !important;
}
.select2-container .select2-search--inline .select2-search__field {
    margin-top: 0 !important;
}

/* ===== Stats / Dashboard ===== */
.dashboard .module td, .dashboard .module th {
    background: var(--bg-card) !important;
    color: var(--text-dark) !important;
}

/* ===== Form labels ===== */
label, .form-row label,
fieldset .form-row label,
.aligned label,
.inline-related label {
    color: var(--text-dark) !important;
    font-weight: 500 !important;
}
.form-row p, .form-row div,
.aligned p, .aligned div,
.form-row .help, .help {
    color: var(--text-light) !important;
}

/* ===== Responsive - Tablet ===== */
@media (max-width: 768px) {
    #header { padding: 10px 15px !important; }
    #site-name { font-size: 15px !important; }
    #content { padding: 10px !important; }
    #nav-sidebar {
        background: var(--bg-sidebar) !important;
        border-bottom: 1px solid var(--border) !important;
        padding: 5px 0 !important;
    }
    #nav-sidebar ul {
        display: flex !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        padding: 0 10px !important;
    }
    #nav-sidebar li { display: inline-block !important; margin: 0 2px !important; }
    #nav-sidebar a { padding: 6px 10px !important; font-size: 13px !important; }
    .results, .change-list table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    input[type="text"], input[type="number"], textarea, select {
        width: 100% !important;
        box-sizing: border-box;
    }
    .submit-row input, .submit-row .button { width: 100% !important; margin-bottom: 8px !important; }
    .custom-paginator, .changelist-footer {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
        flex-wrap: wrap !important;
    }
    .paginator-right {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
}
/* ===== Responsive - Phone ===== */
@media (max-width: 480px) {
    body { font-size: 14px !important; }
    thead th, tbody td { padding: 8px 6px !important; font-size: 13px !important; }
    .module h2, .inline-group h2 { font-size: 14px !important; padding: 10px !important; }
    input[type="submit"], .button { padding: 10px 15px !important; font-size: 15px !important; }
    .change-list table td:nth-child(n+4),
    .change-list table th:nth-child(n+4) { display: none !important; }
}

/* ===== 金额汇总行 ===== */
.amount-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 10px 20px !important;
    background: var(--bg-card) !important;
    border-top: 2px solid var(--primary) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
}
.amount-summary .summary-label {
    color: var(--text-mid) !important;
    margin-right: 8px !important;
}
.amount-summary .summary-value {
    color: var(--primary-dark) !important;
    font-size: 18px !important;
}

/* ===== 侧边栏可折叠模块 ===== */
.sidebar-collapsible caption {
    cursor: pointer !important;
    position: relative !important;
    user-select: none !important;
}
.sidebar-collapsible caption::after {
    content: '\25BC' !important;
    font-size: 10px !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transition: transform 0.2s !important;
    color: var(--text-light) !important;
}
.sidebar-collapsible.sidebar-closed caption::after {
    transform: translateY(-50%) rotate(-90deg) !important;
}
.sidebar-collapsible.sidebar-closed tbody {
    display: none !important;
}
