/* =========================================================
   ProfessorBot Standards Theme
   Adapted from the BD25 Standards surface language.
   ========================================================= */

:root {
  --pb-ink: #111827;
  --pb-ink-2: #344054;
  --pb-muted: #667085;
  --pb-border: #2f3440;
  --pb-line: #d0d5dd;
  --pb-page: #f8f9fb;
  --pb-surface: #fff;
  --pb-soft: #f3f5f7;
  --pb-blue: #0d47a1;
  --pb-blue-soft: #e9f1ff;
  --pb-gold: #f2c94c;
  --pb-good: #166534;
  --pb-good-soft: #f5fbf6;
  --pb-warn: #7a4f01;
  --pb-warn-soft: #fff8e6;
  --pb-danger: #b42318;
  --pb-danger-soft: #fff1f0;
  --pb-radius-sm: 6px;
  --pb-radius: 8px;
  --pb-radius-lg: 12px;
  --pb-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
  --pb-shadow-lg: 0 18px 34px rgba(15, 23, 42, 0.12);
  --pb-field-h: 38px;
  --pb-sidebar-w: 260px;
}

html,
body {
  background: var(--pb-page);
  color: var(--pb-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  letter-spacing: 0;
}

body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body * {
  min-width: 0;
}

a {
  color: var(--pb-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

a:hover {
  color: #08367a;
}

#layout-wrapper {
  background: var(--pb-page);
}

.main-content,
.page-content {
  background: var(--pb-page) !important;
}

.page-content {
  padding: 92px 18px 70px;
}

.container-fluid {
  max-width: 1520px;
}

.page-content > .container,
.page-content > .container-fluid {
  width: 100%;
  max-width: 1520px;
  padding-inline: 0;
}

.page-content .container,
.page-content .container-fluid {
  width: 100%;
  max-width: 1520px;
}

.page-content .container {
  padding-inline: 0;
}

.page-content > .container.mt-4,
.page-content > .container-fluid.py-4,
.page-content .container.mt-4,
.page-content .container-fluid.py-4 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-title-box,
.page-title-box.d-sm-flex {
  align-items: flex-start !important;
  gap: 0.75rem;
  padding: 0;
  margin: 0 0 1rem;
}

.page-title-box h4,
h1,
h2,
h3,
h4,
h5,
h6,
.card-title {
  color: var(--pb-ink);
  letter-spacing: 0;
}

.page-title-box h4,
.content-page-title,
.page-title,
.page-content h2.mb-4,
.page-content h3.mb-0,
.page-content > .container > h1:first-child,
.page-content > .container > h2:first-child,
.page-content > .container > h3:first-child,
.page-content > .container-fluid > h1:first-child,
.page-content > .container-fluid > h2:first-child,
.page-content > .container-fluid > h3:first-child {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  margin: 0 0 1rem;
  color: var(--pb-ink);
  font-size: clamp(1.35rem, 1.8vw, 2.05rem);
  line-height: 1.08;
  font-weight: 600;
}

.page-content > .container > .d-flex.justify-content-between:first-child,
.page-content > .container-fluid > .d-flex.justify-content-between:first-child,
.page-content > .container > .row:first-child,
.page-content > .container-fluid > .row:first-child {
  margin-bottom: 0.85rem !important;
}

strong,
b,
.fw-bold,
.fw-semibold {
  font-weight: 560 !important;
}

.text-muted {
  color: var(--pb-muted) !important;
}

/* Shell */
#page-topbar {
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none;
  backdrop-filter: blur(10px);
}

#page-topbar::after {
  display: none;
}

#page-topbar .navbar-header {
  min-height: 70px;
}

#page-topbar .header-item,
#page-topbar .nav-link {
  color: var(--pb-ink-2);
  border-radius: var(--pb-radius);
}

#page-topbar .header-item:hover,
#page-topbar .nav-link:hover {
  background: var(--pb-soft);
  color: var(--pb-ink);
}

.navbar-brand-box {
  width: var(--pb-sidebar-w);
  background: #1f2937 !important;
  border-right: 0;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.profbot-full-logo {
  max-height: 62px !important;
  width: auto;
}

.profbot-sm-logo {
  max-height: 42px !important;
}

.vertical-menu {
  width: var(--pb-sidebar-w);
  position: fixed;
  top: 70px;
  bottom: 0;
  left: 0;
  z-index: 1001;
  background: #1f2937 !important;
  border-right: 1px solid #202938;
  box-shadow: none;
}

.vertical-menu .h-100 {
  height: 100% !important;
  overflow: hidden;
}

.vertical-menu #sidebar-menu {
  height: calc(100vh - 70px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(208, 213, 221, 0.38) transparent;
}

.vertical-menu #sidebar-menu::-webkit-scrollbar {
  width: 8px;
}

.vertical-menu #sidebar-menu::-webkit-scrollbar-track {
  background: transparent;
}

.vertical-menu #sidebar-menu::-webkit-scrollbar-thumb {
  background: rgba(208, 213, 221, 0.32);
  border-radius: 999px;
}

body[data-sidebar="dark"] .vertical-menu,
body[data-sidebar="dark"] .navbar-brand-box {
  background: #1f2937 !important;
}

#sidebar-menu {
  padding: 1rem 0.75rem 1.25rem;
}

#sidebar-menu .menu-title {
  color: #98a2b3;
  font-size: 0.68rem;
  font-weight: 300 !important;
  letter-spacing: 0;
  margin: 0.55rem 0.35rem 0.65rem;
  padding: 0;
  text-transform: uppercase;
}

#sidebar-menu ul li a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 40px;
  margin: 0.15rem 0;
  padding: 0.55rem 0.72rem;
  border-radius: var(--pb-radius);
  color: #c4ccd8 !important;
  font-size: 0.88rem;
  font-weight: 300 !important;
  line-height: 1.18;
  transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

#sidebar-menu ul li a span,
#sidebar-menu .sub-menu li a,
#sidebar-menu .has-arrow,
#sidebar-menu .subreddit-name {
  font-weight: 300 !important;
}

#sidebar-menu ul li a i {
  width: 1.18rem;
  min-width: 1.18rem;
  color: #98a2b3;
  font-size: 1.08rem;
  line-height: 1;
}

#sidebar-menu ul li a:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #fff !important;
}

#sidebar-menu ul li a:hover i,
#sidebar-menu ul li.mm-active > a i,
#sidebar-menu ul li a.active i {
  color: var(--pb-gold);
}

#sidebar-menu ul li.mm-active > a,
#sidebar-menu ul li a.active {
  position: relative;
  background: #162033;
  color: #f2f4f7 !important;
  border: 1px solid rgba(242, 201, 76, 0.32);
  font-weight: 340 !important;
}

#sidebar-menu ul li.mm-active > a::before,
#sidebar-menu ul li a.active::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 999px;
  background: var(--pb-gold);
}

#sidebar-menu .sub-menu {
  padding: 0.15rem 0 0.35rem 1.2rem;
}

#sidebar-menu .sub-menu li a {
  min-height: 34px;
  color: #aeb7c4 !important;
  font-size: 0.82rem;
  font-weight: 300 !important;
}

.main-content {
  margin-left: var(--pb-sidebar-w);
}

body.vertical-collpsed .main-content,
body.vertical-collapsed .main-content {
  margin-left: 70px;
}

body.vertical-collpsed .navbar-brand-box,
body.vertical-collapsed .navbar-brand-box {
  width: 70px !important;
}

body.vertical-collpsed #page-topbar::after,
body.vertical-collapsed #page-topbar::after {
  left: 70px;
}

body.vertical-collpsed .vertical-menu,
body.vertical-collapsed .vertical-menu {
  position: fixed !important;
  top: 70px !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 70px !important;
  height: calc(100vh - 70px) !important;
  margin-top: 0 !important;
  z-index: 1001 !important;
}

body.vertical-collpsed #sidebar-menu,
body.vertical-collapsed #sidebar-menu {
  height: calc(100vh - 70px);
  padding-inline: 0.55rem;
}

body.vertical-collpsed #sidebar-menu > ul > li > a,
body.vertical-collapsed #sidebar-menu > ul > li > a {
  min-height: 48px;
  justify-content: center;
  padding: 0.6rem !important;
}

body.vertical-collpsed #sidebar-menu > ul > li > a i,
body.vertical-collapsed #sidebar-menu > ul > li > a i {
  margin: 0;
}

body.vertical-collpsed #sidebar-menu > ul > li:hover > a,
body.vertical-collapsed #sidebar-menu > ul > li:hover > a {
  justify-content: flex-start;
  width: 260px;
  background: #111827;
  color: #fff !important;
}

body.vertical-collpsed #sidebar-menu > ul > li:hover > ul,
body.vertical-collapsed #sidebar-menu > ul > li:hover > ul {
  left: 70px;
  border: 1px solid var(--pb-border);
  border-radius: 0 var(--pb-radius) var(--pb-radius) 0;
  background: #1f2937 !important;
  box-shadow: var(--pb-shadow-lg);
}

body.vertical-collpsed .footer,
body.vertical-collapsed .footer {
  left: 70px;
}

.footer {
  right: 0;
  left: var(--pb-sidebar-w);
  height: 48px;
  padding: 14px 20px;
  border-top: 1px solid var(--pb-line);
  background: rgba(255, 255, 255, 0.95);
  color: var(--pb-muted);
}

/* Shared route shell: brings legacy sidebar pages into the Contributor layout grammar. */
.std-route-shell {
  border: 1px solid var(--pb-border);
  border-radius: 0.9rem;
  background: var(--pb-surface);
  overflow: hidden;
  box-shadow: var(--pb-shadow);
}

.std-route-shell .std-mainstay-head,
.std-route-shell .std-mainstay-body {
  padding: 0.85rem;
}

.std-route-shell .std-mainstay-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  border-bottom: 1px solid var(--pb-border);
  background: #fff;
}

.std-route-shell .std-mainstay-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--pb-ink);
  font-size: 1.35rem;
  font-weight: 560;
  line-height: 1.1;
}

.std-route-shell .std-mainstay-title .mdi {
  color: var(--pb-ink);
  font-size: 1.18rem;
}

