.admin-responsive {
  --admin-content-padding: 12px;
  --admin-panel-margin: 8px;
  --admin-panel-heading-padding: 8px 16px;
  --admin-panel-body-padding: 12px;
  --admin-control-height: 34px;
  --admin-font-size: 13px;
  --admin-small-font-size: 12px;
  --admin-table-cell-padding: 8px 12px;
  --admin-table-header-padding: 8px 12px;
  --admin-table-row-height: 40px;
  --admin-sidebar-item-padding: 12px 16px;
  --admin-sidebar-subitem-padding: 8px 16px 8px 40px;
  --admin-toolbar-padding: 8px 8px 8px;
  --admin-pagination-padding: 4px 8px;
}

.admin-responsive .content-wrapper .content {
  padding: var(--admin-content-padding);
}

.admin-responsive #ribbon {
  margin-bottom: 8px;
}

.admin-responsive .panel-intro {
  margin-bottom: var(--admin-panel-margin);
}

.admin-responsive .panel-intro > .panel-heading {
  padding: var(--admin-panel-heading-padding);
}

.admin-responsive .panel-intro > .panel-body,
.admin-responsive .panel .panel-body {
  padding: var(--admin-panel-body-padding);
}

.admin-responsive .form-control,
.admin-responsive .input-group-addon,
.admin-responsive .btn,
.admin-responsive .btn-dialog,
.admin-responsive .btn-addtabs {
  height: var(--admin-control-height);
  min-height: var(--admin-control-height);
  font-size: var(--admin-font-size);
  line-height: 1.4;
}

.admin-responsive textarea.form-control {
  height: auto;
  min-height: 80px;
}

.admin-responsive .btn-xs,
.admin-responsive .btn-group-xs > .btn {
  height: auto;
  min-height: 0;
  font-size: var(--admin-small-font-size);
  padding: 2px 7px;
}

.admin-responsive .bootstrap-table .fixed-table-toolbar {
  padding: var(--admin-toolbar-padding);
}

.admin-responsive .bootstrap-table .fixed-table-toolbar .search .form-control,
.admin-responsive .bootstrap-table .fixed-table-toolbar .columns .btn,
.admin-responsive .bootstrap-table .fixed-table-toolbar .search .btn {
  height: var(--admin-control-height);
  min-height: var(--admin-control-height);
  font-size: var(--admin-font-size);
}

.admin-responsive .bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
.admin-responsive .bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
.admin-responsive .bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.admin-responsive .bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.admin-responsive .bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
  padding: var(--admin-table-cell-padding);
  height: var(--admin-table-row-height);
  font-size: var(--admin-font-size);
  line-height: 1.35;
}

.admin-responsive .fixed-table-container tbody td .th-inner,
.admin-responsive .fixed-table-container thead th .th-inner,
.admin-responsive .bootstrap-table .table > thead > tr > th {
  padding: var(--admin-table-header-padding);
  font-size: var(--admin-small-font-size);
  white-space: nowrap;
}

.admin-responsive .fixed-table-pagination,
.admin-responsive .pagination-detail,
.admin-responsive .pagination {
  font-size: var(--admin-small-font-size);
}

.admin-responsive .fixed-table-pagination {
  padding: var(--admin-pagination-padding);
}

.admin-responsive .pagination > li > a,
.admin-responsive .pagination > li > span {
  padding: 4px 8px;
  font-size: var(--admin-small-font-size);
}

.admin-responsive .main-sidebar .sidebar-menu > li > a {
  padding: var(--admin-sidebar-item-padding);
  font-size: 15px;
}

.admin-responsive .main-sidebar .sidebar-menu .treeview-menu > li > a {
  padding: var(--admin-sidebar-subitem-padding);
  font-size: 14px;
}

.admin-responsive .main-sidebar .sidebar-menu > li > a > .pull-right-container {
  top: 50%;
  margin-top: -8px;
}

.admin-responsive.screen-compact {
  --admin-content-padding: 8px;
  --admin-panel-margin: 8px;
  --admin-panel-heading-padding: 8px 12px;
  --admin-panel-body-padding: 8px;
  --admin-control-height: 32px;
  --admin-font-size: 12px;
  --admin-small-font-size: 12px;
  --admin-table-cell-padding: 6px 8px;
  --admin-table-header-padding: 6px 8px;
  --admin-table-row-height: 36px;
  --admin-sidebar-item-padding: 12px 12px;
  --admin-sidebar-subitem-padding: 8px 12px 8px 40px;
  --admin-toolbar-padding: 4px 8px 4px;
  --admin-pagination-padding: 4px 8px;
}

.admin-responsive.screen-compact .main-sidebar .sidebar-menu > li > a {
  font-size: 14px;
}

.admin-responsive.screen-compact .main-sidebar .sidebar-menu .treeview-menu > li > a {
  font-size: 13px;
}

.admin-responsive.screen-tight {
  --admin-content-padding: 8px;
  --admin-panel-margin: 4px;
  --admin-panel-heading-padding: 4px 8px;
  --admin-panel-body-padding: 8px;
  --admin-control-height: 28px;
  --admin-font-size: 12px;
  --admin-small-font-size: 12px;
  --admin-table-cell-padding: 4px 8px;
  --admin-table-header-padding: 4px 8px;
  --admin-table-row-height: 32px;
  --admin-sidebar-item-padding: 8px 12px;
  --admin-sidebar-subitem-padding: 4px 12px 4px 36px;
  --admin-toolbar-padding: 4px 4px 4px;
  --admin-pagination-padding: 4px 4px;
}

.admin-responsive.screen-tight .main-sidebar .sidebar-menu > li > a {
  font-size: 13px;
}

.admin-responsive.screen-tight .main-sidebar .sidebar-menu .treeview-menu > li > a {
  font-size: 12px;
}

.admin-responsive.screen-tight .panel-intro > .panel-heading .panel-title {
  font-size: 14px;
}

.admin-responsive.screen-tight .panel-intro > .panel-heading .panel-lead {
  font-size: 12px;
}

/* ====================
   后台无障碍：焦点样式
   ==================== */
.admin-responsive :focus-visible {
  outline: 2px solid var(--color-primary, #4397fd);
  outline-offset: 2px;
}

.admin-responsive :focus:not(:focus-visible) {
  outline: none;
}

.admin-responsive .btn:focus-visible,
.admin-responsive .form-control:focus-visible,
.admin-responsive a:focus-visible {
  outline: 2px solid var(--color-primary, #4397fd);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(67, 151, 253, 0.15);
}

/* 后台动效安全 */
@media (prefers-reduced-motion: reduce) {
  .admin-responsive *,
  .admin-responsive *::before,
  .admin-responsive *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