.std-route-shell .std-section-copy {
  max-width: 66rem;
  margin: 0.25rem 0 0;
  color: var(--pb-muted);
  line-height: 1.4;
}

.std-route-shell .std-route-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  margin-left: auto;
  max-width: min(52rem, 100%);
}

.std-route-shell .std-route-actions > *,
.std-route-shell .std-route-actions .profbot-toolbar,
.std-route-shell .std-route-actions form {
  margin: 0 !important;
}

.std-route-shell .std-route-actions .profbot-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.std-route-shell .std-route-actions .btn,
.std-route-shell .std-route-actions .form-select,
.std-route-shell .std-route-actions .form-control {
  min-height: 36px;
  border-radius: var(--pb-radius);
  font-size: 0.86rem;
}

.std-route-shell .std-route-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
  padding: 0.42rem 0.72rem;
  font-weight: 620;
  line-height: 1;
}

.std-route-shell .std-route-actions .btn:not(.btn-primary):not(.btn-danger):not(.btn-success):not(.btn-warning) {
  border-color: var(--pb-border);
  background: #fff;
  color: var(--pb-ink-2);
}

.std-route-shell .std-route-actions .btn-primary {
  border-color: #104ca7;
  background: #104ca7;
  color: #fff;
}

.std-route-shell .std-route-actions .form-select {
  width: auto;
  min-width: 150px;
  border-color: var(--pb-line);
  color: var(--pb-ink-2);
}

.std-route-shell .std-mainstay-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
}

.std-route-shell .std-mainstay-body > :last-child {
  margin-bottom: 0 !important;
}

.std-route-shell .std-mainstay-body > .row {
  margin: 0 !important;
  --bs-gutter-x: 0.85rem;
  --bs-gutter-y: 0.85rem;
}

.std-route-shell .std-mainstay-body > .row + .row {
  margin-top: 0 !important;
}

.std-route-shell .card,
.std-route-shell .table-responsive,
.std-route-shell .list-group,
.std-route-shell .alert {
  box-shadow: none !important;
}

.std-route-shell .card {
  margin-bottom: 0;
}

.std-route-shell > .std-mainstay-body > h1:first-child,
.std-route-shell > .std-mainstay-body > h2:first-child,
.std-route-shell > .std-mainstay-body > h3:first-child,
.std-route-shell > .std-mainstay-body > h4:first-child {
  display: none;
}

/* Surfaces */
.card,
.modal-content,
.dropdown-menu,
.offcanvas,
.toast,
.std-work-shell,
.table-wrapper {
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius-lg) !important;
  background: var(--pb-surface) !important;
  box-shadow: var(--pb-shadow) !important;
}

.profbot-toast-stack {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 10950;
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
  width: min(420px, calc(100vw - 2rem));
  padding: 0.15rem;
  overflow: visible;
  pointer-events: none;
}

.profbot-toast-stack .toast {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border-color: var(--pb-border) !important;
  border-left-width: 5px !important;
  border-radius: var(--pb-radius-lg) !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16) !important;
  color: var(--pb-ink);
  pointer-events: auto;
}

.profbot-toast-stack .toast-header {
  min-height: 42px;
  gap: 0.1rem;
  padding: 0.68rem 0.78rem;
  border-bottom-color: rgba(47, 52, 64, 0.36) !important;
}

.profbot-toast-stack .toast-header strong {
  color: var(--pb-ink);
  font-size: 0.88rem;
  font-weight: 520 !important;
  line-height: 1.2;
}

.profbot-toast-stack .toast-header .mdi {
  font-size: 1rem;
  line-height: 1;
}

.profbot-toast-stack .toast-body {
  padding: 0.78rem;
  color: var(--pb-ink);
  font-size: 0.93rem;
  line-height: 1.35;
}

.profbot-toast-time {
  margin-right: 0.55rem;
  color: var(--pb-muted);
  font-size: 0.76rem;
}

#toastContainer.profbot-toast-stack {
  z-index: 10950;
}

.profbot-toast-stack .profbot-toast-info {
  border-left-color: #426d9f !important;
  background: #f7faff !important;
}

.profbot-toast-stack .profbot-toast-info .toast-header {
  background: #eef5ff !important;
}

.profbot-toast-stack .profbot-toast-info .toast-header .mdi {
  color: #426d9f;
}

.profbot-toast-stack .profbot-toast-high {
  border-left-color: #a16207 !important;
  background: #fffaf0 !important;
}

.profbot-toast-stack .profbot-toast-high .toast-header {
  background: #fff4d8 !important;
}

.profbot-toast-stack .profbot-toast-high .toast-header .mdi {
  color: #a16207;
}

.profbot-toast-stack .profbot-toast-critical {
  border-left-color: #b42318 !important;
  background: #fff5f4 !important;
}

.profbot-toast-stack .profbot-toast-critical .toast-header {
  background: #fde9e7 !important;
}

.profbot-toast-stack .profbot-toast-critical .toast-header .mdi {
  color: #b42318;
}

.profbot-toast-stack .profbot-toast-success {
  border-left-color: #166534 !important;
  background: #f5fbf6 !important;
}

.profbot-toast-stack .profbot-toast-success .toast-header {
  background: #eaf6ed !important;
}

.profbot-toast-stack .profbot-toast-success .toast-header .mdi {
  color: #166534;
}

.swal2-container.swal2-bottom-end {
  right: 1.25rem !important;
  bottom: 1.25rem !important;
  overflow: visible !important;
  padding: 0.15rem !important;
}

.swal2-popup.swal2-toast {
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius-lg) !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden !important;
}

.card {
  overflow: hidden;
  margin-bottom: 1rem;
}

.page-content > .container > .card,
.page-content > .container-fluid > .card,
.page-content > .container > .row,
.page-content > .container-fluid > .row {
  margin-bottom: 0.9rem;
}

.card-header,
.modal-header,
.toast-header,
.dropdown-header {
  border-bottom: 1px solid var(--pb-border) !important;
  background: #fff !important;
  color: var(--pb-ink);
}

.card-header {
  min-height: 52px;
  padding: 0.82rem 1rem;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.modal-header h1,
.modal-header h2,
.modal-header h3,
.modal-header h4,
.modal-header h5,
.modal-header h6 {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--pb-ink);
  font-size: 1rem;
  line-height: 1.18;
  font-weight: 560;
}

.card-body {
  padding: 1rem;
}

#toastContainer.profbot-toast-stack .profbot-toast {
  background: #f8fafc !important;
  border: 1px solid var(--pb-border) !important;
  border-left-width: 5px !important;
  color: var(--pb-ink) !important;
}

#toastContainer.profbot-toast-stack .profbot-toast .toast-header {
  border-bottom: 1px solid rgba(47, 52, 64, 0.36) !important;
  color: var(--pb-ink) !important;
}

#toastContainer.profbot-toast-stack .profbot-toast .toast-body,
#toastContainer.profbot-toast-stack .profbot-toast .toast-header strong {
  color: var(--pb-ink) !important;
}

#toastContainer.profbot-toast-stack .profbot-toast .btn-close {
  filter: none;
  opacity: 0.72;
}

#toastContainer.profbot-toast-stack .profbot-toast-info {
  background: #f7faff !important;
  border-left-color: #426d9f !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-info .toast-header {
  background: #eef5ff !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-high {
  background: #fffaf0 !important;
  border-left-color: #9a6a17 !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-high .toast-header {
  background: #fff4d8 !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-critical {
  background: #fff5f4 !important;
  border-left-color: #8a2f2a !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-critical .toast-header {
  background: #fde9e7 !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-success {
  background: #f5fbf6 !important;
  border-left-color: #2f6f4e !important;
}

#toastContainer.profbot-toast-stack .profbot-toast-success .toast-header {
  background: #eaf6ed !important;
}

.swal2-popup.swal2-toast {
  background: #f8fafc !important;
  border: 1px solid var(--pb-border) !important;
  border-left: 5px solid #426d9f !important;
  border-radius: var(--pb-radius-lg) !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.16) !important;
  color: var(--pb-ink) !important;
  padding: 0.72rem 0.82rem !important;
}

.swal2-popup.swal2-toast .swal2-title,
.swal2-popup.swal2-toast .swal2-html-container {
  color: var(--pb-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.swal2-popup.swal2-toast .swal2-timer-progress-bar {
  background: rgba(47, 52, 64, 0.32) !important;
}

.card-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.22;
  font-weight: 560;
}

.mini-stats-wid .card-body,
.stats-card,
.metric-card {
  display: grid;
  align-content: center;
  min-height: 94px;
  padding: 0.82rem;
}

.mini-stats-wid h1,
.mini-stats-wid h2,
.mini-stats-wid h3,
.mini-stats-wid h4,
.mini-stats-wid h5,
.metric-card h1,
.metric-card h2,
.metric-card h3,
.metric-card h4,
.metric-card h5,
.stats-card h1,
.stats-card h2,
.stats-card h3,
.stats-card h4,
.stats-card h5 {
  margin: 0;
  color: var(--pb-blue);
  font-size: 1.18rem;
  line-height: 1.1;
  font-weight: 560;
}

.mini-stats-wid p,
.metric-card p,
.stats-card p {
  margin: 0;
  color: var(--pb-muted) !important;
  font-size: 0.78rem;
  line-height: 1.2;
}

.mini-stats-wid i.fs-3,
.metric-card i.fs-3,
.stats-card i.fs-3 {
  color: var(--pb-muted) !important;
  font-size: 1.35rem !important;
}

.shadow,
.shadow-sm,
.shadow-lg {
  box-shadow: var(--pb-shadow) !important;
}

.border-light,
.border-light-subtle,
.border-primary,
.border-info,
.border-success,
.border-warning,
.border-danger,
.border-secondary,
.border-dark,
.border-start,
.border-start-4 {
  border-color: var(--pb-border) !important;
}

.rounded,
.rounded-3,
.rounded-4 {
  border-radius: var(--pb-radius-lg) !important;
}

/* Buttons and controls */
.btn {
  min-height: 34px;
  border-radius: var(--pb-radius) !important;
  font-weight: 560;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  box-shadow: none !important;
}

.btn-sm {
  min-height: 30px;
  padding: 0.32rem 0.58rem;
  font-size: 0.78rem;
}

.btn-lg {
  min-height: 40px;
  padding: 0.48rem 0.82rem;
  font-size: 0.9rem;
}

.btn-primary {
  border-color: var(--pb-border) !important;
  background: var(--pb-blue) !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #08367a !important;
  color: #fff !important;
}

.btn-secondary,
.btn-light,
.btn-outline-secondary,
.btn-outline-info,
.btn-outline-primary,
.btn-outline-dark {
  border-color: var(--pb-border) !important;
  background: #fff !important;
  color: var(--pb-ink) !important;
}

.btn-secondary:hover,
.btn-light:hover,
.btn-outline-secondary:hover,
.btn-outline-info:hover,
.btn-outline-primary:hover,
.btn-outline-dark:hover {
  background: var(--pb-soft) !important;
  color: var(--pb-ink) !important;
}

.btn-success,
.btn-outline-success {
  border-color: var(--pb-border) !important;
  background: var(--pb-good-soft) !important;
  color: var(--pb-good) !important;
}

.btn-warning,
.btn-outline-warning {
  border-color: var(--pb-border) !important;
  background: var(--pb-warn-soft) !important;
  color: var(--pb-warn) !important;
}

.btn-danger,
.btn-outline-danger {
  border-color: var(--pb-border) !important;
  background: var(--pb-danger-soft) !important;
  color: var(--pb-danger) !important;
}

.btn-icon,
.nav-btn,
.header-item,
.btn-group > .btn {
  aspect-ratio: auto;
}

.form-control,
.form-select,
.select2-container .select2-selection,
textarea.form-control,
input[type="search"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
select {
  min-height: var(--pb-field-h);
  border: 1px solid var(--pb-line) !important;
  border-radius: var(--pb-radius) !important;
  background-color: #fff !important;
  color: var(--pb-ink) !important;
  box-shadow: none !important;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--pb-border) !important;
  box-shadow: 0 0 0 3px rgba(13, 71, 161, 0.12) !important;
}

label,
.form-label {
  color: var(--pb-ink);
  font-size: 0.82rem;
  font-weight: 520;
}

.form-check-input {
  border-color: var(--pb-border);
  box-shadow: none !important;
}

.form-check-input:checked {
  background-color: var(--pb-blue);
  border-color: var(--pb-blue);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .btn {
  min-height: 30px;
}

/* Data and lists */
.table {
  color: var(--pb-ink);
  border-color: var(--pb-line);
}

.table > :not(caption) > * > * {
  padding: 0.68rem 0.75rem;
  border-bottom-color: var(--pb-line);
  vertical-align: middle;
}

.table thead th,
.table-light th {
  background: #f8fafc !important;
  color: var(--pb-ink);
  border-bottom: 1px solid var(--pb-border) !important;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.15;
  text-transform: uppercase;
}

.table-hover tbody tr:hover {
  background: #f8fafc;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background: #fbfcfd;
}

.table-responsive,
.std-table-demo,
.table-wrapper {
  border-radius: var(--pb-radius-lg);
}

.list-group-item {
  border-color: var(--pb-line);
}

.badge {
  min-height: 22px;
  border: 1px solid rgba(47, 52, 64, 0.72);
  border-radius: var(--pb-radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.22rem 0.46rem;
  font-weight: 520;
  letter-spacing: 0;
  line-height: 1.05;
}

.badge.rounded-pill {
  border-radius: var(--pb-radius) !important;
  padding-right: 0.55rem;
  padding-left: 0.55rem;
}

.badge i {
  font-size: 0.92em;
  line-height: 1;
}

.bg-primary,
.badge.bg-primary {
  background: #eef2f6 !important;
  color: #344054 !important;
}

.bg-success,
.badge.bg-success {
  background: #f1f6f2 !important;
  color: #356545 !important;
}

.bg-warning,
.badge.bg-warning {
  background: #f7f2df !important;
  color: #6b5a2d !important;
}

.bg-danger,
.badge.bg-danger {
  background: #f8eeee !important;
  color: #7a3a35 !important;
}

.bg-secondary,
.badge.bg-secondary,
.badge.bg-muted {
  background: #f2f4f7 !important;
  color: #475467 !important;
}

.bg-info,
.badge.bg-info {
  background: #eef2f6 !important;
  color: #36485a !important;
}

.alert {
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius-lg);
  box-shadow: var(--pb-shadow);
  font-weight: 540;
}

.alert-danger {
  background: var(--pb-danger-soft);
  color: var(--pb-danger);
}

.alert-warning {
  background: var(--pb-warn-soft);
  color: var(--pb-warn);
}

.alert-info {
  background: #eef3f8;
  color: #31546b;
}

.alert-success {
  background: var(--pb-good-soft);
  color: var(--pb-good);
}

.progress {
  height: 0.72rem;
  border: 1px solid var(--pb-border);
  border-radius: 999px;
  background: #fff;
}

.progress-bar {
  background-color: var(--pb-blue);
}

.dropdown-menu {
  padding: 0.4rem;
}

.dropdown-item {
  border-radius: var(--pb-radius-sm);
  color: var(--pb-ink-2);
  font-weight: 540;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--pb-soft);
  color: var(--pb-ink);
}

.breadcrumb-item,
.breadcrumb-item a {
  color: var(--pb-muted);
  font-weight: 540;
}

.breadcrumb-item.active {
  color: var(--pb-blue);
}

/* Standards page shell */
.std-page-shell,
.std-mainstay-shell,
.pb-contrib-shell,
.page-content > .container,
.page-content > .container-fluid {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}

.std-page-head,
.std-mainstay-head,
.page-content > .container > .d-flex.justify-content-between:first-child,
.page-content > .container-fluid > .d-flex.justify-content-between:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.std-page-title,
.std-mainstay-head h1,
.std-mainstay-head h2,
.pb-contrib-shell h1,
.pb-contrib-shell h2 {
  margin: 0;
  color: var(--pb-ink);
  font-size: clamp(1.55rem, 2.1vw, 2.2rem);
  line-height: 1.04;
  font-weight: 600;
}

.std-page-copy,
.std-section-copy,
.std-mainstay-head p,
.pb-contrib-shell p.text-muted {
  max-width: 860px;
  margin: 0;
  color: var(--pb-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.std-action-row,
.std-chip-row,
.std-filter-bar,
.page-content .card-header .btn-group,
.page-content .card-header .ms-3 {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  flex-wrap: wrap;
}

.std-chip-row,
.std-action-row,
.std-view-chip-row,
.page-content .card-header .btn-group,
.page-content .card-header [class*="gap-"] {
  min-width: 0;
}

.std-chip,
.std-view-chip,
.std-btn-sample,
.page-content .badge,
.page-content .btn,
.page-content .card-header a,
.page-content .card-header button {
  white-space: nowrap;
}

.std-mainstay-viewbar,
.std-filter-bar {
  padding: 0.82rem;
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius-lg);
  background: var(--pb-surface);
  box-shadow: var(--pb-shadow);
}

.std-mainstay-viewbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  flex-wrap: nowrap;
}

.std-mainstay-viewbar > * {
  min-width: 0;
}

.std-mainstay-viewbar .std-view-chip-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: nowrap;
}

/* Route header normalization */
.std-route-shell .std-mainstay-head {
  align-items: center;
}

.std-route-actions {
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-left: auto;
}

.std-route-actions > div,
.std-route-actions > form {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
}

.std-route-actions .badge {
  min-height: 30px;
}

.std-route-shell .std-mainstay-body > .d-flex:first-child:empty,
.std-route-shell .std-mainstay-body > .page-title-box:first-child {
  display: none !important;
}

/* DataTables and legacy table controls */
.dataTables_wrapper {
  display: grid;
  gap: 0.75rem;
  color: var(--pb-ink);
}

.dataTables_wrapper .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.55rem;
  align-items: center;
  margin-inline: 0 !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_paginate {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pb-ink-2);
  font-weight: 520;
}

.dataTables_wrapper .dataTables_filter {
  justify-content: flex-end;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--pb-ink-2);
}

.dataTables_wrapper .dataTables_length select {
  width: auto;
  min-width: 76px;
}

.dataTables_wrapper .dataTables_filter input {
  width: min(260px, 42vw);
  margin-left: 0 !important;
}

.dataTables_wrapper .dataTables_paginate {
  justify-content: flex-end;
}

.dataTables_wrapper .pagination {
  gap: 0.2rem;
  margin: 0;
}

.dataTables_wrapper .page-link,
.pagination .page-link {
  min-height: 34px;
  min-width: 34px;
  border: 1px solid var(--pb-line) !important;
  border-radius: var(--pb-radius-sm) !important;
  color: var(--pb-ink-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}

.dataTables_wrapper .page-item.active .page-link,
.pagination .page-item.active .page-link {
  border-color: var(--pb-border) !important;
  background: var(--pb-blue) !important;
  color: #fff !important;
}

.dataTables_wrapper .page-item.disabled .page-link,
.pagination .page-item.disabled .page-link {
  background: #fff !important;
  color: var(--pb-muted) !important;
  opacity: 0.65;
}

table.dataTable,
.table-bordered {
  border: 1px solid var(--pb-line) !important;
  border-collapse: separate !important;
  border-spacing: 0;
}

table.dataTable thead th,
table.dataTable thead td {
  border-bottom: 1px solid var(--pb-border) !important;
}

.table-bordered > :not(caption) > * > * {
  border-color: var(--pb-line) !important;
}

.table tbody tr.table-success > *,
.table-success > * {
  background: #dff5ed !important;
  color: var(--pb-ink);
}

.table tbody tr.table-warning > *,
.table-warning > * {
  background: var(--pb-warn-soft) !important;
  color: var(--pb-ink);
}

.table tbody tr.table-danger > *,
.table-danger > * {
  background: var(--pb-danger-soft) !important;
  color: var(--pb-ink);
}

.btn-group > .btn {
  min-width: 34px;
}

.btn.rounded-circle {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: var(--pb-radius) !important;
}

.card-body > .table-responsive:first-child:last-child {
  margin: 0;
}

.card-body > .table-responsive > .table:last-child,
.card-body > .table:last-child {
  margin-bottom: 0 !important;
}

/* ProfessorBot operations page primitives */
.profbot-page-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.profbot-page-body > .row,
.profbot-page-body > form > .row {
  --bs-gutter-x: 0.95rem;
  --bs-gutter-y: 0.95rem;
  margin-bottom: 0 !important;
}

.profbot-toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-width: 0;
}

.profbot-toolbar > form {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

.profbot-toolbar .btn,
.profbot-toolbar .badge {
  margin: 0 !important;
}

.profbot-toolbar .form-select,
.profbot-toolbar .form-control {
  width: auto;
  min-width: 150px;
}

.profbot-work-card {
  margin-bottom: 0.95rem !important;
  border-color: var(--pb-border) !important;
  border-radius: var(--pb-radius-lg) !important;
  box-shadow: var(--pb-shadow) !important;
  overflow: hidden;
}

.profbot-page-body > form,
.profbot-page-body > .profbot-work-card {
  margin-bottom: 0 !important;
}

.profbot-page-body > .profbot-work-card:last-child,
.profbot-card-grid > .profbot-work-card,
.profbot-thread-stack .profbot-work-card {
  margin-bottom: 0 !important;
}

.profbot-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 0.95rem;
  align-items: start;
  margin-bottom: 0.95rem;
}

.profbot-card-grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.profbot-card-grid--wide {
  grid-template-columns: repeat(auto-fit, minmax(440px, 1fr));
}

.profbot-compact-panel .card-header {
  min-height: 48px;
  padding: 0.68rem 0.9rem !important;
}

.profbot-compact-panel .card-body {
  padding: 0.82rem 0.95rem;
}

.profbot-compact-panel .card-body.p-0 {
  padding: 0 !important;
}

.profbot-compact-panel .card-header h5,
.profbot-compact-panel .card-header h6 {
  font-size: 0.98rem;
}

.profbot-empty-state {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0.78rem 0.95rem;
  border: 1px solid #bfd8ee;
  border-radius: var(--pb-radius);
  background: #eef5fb;
  color: #35566e !important;
  font-size: 0.88rem;
  line-height: 1.28;
}

.profbot-work-card .list-group.profbot-tight-list {
  border-radius: var(--pb-radius);
}

.profbot-work-card .list-group.profbot-tight-list .list-group-item {
  padding: 0.72rem 0.82rem;
}

.profbot-visual-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0.85rem;
  align-items: start;
}

.profbot-visual-tile {
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-radius);
  background: #fbfcfe;
}

.profbot-visual-title {
  margin: 0 0 0.55rem;
  color: var(--pb-muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.18;
  text-transform: uppercase;
  letter-spacing: 0;
}

.profbot-visual-frame {
  min-height: 190px;
}

.profbot-visual-frame--short {
  min-height: 150px;
}

.profbot-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.65rem;
  text-align: center;
}

.profbot-metric-mini {
  display: grid;
  align-content: center;
  min-height: 76px;
  padding: 0.7rem;
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-radius);
  background: var(--pb-surface-2);
}

.profbot-metric-mini h6 {
  margin: 0 0 0.3rem;
  color: var(--pb-muted);
  font-size: 0.78rem;
  line-height: 1.15;
}

.profbot-metric-mini h4 {
  margin: 0;
  color: var(--pb-ink);
  font-size: 1.28rem;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

#page-topbar .profbot-alert-status-link {
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  color: var(--pb-muted) !important;
  background: transparent !important;
  line-height: 1 !important;
}

#page-topbar .profbot-alert-status-link i {
  font-size: 1.2rem;
  line-height: 1;
}

#page-topbar .profbot-alert-status-link.text-success {
  color: #2f855a !important;
  border-color: #b7e4c7 !important;
  background: #ecfdf3 !important;
}

#page-topbar .profbot-alert-status-link.text-info {
  color: #0f766e !important;
  border-color: #99f6e4 !important;
  background: #ecfeff !important;
}

#page-topbar .profbot-alert-status-link.text-warning {
  color: #b45309 !important;
  border-color: #f6c453 !important;
  background: #fffbeb !important;
}

#page-topbar .profbot-alert-status-link.text-danger {
  color: #b42318 !important;
  border-color: #f5b5ae !important;
  background: #fff1f0 !important;
}

.subreddit-overview-grid small,
.subreddit-overview-grid h6,
.subreddit-overview-grid .badge,
.subreddit-overview-grid .subreddit-spectrum-labels span {
  overflow-wrap: normal;
  word-break: normal;
}

.subreddit-overview-grid .subreddit-module-pill {
  max-width: 100%;
  white-space: nowrap;
}

.subreddit-overview-grid .subreddit-spectrum-labels {
  gap: 0.36rem;
  line-height: 1.12;
}

.subreddit-overview-grid .subreddit-spectrum-labels span {
  flex: 0 0 auto;
  min-width: 0;
  white-space: nowrap;
  font-size: 0.78rem;
}

.subreddit-overview-grid .lean-spectrum-bar {
  min-width: 0;
}

.profbot-system-card {
  margin-bottom: 0 !important;
  border-color: var(--pb-border) !important;
  border-radius: var(--pb-radius) !important;
  box-shadow: none !important;
}

.profbot-page-body .table {
  border-color: var(--pb-border);
  color: var(--pb-ink);
}

.profbot-page-body .table > :not(caption) > * > * {
  padding: 0.72rem 0.85rem;
  border-color: var(--pb-border);
  vertical-align: middle;
}

.profbot-page-body .table thead th {
  background: var(--pb-surface-2) !important;
  color: var(--pb-ink);
  font-size: 0.78rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0;
}

.profbot-page-body td .btn-group,
.profbot-page-body td .profbot-toolbar {
  justify-content: flex-start;
}

.profbot-page-body td.text-end .profbot-toolbar,
.profbot-page-body th.text-end .profbot-toolbar {
  justify-content: flex-end;
}

.profbot-model-library-table > :not(caption) > * > * {
  height: 48px;
  max-height: 48px;
  padding-block: 0.38rem !important;
}

.profbot-model-library-table .profbot-model-actions-col,
.profbot-model-library-table .profbot-model-actions-cell {
  width: 212px;
  min-width: 212px;
}

.profbot-model-library-table .profbot-model-actions-cell {
  white-space: nowrap;
}

.profbot-model-action-strip {
  display: inline-flex !important;
  flex: 0 0 auto;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.42rem !important;
  width: max-content;
  min-width: max-content;
  margin: 0 !important;
}

.profbot-model-action-strip > form {
  display: inline-flex !important;
  flex: 0 0 auto;
  margin: 0 !important;
}

.profbot-model-action-strip .btn {
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0 !important;
  line-height: 1 !important;
}

.profbot-model-action-strip .btn i {
  margin: 0 !important;
  font-size: 1rem;
  line-height: 1;
}

.profbot-kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.85rem;
  align-items: stretch;
  margin: 0;
}

.profbot-kpi-card {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 84px;
  padding: 0.85rem 1rem;
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius-lg);
  background: var(--pb-surface);
  box-shadow: var(--pb-shadow);
}

.profbot-kpi-card i {
  flex: 0 0 auto;
  color: var(--pb-muted);
  font-size: 1.35rem;
  line-height: 1;
}

.profbot-kpi-card strong {
  display: block;
  color: var(--pb-blue);
  font-size: 1.22rem;
  line-height: 1.08;
  font-weight: 600 !important;
}

.profbot-kpi-card span {
  display: block;
  margin-top: 0.18rem;
  color: var(--pb-muted);
  font-size: 0.82rem;
  line-height: 1.2;
  font-weight: 520;
}

.std-route-shell .profbot-scheduled-page {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.95rem !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.std-route-shell .profbot-scheduled-page > .profbot-kpi-strip {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.85rem !important;
  align-items: stretch;
  width: 100%;
  margin: 0 !important;
}

.std-route-shell .profbot-scheduled-page .profbot-kpi-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  min-height: 84px;
  margin: 0 !important;
  padding: 0.85rem 0.95rem !important;
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius-lg) !important;
  background: #fff !important;
  box-shadow: var(--pb-shadow) !important;
}

.std-route-shell .profbot-scheduled-page .profbot-kpi-card i {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  color: var(--pb-muted);
  font-size: 1.28rem;
  line-height: 1;
}

.std-route-shell .profbot-scheduled-page .profbot-kpi-card strong {
  display: block;
  color: var(--pb-blue);
  font-size: 1.28rem;
  font-weight: 650 !important;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.std-route-shell .profbot-scheduled-page .profbot-kpi-card span {
  display: block;
  margin-top: 0.16rem;
  color: var(--pb-muted);
  font-size: 0.82rem;
  font-weight: 520;
  line-height: 1.15;
}

.std-route-shell .profbot-thread-stack {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.95rem !important;
  width: 100%;
}

.std-route-shell .profbot-thread-stack .profbot-work-card {
  margin: 0 !important;
}

.std-route-shell .profbot-thread-stack .card-header {
  min-height: 58px;
  padding: 0.78rem 1rem !important;
}

.std-route-shell .profbot-thread-stack .card-header h5 {
  color: var(--pb-ink);
  font-size: 1.02rem;
  font-weight: 650;
  line-height: 1.15;
}

.std-route-shell .profbot-thread-stack .std-empty {
  min-height: 64px;
  border-top: 1px solid var(--pb-border);
  background: #edf4fb;
}

@media (max-width: 1399.98px) {
  .std-route-shell .profbot-scheduled-page > .profbot-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .std-route-shell .profbot-scheduled-page > .profbot-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .std-route-shell .profbot-scheduled-page > .profbot-kpi-strip {
    grid-template-columns: 1fr;
  }
}

.std-route-shell .std-mainstay-body > .profbot-page-body:first-child > .d-flex:first-child:has(.visually-hidden) {
  margin: 0 !important;
}

/* Legacy sidebar route normalization */
.page-content > .container-fluid > .container,
.page-content > .container-fluid > .container-fluid {
  margin: 0;
}

.page-content .container > .d-flex.justify-content-between:first-child,
.page-content .container-fluid > .d-flex.justify-content-between:first-child,
.page-content .container > h1:first-child,
.page-content .container > h2:first-child,
.page-content .container > h3:first-child,
.page-content .container-fluid > h1:first-child,
.page-content .container-fluid > h2:first-child,
.page-content .container-fluid > h3:first-child {
  padding: 0.9rem 1rem;
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius-lg);
  background: var(--pb-surface);
  box-shadow: var(--pb-shadow);
}

.page-content .container > .d-flex.justify-content-between:first-child,
.page-content .container-fluid > .d-flex.justify-content-between:first-child {
  align-items: center !important;
}

.page-content .container > .d-flex.justify-content-between:first-child h1,
.page-content .container > .d-flex.justify-content-between:first-child h2,
.page-content .container > .d-flex.justify-content-between:first-child h3,
.page-content .container-fluid > .d-flex.justify-content-between:first-child h1,
.page-content .container-fluid > .d-flex.justify-content-between:first-child h2,
.page-content .container-fluid > .d-flex.justify-content-between:first-child h3 {
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 2rem);
  line-height: 1.08;
  font-weight: 600;
}

.page-content .card-header.d-flex,
.page-content .card-header .d-flex,
.page-content .card-header.flex-wrap,
.page-content .card-header.d-flex.flex-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.65rem !important;
}

.page-content .card-header.flex-wrap,
.page-content .card-header.d-flex.flex-wrap {
  flex-wrap: nowrap !important;
}

.page-content .card-header .d-flex.flex-wrap,
.page-content td .d-flex.flex-wrap {
  display: flex !important;
  align-items: center;
  gap: 0.35rem !important;
  flex-wrap: nowrap !important;
}

.page-content .card-header h1,
.page-content .card-header h2,
.page-content .card-header h3,
.page-content .card-header h4,
.page-content .card-header h5,
.page-content .card-header h6 {
  min-width: max-content;
}

.page-content .row {
  --bs-gutter-x: 0.9rem;
  --bs-gutter-y: 0.9rem;
}

.page-content .row > [class*="col-"] > .card {
  height: auto;
}

.page-content .card-body.table-responsive,
.page-content .card-body.p-0.table-responsive,
.page-content .table-responsive {
  overflow-x: auto;
}

.page-content .card-body.p-0,
.page-content .card-body.table-responsive.p-0 {
  padding: 0 !important;
}

.page-content .table {
  margin-bottom: 0;
}

.page-content .table-sm > :not(caption) > * > * {
  padding: 0.56rem 0.68rem;
}

.page-content .list-group {
  border-radius: var(--pb-radius-lg);
}

.page-content pre,
.page-content .markdown-preview,
.page-content [id^="markdown-"] {
  border: 1px solid var(--pb-line) !important;
  border-radius: var(--pb-radius) !important;
  background: #f8fafc !important;
}

.std-work-panel,
.std-mainstay-body,
.page-content .card,
.page-content .list-group,
.page-content .table-responsive {
  overflow: hidden;
}

.std-empty,
.page-content .alert-info,
.page-content .list-group-item.text-muted,
.page-content .card-body > .p-3.text-muted {
  border: 1px solid #b7d4ef;
  border-radius: var(--pb-radius);
  background: #eef5fb;
  color: #35566e !important;
}

.field-changed {
  border-color: var(--pb-warn) !important;
  background: var(--pb-warn-soft) !important;
}

#floating-save-bar {
  position: sticky;
  bottom: 0.75rem;
  z-index: 20;
  margin-top: 1rem;
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius-lg);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--pb-shadow-lg);
}

.nav-tabs {
  gap: 0.35rem;
  border-bottom: 1px solid var(--pb-line);
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-radius: var(--pb-radius) var(--pb-radius) 0 0;
  color: var(--pb-muted);
  font-weight: 540;
}

.nav-tabs .nav-link.active {
  border-color: var(--pb-border) var(--pb-border) #fff;
  color: var(--pb-ink);
  background: #fff;
}

pre,
code,
.json-preview,
.code-block {
  border-radius: var(--pb-radius);
  background: #f8fafc;
  color: var(--pb-ink-2);
}

/* Charts and canvases */
.apex-charts,
[id*="Chart"],
canvas {
  max-width: 100%;
}

.apexcharts-canvas text {
  fill: var(--pb-muted);
  font-family: inherit !important;
}

/* Authentication shell */
body.auth-body-bg {
  background: var(--pb-page) !important;
}

.authentication-page-content {
  background: #fff;
  border-right: 1px solid var(--pb-border);
}

.authentication-page-content .auth-logo {
  width: min(230px, 72vw);
  height: auto !important;
  max-height: 90px;
  object-fit: contain;
}

.authentication-page-content h4 {
  margin-top: 1.5rem !important;
  color: var(--pb-ink);
  font-size: 1.45rem;
  line-height: 1.08;
  font-weight: 600;
}

.authentication-page-content .p-2.mt-5 {
  margin-top: 1.5rem !important;
  padding: 0 !important;
}

.authentication-bg {
  min-height: 100vh;
  background:
    radial-gradient(circle at 24% 24%, rgba(242, 201, 76, 0.22), transparent 26%),
    linear-gradient(135deg, #111827 0%, #1f2937 46%, #0d47a1 100%) !important;
}

.authentication-bg .bg-overlay {
  background:
    linear-gradient(135deg, rgba(17, 24, 39, 0.15), rgba(13, 71, 161, 0.18));
  opacity: 1;
}

.signin-other-title .title {
  color: var(--pb-muted);
  font-weight: 520;
}

/* Utility pages */
.home-btn,
.error-page {
  color: var(--pb-ink);
}

/* Page-specific class harmonization */
.bot-api-chart,
.chart-legend,
.queue-panel,
.runtime-card,
.system-card,
.thread-card {
  border-radius: var(--pb-radius);
}

.chart-legend,
.lean-spectrum-bar,
.spectrum-bar {
  border: 1px solid var(--pb-border);
  border-radius: var(--pb-radius-sm);
  overflow: hidden;
}

/* Mod Undermining */
.std-route-shell .mu-page {
  display: grid !important;
  gap: 0.85rem !important;
}

.std-route-shell .mu-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.75fr) minmax(190px, 1fr) minmax(190px, 1fr) auto;
  align-items: end !important;
  gap: 0.65rem !important;
  padding: 0.75rem !important;
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.std-route-shell .mu-filter-group {
  display: grid !important;
  gap: 0.25rem !important;
  min-width: 0 !important;
}

.std-route-shell .mu-filter-group label,
.std-route-shell .mu-mini-label {
  margin: 0 !important;
  color: var(--pb-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 620 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.std-route-shell .mu-filter-bar .form-select {
  min-height: 36px !important;
  border-color: var(--pb-line) !important;
  border-radius: var(--pb-radius-sm) !important;
  color: var(--pb-ink) !important;
  font-size: 0.86rem !important;
}

.std-route-shell .mu-filter-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  min-width: 96px !important;
  min-height: 36px !important;
  border-radius: var(--pb-radius-sm) !important;
  white-space: nowrap !important;
}

.std-route-shell .mu-alert {
  display: flex !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  border-left: 4px solid #a16207 !important;
}

.std-route-shell .mu-alert .mdi {
  margin-top: 0.12rem !important;
  color: #a16207 !important;
  font-size: 1.1rem !important;
}

.std-route-shell .mu-brief {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px) !important;
  gap: 0.85rem !important;
  align-items: stretch !important;
}

.std-route-shell .mu-brief-copy,
.std-route-shell .mu-worker-panel,
.std-route-shell .mu-kpi,
.std-route-shell .mu-card {
  border: 1px solid var(--pb-border) !important;
  border-radius: var(--pb-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.std-route-shell .mu-brief-copy {
  display: grid !important;
  align-content: center !important;
  min-height: 126px !important;
  padding: 0.9rem !important;
}

.std-route-shell .mu-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 0 0.34rem !important;
  color: var(--pb-blue) !important;
  font-size: 0.72rem !important;
  font-weight: 640 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.std-route-shell .mu-brief-copy h2 {
  max-width: 62rem !important;
  margin: 0 !important;
  color: var(--pb-ink) !important;
  font-size: 1.22rem !important;
  font-weight: 640 !important;
  line-height: 1.14 !important;
}

.std-route-shell .mu-brief-copy p {
  max-width: 68rem !important;
  margin: 0.38rem 0 0 !important;
  color: var(--pb-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
}

.std-route-shell .mu-worker-panel {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  overflow: hidden !important;
}

.std-route-shell .mu-worker-panel > div {
  display: grid !important;
  gap: 0.18rem !important;
  min-height: 63px !important;
  padding: 0.72rem !important;
  border-right: 1px solid var(--pb-line) !important;
  border-bottom: 1px solid var(--pb-line) !important;
}

.std-route-shell .mu-worker-panel > div:nth-child(2n) {
  border-right: 0 !important;
}

.std-route-shell .mu-worker-panel > div:nth-last-child(-n + 2) {
  border-bottom: 0 !important;
}

.std-route-shell .mu-worker-panel strong,
.std-route-shell .mu-kpi strong {
  color: var(--pb-ink) !important;
  font-size: 1.18rem !important;
  font-weight: 640 !important;
  line-height: 1 !important;
}

.std-route-shell .mu-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.85rem !important;
}

.std-route-shell .mu-kpi {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  min-height: 74px !important;
  padding: 0.75rem !important;
}

.std-route-shell .mu-kpi-icon {
  display: inline-grid !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  border: 1px solid var(--pb-line) !important;
  border-radius: var(--pb-radius-sm) !important;
  background: var(--pb-soft) !important;
  color: var(--pb-ink) !important;
  font-size: 1.08rem !important;
}

.std-route-shell .mu-grid-main {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 0.85rem !important;
}

.std-route-shell .mu-span-3 { grid-column: span 3 !important; }
.std-route-shell .mu-span-4 { grid-column: span 4 !important; }
.std-route-shell .mu-span-5 { grid-column: span 5 !important; }
.std-route-shell .mu-span-8 { grid-column: span 8 !important; }

.std-route-shell .mu-card {
  overflow: hidden !important;
}

.std-route-shell .mu-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0.65rem !important;
  min-height: 56px !important;
  padding: 0.72rem 0.8rem !important;
  border-bottom: 1px solid var(--pb-border) !important;
  background: #fff !important;
}

.std-route-shell .mu-card-head h5 {
  display: flex !important;
  align-items: center !important;
  gap: 0.38rem !important;
  margin: 0 !important;
  color: var(--pb-ink) !important;
  font-size: 0.96rem !important;
  font-weight: 640 !important;
  line-height: 1.15 !important;
}

.std-route-shell .mu-card-head span {
  display: block !important;
  margin-top: 0.16rem !important;
  color: var(--pb-muted) !important;
  font-size: 0.8rem !important;
  line-height: 1.28 !important;
}

.std-route-shell .mu-table {
  font-size: 0.83rem !important;
}

.std-route-shell .mu-table thead th {
  padding: 0.58rem 0.66rem !important;
  border-bottom: 1px solid var(--pb-border) !important;
  background: var(--pb-soft) !important;
  color: var(--pb-muted) !important;
  font-size: 0.66rem !important;
  font-weight: 640 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.std-route-shell .mu-table tbody td {
  padding: 0.62rem 0.66rem !important;
  border-bottom-color: var(--pb-line) !important;
  vertical-align: middle !important;
}

.std-route-shell .mu-table tbody tr:hover {
  background: #fbfcff !important;
}

.std-route-shell .mu-pair,
.std-route-shell .mu-target-row > div,
.std-route-shell .mu-mod-row > div:first-child,
.std-route-shell .mu-sub-row > div {
  display: grid !important;
  gap: 0.1rem !important;
}

.std-route-shell .mu-pair span,
.std-route-shell .mu-target-row span,
.std-route-shell .mu-mod-row span,
.std-route-shell .mu-sub-row span,
.std-route-shell .mu-muted-id,
.std-route-shell .mu-target-row small {
  color: var(--pb-muted) !important;
  font-size: 0.77rem !important;
  line-height: 1.25 !important;
}

.std-route-shell .mu-muted-id {
  display: block !important;
  margin-top: 0.1rem !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
}

.std-route-shell .mu-chip,
.std-route-shell .mu-action,
.std-route-shell .mu-priority,
.std-route-shell .mu-opinion {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 23px !important;
  padding: 0.14rem 0.46rem !important;
  border: 1px solid var(--pb-line) !important;
  border-radius: 999px !important;
  background: var(--pb-soft) !important;
  color: var(--pb-ink-2) !important;
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.std-route-shell .mu-priority-high,
.std-route-shell .mu-opinion-disagree {
  border-color: #d92d20 !important;
  background: var(--pb-danger-soft) !important;
  color: var(--pb-danger) !important;
}

.std-route-shell .mu-priority-watch {
  border-color: #f59e0b !important;
  background: var(--pb-warn-soft) !important;
  color: var(--pb-warn) !important;
}

.std-route-shell .mu-priority-normal,
.std-route-shell .mu-opinion-agree {
  border-color: #bbd7c3 !important;
  background: var(--pb-good-soft) !important;
  color: var(--pb-good) !important;
}

.std-route-shell .mu-opinion-unknown {
  border-color: var(--pb-line) !important;
  background: var(--pb-soft) !important;
  color: var(--pb-muted) !important;
}

.std-route-shell .mu-bar,
.std-route-shell .mu-day-bar {
  width: 92px !important;
  height: 7px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e5e7eb !important;
}

.std-route-shell .mu-bar span,
.std-route-shell .mu-day-bar span {
  display: block !important;
  max-width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: #42526d !important;
}

.std-route-shell .mu-list-body,
.std-route-shell .mu-day-list {
  display: grid !important;
  gap: 0.55rem !important;
  padding: 0.72rem !important;
}

.std-route-shell .mu-mod-row,
.std-route-shell .mu-target-row,
.std-route-shell .mu-sub-row,
.std-route-shell .mu-day-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.62rem !important;
  padding: 0.6rem !important;
  border: 1px solid var(--pb-line) !important;
  border-radius: var(--pb-radius-sm) !important;
  background: #fff !important;
}

.std-route-shell .mu-target-row {
  align-items: flex-start !important;
}

.std-route-shell .mu-mod-score {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 0.38rem !important;
}

.std-route-shell .mu-day-row {
  display: grid !important;
  grid-template-columns: minmax(86px, 1fr) 110px auto !important;
  padding-block: 0.46rem !important;
}

.std-route-shell .mu-day-row > span {
  color: var(--pb-muted) !important;
  font-size: 0.77rem !important;
}

.std-route-shell .mu-empty {
  padding: 0.95rem !important;
  color: var(--pb-muted) !important;
  font-size: 0.86rem !important;
  text-align: center !important;
}

@media (max-width: 991.98px) {
  :root {
    --pb-sidebar-w: 0px;
  }

  .main-content {
    margin-left: 0 !important;
  }

  .page-content {
    padding: 86px 12px 64px;
  }

  .navbar-brand-box {
    width: auto;
    min-width: 84px;
  }

  .footer {
    left: 0;
  }

  .card-body {
    padding: 0.85rem;
  }
}

@media (max-width: 575.98px) {
  .page-content {
    padding-left: 10px;
    padding-right: 10px;
  }

  .profbot-card-grid,
  .profbot-card-grid--compact,
  .profbot-card-grid--wide,
  .profbot-visual-grid,
  .profbot-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-header,
  .card-body {
    padding-left: 0.78rem;
    padding-right: 0.78rem;
  }

  .btn {
    white-space: normal;
  }

  .std-mainstay-viewbar,
  .std-mainstay-viewbar .std-view-chip-row,
  .std-chip-row,
  .std-action-row,
  .page-content .card-header.flex-wrap,
  .page-content .card-header.d-flex.flex-wrap,
  .page-content .card-header .d-flex.flex-wrap,
  .page-content td .d-flex.flex-wrap {
    flex-wrap: wrap !important;
  }

  .table-responsive,
  .table-wrapper {
    overflow-x: auto;
  }
}

@media (max-width: 1200px) {
  .std-route-shell .mu-brief,
  .std-route-shell .mu-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .std-route-shell .mu-span-3,
  .std-route-shell .mu-span-4,
  .std-route-shell .mu-span-5,
  .std-route-shell .mu-span-8 {
    grid-column: span 12 !important;
  }
}

@media (max-width: 720px) {
  .std-route-shell .mu-filter-bar,
  .std-route-shell .mu-brief,
  .std-route-shell .mu-kpi-grid,
  .std-route-shell .mu-worker-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .std-route-shell .mu-worker-panel > div {
    border-right: 0 !important;
  }

  .std-route-shell .mu-worker-panel > div:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--pb-line) !important;
  }

  .std-route-shell .mu-worker-panel > div:last-child {
    border-bottom: 0 !important;
  }

  .std-route-shell .mu-filter-submit {
    width: 100% !important;
  }

  .std-route-shell .mu-day-row {
    grid-template-columns: minmax(0, 1fr) 96px auto !important;
  }
}

/* Hard route layout guarantees: keep cards separated and visuals in rows. */
.page-content > .container,
.page-content > .container-fluid,
.profbot-page-body,
.std-mainstay-body {
  row-gap: 1rem !important;
}

.page-content > .container > .card,
.page-content > .container-fluid > .card,
.page-content > .container > .row,
.page-content > .container-fluid > .row,
.page-content > .container > section,
.page-content > .container-fluid > section,
.profbot-page-body > .card,
.profbot-page-body > .row,
.profbot-page-body > section,
.std-mainstay-body > .std-work-panel,
.std-mainstay-body > .contrib-chart-grid,
.std-mainstay-body > .contrib-visual-grid,
.std-mainstay-body > .contrib-leader-grid {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

.page-content > .container > :last-child,
.page-content > .container-fluid > :last-child,
.profbot-page-body > :last-child,
.std-mainstay-body > :last-child {
  margin-bottom: 0 !important;
}

.page-content .row {
  --bs-gutter-y: 1rem !important;
}

.profbot-card-grid,
.profbot-visual-grid,
.contrib-visual-grid,
[class*="visual-grid"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: start !important;
}

.profbot-card-grid > *,
.profbot-visual-grid > *,
.contrib-visual-grid > *,
[class*="visual-grid"] > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.contrib-chart-grid,
.contrib-leader-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: start !important;
}

.contrib-chart-grid > *,
.contrib-leader-grid > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1199.98px) {
  .profbot-card-grid,
  .profbot-visual-grid,
  .contrib-visual-grid,
  [class*="visual-grid"],
  .contrib-chart-grid,
  .contrib-leader-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  .profbot-card-grid,
  .profbot-visual-grid,
  .contrib-visual-grid,
  [class*="visual-grid"],
  .contrib-chart-grid,
  .contrib-leader-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Absolute card separation rule. This is intentionally last. */
:root {
  --pb-card-gap: 1.1rem;
}

.page-content .std-mainstay-body > * + *,
.page-content .profbot-page-body > * + *,
.page-content .pb-contrib-shell .std-mainstay-body > * + *,
.page-content .card + .card,
.page-content .card + .row,
.page-content .row + .card,
.page-content .row + .row,
.page-content .card + section,
.page-content section + .card,
.page-content section + section,
.page-content .std-work-panel + .std-work-panel,
.page-content .std-work-panel + .contrib-visual-grid,
.page-content .std-work-panel + .contrib-chart-grid,
.page-content .contrib-visual-grid + .std-work-panel,
.page-content .contrib-chart-grid + .std-work-panel,
.page-content .profbot-work-card + .profbot-work-card {
  margin-top: var(--pb-card-gap) !important;
}

.page-content .row > [class*="col-"] {
  margin-bottom: var(--pb-card-gap) !important;
}

.page-content .row > [class*="col-"] > .card,
.page-content .row > [class*="col-"] > .profbot-work-card,
.page-content .row > [class*="col-"] > .std-work-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-content .row > [class*="col-"]:empty {
  margin-bottom: 0 !important;
}

.page-content .card,
.page-content .profbot-work-card,
.page-content .std-work-panel,
.page-content .std-route-shell {
  border-collapse: separate !important;
}

/* Final layout correction: one gap system, no stacked-card collisions. */
.profbot-page-body,
.std-mainstay-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1rem !important;
  align-items: start !important;
}

.profbot-page-body > *,
.std-mainstay-body > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.profbot-page-body > .row,
.std-mainstay-body > .row {
  --bs-gutter-x: 1rem !important;
  --bs-gutter-y: 1rem !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.page-content .profbot-page-body > .row > [class*="col-"],
.page-content .std-mainstay-body > .row > [class*="col-"] {
  margin-bottom: 0 !important;
}

.page-content .profbot-page-body > .card + .card,
.page-content .profbot-page-body > .card + .row,
.page-content .profbot-page-body > .row + .card,
.page-content .profbot-page-body > .row + .row,
.page-content .profbot-page-body > section + section,
.page-content .std-mainstay-body > .std-work-panel + .std-work-panel,
.page-content .std-mainstay-body > .contrib-chart-grid + .contrib-visual-grid,
.page-content .std-mainstay-body > .contrib-visual-grid + .contrib-leader-grid,
.page-content .std-mainstay-body > .contrib-leader-grid + .std-work-panel {
  margin-top: 0 !important;
}

.profbot-card-grid,
.profbot-visual-grid,
.contrib-visual-grid,
[class*="visual-grid"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
  gap: 1rem !important;
  align-items: start !important;
  margin: 0 !important;
}

.profbot-card-grid--wide,
.contrib-chart-grid,
.contrib-leader-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)) !important;
  gap: 1rem !important;
  align-items: start !important;
  margin: 0 !important;
}

.profbot-card-grid > *,
.profbot-visual-grid > *,
.contrib-visual-grid > *,
.contrib-chart-grid > *,
.contrib-leader-grid > *,
[class*="visual-grid"] > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.page-content .row > [class*="col-"] > .card,
.page-content .row > [class*="col-"] > .profbot-work-card,
.page-content .row > [class*="col-"] > .std-work-panel,
.profbot-card-grid > .card,
.profbot-card-grid > .profbot-work-card,
.profbot-card-grid > .std-work-panel,
.profbot-visual-grid > .card,
.profbot-visual-grid > .profbot-work-card,
.profbot-visual-grid > .std-work-panel {
  height: 100%;
}

.page-content .apexcharts-canvas,
.page-content .apexcharts-svg,
.page-content canvas,
.page-content svg {
  max-width: 100% !important;
}

@media (max-width: 767.98px) {
  .profbot-card-grid,
  .profbot-card-grid--wide,
  .profbot-visual-grid,
  .contrib-visual-grid,
  .contrib-chart-grid,
  .contrib-leader-grid,
  [class*="visual-grid"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Universal app layout guardrail. Every routed page gets separation and tiled visuals. */
.page-content > .container,
.page-content > .container-fluid,
.page-content .profbot-page-body,
.page-content .std-mainstay-body,
.page-content .pb-contrib-shell .std-mainstay-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 1rem !important;
  align-items: start !important;
}

.page-content > .container > *,
.page-content > .container-fluid > *,
.page-content .profbot-page-body > *,
.page-content .std-mainstay-body > *,
.page-content .pb-contrib-shell .std-mainstay-body > * {
  min-width: 0 !important;
}

.page-content > .container > :is(.card, .profbot-work-card, .std-work-panel, .row, section, form),
.page-content > .container-fluid > :is(.card, .profbot-work-card, .std-work-panel, .row, section, form),
.page-content .profbot-page-body > :is(.card, .profbot-work-card, .std-work-panel, .row, section, form),
.page-content .std-mainstay-body > :is(.card, .profbot-work-card, .std-work-panel, .row, section, form) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page-content :is(.profbot-page-body, .std-mainstay-body) > .row,
.page-content > :is(.container, .container-fluid) > .row,
.page-content > :is(.container, .container-fluid) > .profbot-page-body > .row {
  --bs-gutter-x: 1rem !important;
  --bs-gutter-y: 1rem !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.page-content :is(.profbot-page-body, .std-mainstay-body) > .row > [class*="col-"],
.page-content > :is(.container, .container-fluid) > .row > [class*="col-"],
.page-content > :is(.container, .container-fluid) > .profbot-page-body > .row > [class*="col-"] {
  min-width: 0 !important;
  margin-bottom: 0 !important;
}

.page-content :is(
  .profbot-card-grid,
  .profbot-visual-grid,
  .contrib-chart-grid,
  .contrib-visual-grid,
  .contrib-leader-grid,
  [class*="chart-grid"],
  [class*="visual-grid"],
  [class*="card-grid"]
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.page-content :is(.profbot-card-grid--wide, .contrib-chart-grid, .contrib-leader-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)) !important;
}

.page-content :is(
  .profbot-card-grid,
  .profbot-visual-grid,
  .contrib-chart-grid,
  .contrib-visual-grid,
  .contrib-leader-grid,
  [class*="chart-grid"],
  [class*="visual-grid"],
  [class*="card-grid"]
) > * {
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.page-content :is(.card, .profbot-work-card, .std-work-panel) {
  min-width: 0 !important;
}

.page-content :is(.card, .profbot-work-card, .std-work-panel) > :is(.card-body, .std-work-panel__body) {
  min-width: 0 !important;
}

.page-content :is(.apexcharts-canvas, .apexcharts-svg, canvas, svg, iframe) {
  max-width: 100% !important;
}

.page-content :is([id*="chart"], [class*="chart"], .apex-charts) {
  max-width: 100% !important;
}

@media (min-width: 1100px) {
  .page-content :is(
    .profbot-visual-grid,
    .contrib-visual-grid,
    [class*="visual-grid"]
  ) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1099.98px) {
  .page-content :is(
    .profbot-card-grid,
    .profbot-visual-grid,
    .contrib-chart-grid,
    .contrib-visual-grid,
    .contrib-leader-grid,
    [class*="chart-grid"],
    [class*="visual-grid"],
    [class*="card-grid"]
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  .page-content :is(
    .profbot-card-grid,
    .profbot-visual-grid,
    .contrib-chart-grid,
    .contrib-visual-grid,
    .contrib-leader-grid,
    [class*="chart-grid"],
    [class*="visual-grid"],
    [class*="card-grid"]
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Queue tables: readable badges and contextual row tone */
.page-content .badge.queue-badge {
  align-items: center !important;
  background: var(--queue-badge-bg, #f8fafc) !important;
  border: 1px solid var(--queue-badge-border, #98a2b3) !important;
  border-radius: 0.55rem !important;
  box-shadow: none !important;
  color: var(--queue-badge-fg, #344054) !important;
  display: inline-flex !important;
  font-size: 0.76rem !important;
  font-weight: 750 !important;
  gap: 0.3rem !important;
  line-height: 1.1 !important;
  padding: 0.3rem 0.55rem !important;
  text-shadow: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.page-content .badge.queue-badge i {
  color: currentColor !important;
  display: inline-flex !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
}

.page-content .queue-badge--comment {
  --queue-badge-bg: #dbeafe;
  --queue-badge-border: #60a5fa;
  --queue-badge-fg: #1e3a8a;
}

.page-content .queue-badge--post,
.page-content .queue-badge--approve {
  --queue-badge-bg: #dcfce7;
  --queue-badge-border: #22c55e;
  --queue-badge-fg: #14532d;
}

.page-content .queue-badge--mod-note {
  --queue-badge-bg: #e0e7ff;
  --queue-badge-border: #818cf8;
  --queue-badge-fg: #312e81;
}

.page-content .queue-badge--strike,
.page-content .queue-badge--remove {
  --queue-badge-bg: #fee2e2;
  --queue-badge-border: #f87171;
  --queue-badge-fg: #7f1d1d;
}

.page-content .queue-badge--queued {
  --queue-badge-bg: #fef3c7;
  --queue-badge-border: #f59e0b;
  --queue-badge-fg: #78350f;
}

.page-content .queue-badge--reviewed,
.page-content .queue-badge--unknown {
  --queue-badge-bg: #f8fafc;
  --queue-badge-border: #98a2b3;
  --queue-badge-fg: #344054;
}

.page-content .queue-row-context > * {
  background: var(--queue-row-bg, #f8fafc) !important;
  color: var(--pb-ink) !important;
}

.page-content .queue-row-context > :first-child {
  box-shadow: inset 4px 0 0 var(--queue-row-accent, #64748b) !important;
}

.page-content .queue-row-context:hover > * {
  background: var(--queue-row-hover-bg, var(--queue-row-bg, #f1f5f9)) !important;
}

.page-content .queue-row--comment {
  --queue-row-bg: #eff6ff;
  --queue-row-hover-bg: #dbeafe;
  --queue-row-accent: #2563eb;
}

.page-content .queue-row--post,
.page-content .queue-row--approve {
  --queue-row-bg: #ecfdf5;
  --queue-row-hover-bg: #d1fae5;
  --queue-row-accent: #16a34a;
}

.page-content .queue-row--mod-note {
  --queue-row-bg: #eef2ff;
  --queue-row-hover-bg: #e0e7ff;
  --queue-row-accent: #4f46e5;
}

.page-content .queue-row--strike,
.page-content .queue-row--remove {
  --queue-row-bg: #fff1f2;
  --queue-row-hover-bg: #ffe4e6;
  --queue-row-accent: #dc2626;
}

.page-content .queue-row--queued {
  --queue-row-bg: #fffbeb;
  --queue-row-hover-bg: #fef3c7;
  --queue-row-accent: #d97706;
}

.page-content .queue-row--reviewed,
.page-content .queue-row--unknown {
  --queue-row-bg: #f8fafc;
  --queue-row-hover-bg: #f1f5f9;
  --queue-row-accent: #64748b;
}

.page-content tr.selected-row > * {
  background: #fee2e2 !important;
  color: var(--pb-ink) !important;
}

.page-content tr.selected-row > :first-child {
  box-shadow: inset 4px 0 0 #dc2626 !important;
}

/* Tablet and phone hardening: keep routed pages usable instead of clipped. */
@media (max-width: 1199.98px) {
  :root {
    --pb-sidebar-w: 0px;
  }

  body,
  #layout-wrapper,
  .main-content,
  .page-content {
    max-width: 100vw;
  }

  .main-content,
  body.vertical-collpsed .main-content,
  body.vertical-collapsed .main-content,
  body[data-sidebar-size="small"] .main-content,
  body[data-sidebar-size="small"].vertical-collpsed .main-content {
    margin-left: 0 !important;
    overflow: visible !important;
  }

  #page-topbar {
    left: 0 !important;
  }

  #page-topbar .navbar-header {
    min-width: 0;
    padding-right: 0.55rem;
  }

  .navbar-brand-box,
  body.vertical-collpsed .navbar-brand-box,
  body.vertical-collapsed .navbar-brand-box,
  body[data-sidebar-size="small"] .navbar-brand-box {
    width: auto !important;
    min-width: 70px;
    padding-inline: 0.75rem !important;
  }

  .navbar-brand-box .logo-lg {
    display: none !important;
  }

  .navbar-brand-box .logo-sm {
    display: inline-block !important;
  }

  .vertical-menu,
  body.vertical-collpsed .vertical-menu,
  body.vertical-collapsed .vertical-menu,
  body[data-sidebar-size="small"] .vertical-menu,
  body[data-sidebar-size="small"].vertical-collpsed .vertical-menu {
    position: fixed !important;
    top: 70px !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1060 !important;
    display: none !important;
    width: min(286px, calc(100vw - 42px)) !important;
    height: calc(100dvh - 70px) !important;
    margin-top: 0 !important;
    transform: none !important;
    box-shadow: 18px 0 34px rgba(15, 23, 42, 0.22) !important;
  }

  body.sidebar-enable .vertical-menu,
  body.sidebar-enable.vertical-collpsed .vertical-menu,
  body.sidebar-enable.vertical-collapsed .vertical-menu,
  body.sidebar-enable[data-sidebar-size="small"] .vertical-menu {
    display: block !important;
  }

  body.sidebar-enable::before {
    content: "";
    position: fixed;
    inset: 70px 0 0;
    z-index: 1055;
    background: rgba(15, 23, 42, 0.38);
  }

  body.sidebar-enable #page-topbar,
  body.sidebar-enable .vertical-menu {
    pointer-events: auto;
  }

  body.vertical-collpsed #sidebar-menu,
  body.vertical-collapsed #sidebar-menu,
  body[data-sidebar-size="small"] #sidebar-menu {
    height: calc(100dvh - 70px) !important;
    padding: 1rem 0.75rem 1.25rem !important;
  }

  body.vertical-collpsed #sidebar-menu > ul > li > a span,
  body.vertical-collapsed #sidebar-menu > ul > li > a span,
  body[data-sidebar-size="small"] #sidebar-menu > ul > li > a span {
    display: inline !important;
  }

  body.vertical-collpsed #sidebar-menu .menu-title,
  body.vertical-collapsed #sidebar-menu .menu-title,
  body[data-sidebar-size="small"] #sidebar-menu .menu-title {
    display: block !important;
  }

  body.vertical-collpsed #sidebar-menu .has-arrow::after,
  body.vertical-collapsed #sidebar-menu .has-arrow::after,
  body[data-sidebar-size="small"] #sidebar-menu .has-arrow::after {
    display: block !important;
  }

  body.vertical-collpsed #sidebar-menu > ul > li > a,
  body.vertical-collapsed #sidebar-menu > ul > li > a,
  body[data-sidebar-size="small"] #sidebar-menu > ul > li > a {
    justify-content: flex-start !important;
    width: auto !important;
    min-height: 40px !important;
    padding: 0.55rem 0.72rem !important;
  }

  body.vertical-collpsed #sidebar-menu > ul > li:hover > a,
  body.vertical-collapsed #sidebar-menu > ul > li:hover > a,
  body.vertical-collpsed #sidebar-menu > ul > li:hover > ul,
  body.vertical-collapsed #sidebar-menu > ul > li:hover > ul {
    position: static !important;
    width: auto !important;
    left: auto !important;
    box-shadow: none !important;
  }

  .page-content {
    padding: 86px 14px 66px !important;
  }

  .footer,
  body.vertical-collpsed .footer,
  body.vertical-collapsed .footer,
  body[data-sidebar-size="small"] .footer {
    left: 0 !important;
  }

  .std-route-shell .std-mainstay-head,
  .std-page-head,
  .std-mainstay-head,
  .page-content .card-header.d-flex,
  .page-content .card-header.flex-wrap {
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }

  .std-route-shell .std-route-actions,
  .std-route-actions,
  .profbot-toolbar,
  .std-action-row,
  .std-chip-row,
  .std-filter-bar {
    justify-content: flex-start !important;
    width: 100%;
    margin-left: 0 !important;
  }

  .std-route-shell .std-route-actions > *,
  .profbot-toolbar > *,
  .std-filter-bar > * {
    max-width: 100%;
  }

  .page-content .profbot-page-body > .row > :is(.col-md-4, .col-md-8),
  .page-content .std-mainstay-body > .row > :is(.col-md-4, .col-md-8),
  .page-content > :is(.container, .container-fluid) > .profbot-page-body > .row > :is(.col-md-4, .col-md-8) {
    flex: 0 0 auto !important;
    width: 100% !important;
  }

  .profbot-card-grid,
  .profbot-card-grid--compact,
  .profbot-card-grid--wide,
  .profbot-visual-grid,
  .contrib-chart-grid,
  .contrib-visual-grid,
  .contrib-leader-grid,
  [class*="chart-grid"],
  [class*="visual-grid"],
  [class*="card-grid"] {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)) !important;
  }

  .page-content .card-body:has(> table) {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  .page-content canvas,
  .page-content svg,
  .page-content .apexcharts-canvas,
  .page-content .apexcharts-svg {
    max-width: 100% !important;
  }
}

@media (max-width: 991.98px) {
  .page-content .profbot-page-body > .row > [class*="col-md-"],
  .page-content .std-mainstay-body > .row > [class*="col-md-"],
  .page-content > :is(.container, .container-fluid) > .row > [class*="col-md-"],
  .page-content > :is(.container, .container-fluid) > .profbot-page-body > .row > [class*="col-md-"] {
    flex: 0 0 auto !important;
    width: 100% !important;
  }

  .dataTables_wrapper .row > [class*="col-"],
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_paginate {
    justify-content: flex-start !important;
    width: 100% !important;
    text-align: left !important;
  }

  .dataTables_wrapper .dataTables_length label,
  .dataTables_wrapper .dataTables_filter label {
    flex-wrap: wrap;
    width: 100%;
  }

  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
  }

  .dataTables_wrapper .pagination {
    flex-wrap: wrap;
  }

  .profbot-assignment-table,
  .profbot-assignment-table tbody,
  .profbot-assignment-table tr,
  .profbot-assignment-table td {
    display: block;
    min-width: 0 !important;
    width: 100%;
  }

  .profbot-assignment-table thead {
    display: none;
  }

  .profbot-assignment-table tbody {
    display: grid;
    gap: 0;
  }

  .profbot-assignment-table tbody tr {
    border-bottom: 1px solid var(--pb-line);
    padding: 0.75rem;
  }

  .profbot-assignment-table tbody tr:last-child {
    border-bottom: 0;
  }

  .profbot-assignment-table tbody td {
    align-items: start;
    border: 0;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(112px, 0.3fr) minmax(0, 1fr);
    padding: 0.32rem 0 !important;
    white-space: normal !important;
  }

  .profbot-assignment-table tbody td::before {
    color: var(--pb-muted);
    content: attr(data-label);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
  }

  .profbot-assignment-table .badge {
    max-width: 100%;
    white-space: normal;
  }
}

@media (max-width: 767.98px) {
  .page-content {
    padding: 82px 10px 64px !important;
  }

  .std-route-shell,
  .card,
  .profbot-work-card,
  .std-work-panel {
    border-radius: var(--pb-radius) !important;
  }

  .std-route-shell .std-mainstay-head,
  .std-route-shell .std-mainstay-body,
  .card-header,
  .card-body {
    padding: 0.72rem !important;
  }

  .std-route-shell .std-mainstay-title,
  .page-title-box h4,
  .content-page-title,
  .page-title {
    font-size: 1.12rem !important;
    line-height: 1.18 !important;
  }

  .std-section-copy,
  .std-page-copy,
  .std-mainstay-head p {
    font-size: 0.84rem !important;
  }

  .page-content .btn,
  .page-content .badge,
  .dashboard-chip,
  .mu-chip,
  .mu-action,
  .mu-priority,
  .mu-opinion {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .page-content .btn-sm,
  .dashboard-icon-btn,
  .btn.rounded-circle {
    min-width: 34px;
    min-height: 34px;
  }

  .page-content .form-control,
  .page-content .form-select,
  .profbot-toolbar .form-select,
  .profbot-toolbar .form-control,
  .std-route-shell .std-route-actions .form-select,
  .std-route-shell .std-route-actions .form-control {
    width: 100% !important;
    min-width: 0 !important;
  }

  .page-content .table-responsive,
  .page-content .table-wrapper,
  .page-content .card-body.table-responsive {
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  .page-content table {
    min-width: 620px;
  }

  .page-content table.table-sm {
    font-size: 0.8rem;
  }

  .page-content .table > :not(caption) > * > * {
    padding: 0.5rem 0.55rem;
  }

  .page-content .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100vw - 1rem);
  }

  .page-content .nav-tabs,
  .page-content .nav-pills {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .page-content .nav-tabs .nav-item,
  .page-content .nav-pills .nav-item {
    flex: 0 0 auto;
  }

  .page-content .input-group {
    flex-wrap: wrap;
  }

  .page-content .input-group > .form-control,
  .page-content .input-group > .form-select {
    flex: 1 1 12rem;
  }

  .profbot-toast-stack,
  .swal2-container.swal2-bottom-end {
    right: 0.6rem !important;
    bottom: 0.6rem !important;
    left: 0.6rem !important;
    width: auto !important;
  }
}

@media (max-width: 575.98px) {
  #page-topbar .navbar-header {
    min-height: 64px;
  }

  #page-topbar .header-item {
    height: 64px;
    padding-inline: 0.55rem !important;
  }

  .navbar-brand-box {
    display: flex !important;
    min-width: 56px;
    align-items: center;
  }

  .navbar-brand-box .logo {
    line-height: 64px;
  }

  .header-profile-user {
    width: 32px !important;
    height: 32px !important;
    margin-right: 0 !important;
  }

  .std-route-shell .std-route-actions .btn,
  .profbot-toolbar .btn,
  .std-action-row .btn {
    flex: 1 1 auto;
  }

  .page-content .card-header.d-flex > *,
  .dashboard-sub-card .card-header > * {
    min-width: 0;
  }
}
