/*
 * 仕必达绿色系视觉一期
 * 目标：统一公共壳层和基础组件，不改业务行为。
 */
:root {
  --brand: #166534;
  --brand-hover: #14532D;
  --brand-light: #EAF4EC;
  --brand-bg: rgba(22, 101, 52, 0.08);
  --primary: #166534;
  --primary-2: #1E7A46;
  --primary-3: #EAF4EC;
  --primary-4: #F3F7F4;
  --accent: #E8A33D;
  --accent-ink: #8A5400;
  --accent-weak: #FDF3E2;
  --success: #1E7A46;
  --success-light: #EAF4EC;
  --warning: #B7791F;
  --warning-light: #FDF3E2;
  --danger: #C0392B;
  --danger-light: #FCE8E5;
  --info: #2563EB;
  --info-light: #E5EDFC;
  --ink: #16231B;
  --ink-2: #4C5B51;
  --ink-3: #7C8A81;
  --line: #DFE8E2;
  --bg-page: #F3F7F4;
  --bg-card: #FFFFFF;
  --text-primary: #16231B;
  --text-secondary: #4C5B51;
  --text-muted: #7C8A81;
  --border: #DFE8E2;
  --border-light: #EDF3EF;
  --sidebar-bg: #FFFFFF;
  --sidebar-bg-hover: #F2F7F3;
  --sidebar-text: #47594E;
  --sidebar-text-active: #14532D;
  --sidebar-group-title: #87988B;
  --sidebar-divider: #E4ECE6;
  --sidebar-active-indicator: #166534;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --radius-xl: 16px;
  --shadow-sm: 0 1px 2px rgba(20, 40, 28, 0.05);
  --shadow: 0 1px 3px rgba(20, 40, 28, 0.06), 0 1px 2px rgba(20, 40, 28, 0.04);
  --shadow-md: 0 6px 18px rgba(20, 40, 28, 0.08), 0 2px 5px rgba(20, 40, 28, 0.04);
  --shadow-lg: 0 14px 32px rgba(20, 40, 28, 0.10), 0 5px 12px rgba(20, 40, 28, 0.05);
}

body {
  background: var(--bg-page);
  color: var(--ink);
}

body::before,
body[data-wb="D"]::before,
body[data-wb="A"]::before,
body[data-wb="B"]::before,
body[data-wb="C"]::before,
body[data-wb="E"]::before {
  height: 2px;
  background: var(--primary);
}

a {
  color: var(--primary);
}

a:hover {
  color: var(--brand-hover);
}

/* 公共壳层 */
.sidebar {
  background: #FFFFFF;
  border-right: 1px solid var(--sidebar-divider);
  box-shadow: 0 1px 0 rgba(22, 101, 52, 0.02);
}

.sidebar .brand {
  margin: 10px 9px 5px;
  padding: 13px 12px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #0F4A28 0%, #166534 58%, #1E7A46 100%);
  color: #FFFFFF;
  box-shadow: 0 8px 20px rgba(15, 74, 40, 0.18);
}

.sidebar .brand .brand-logo {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.16);
  color: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.sidebar .brand .brand-title {
  color: #FFFFFF;
  font-size: 16px;
  letter-spacing: 0.02em;
}

.sidebar .brand .brand-sub {
  color: #D7EBDD;
}

.sidebar.collapsed .brand {
  margin: 8px 6px;
  padding: 9px 0;
  justify-content: center;
}

.sidebar-nav {
  padding: 8px 9px 18px;
}

.sidebar-section-label {
  color: var(--sidebar-group-title);
  letter-spacing: 0.06em;
}

.sidebar-nav-link {
  color: var(--sidebar-text);
  border-radius: 8px;
}

.sidebar-nav-link:hover {
  background: var(--sidebar-bg-hover);
  color: var(--sidebar-text-active);
}

.sidebar-nav-link.active {
  background: var(--primary-3);
  color: var(--sidebar-text-active);
  font-weight: 700;
}

.sidebar-nav-link.active::before {
  background: var(--primary);
}

.sidebar-nav-link .nav-icon,
.sidebar-nav-link:hover .nav-icon,
.sidebar-nav-link.active .nav-icon {
  color: var(--primary);
}

.sidebar-footer {
  background: #FFFFFF;
}

.sidebar-footer .user-avatar {
  background: linear-gradient(135deg, #166534, #1E7A46);
}

.topbar {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(20, 40, 28, 0.05);
  backdrop-filter: blur(12px);
}

.topbar-toggle:hover,
.bell-btn:hover {
  background: var(--primary-3);
  border-color: var(--primary);
  color: var(--primary);
}

.global-search {
  background: #F7FAF8;
  border-color: var(--border);
}

.global-search:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(22, 101, 52, 0.10);
}

.search-item:hover {
  background: var(--primary-3);
}

.bell-btn {
  background: #F7FAF8;
  border-color: var(--border);
}

.breadcrumb-bar a:hover {
  color: var(--primary);
}

/* 基础按钮与表单 */
.btn-primary,
.btn-success {
  background: var(--primary);
  border-color: var(--primary);
  color: #FFFFFF;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus {
  background: var(--brand-hover);
  border-color: var(--brand-hover);
  color: #FFFFFF;
}

.btn-outline-primary {
  color: var(--primary);
  border-color: var(--primary);
  background: transparent;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-check:checked + .btn-outline-primary {
  color: #FFFFFF;
  background: var(--primary);
  border-color: var(--primary);
}

.btn-link,
.text-primary {
  color: var(--primary) !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(22, 101, 52, 0.11);
}

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

.nav-tabs .nav-link {
  color: var(--text-secondary);
}

.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  color: var(--primary);
  border-color: var(--primary);
  background-color: transparent;
}

.nav-pills .nav-link.active {
  color: #FFFFFF;
  background-color: var(--primary);
}

.pagination .page-link {
  color: var(--primary);
}

.pagination .page-link:hover {
  background: var(--primary-3);
  color: var(--primary);
}

.pagination .active .page-link {
  background: var(--primary);
  border-color: var(--primary);
}

/* 卡片、表格、状态和数据 */
.card,
.stat-card-v2,
.orv-card,
.wb-card,
.ch-card {
  border-color: var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}

.card-header {
  background: #FFFFFF;
  border-bottom-color: var(--border-light);
}

.table > :not(caption) > * > * {
  border-bottom-color: var(--border-light);
}

.table > thead > tr > th {
  background: #F0F6F2;
  color: var(--ink-2);
  border-bottom-color: var(--border);
}

.table-hover > tbody > tr:hover > * {
  background-color: #F7FBF8;
}

.progress {
  background-color: #E3EEE6;
}

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

.badge.bg-success,
.badge.text-bg-success,
.badge-st-已达标,
.badge-okr-status-已完成 {
  color: #14532D !important;
  background-color: #D7EBDD !important;
}

.badge.bg-warning,
.badge.text-bg-warning,
.badge-st-未设定 {
  color: var(--warning) !important;
  background-color: var(--warning-light) !important;
}

.badge.bg-danger,
.badge.text-bg-danger {
  color: var(--danger) !important;
  background-color: var(--danger-light) !important;
}

.section-title {
  border-left-color: var(--primary) !important;
}

.empty-icon,
.stat-icon-box,
.stat-icon-teal,
.stat-icon-blue,
.stat-icon-cyan {
  color: var(--primary) !important;
  background: var(--primary-3) !important;
}

/* 页面头部：统一森林绿，保留各模块内部信息结构 */
.brand-banner,
.wb-banner,
.delivery-hero,
.hub-hero,
.my-hero,
.ch-hero,
.hr-hero,
.sop-hero,
.pool-hero,
.lines-hero,
.remote-hero,
.admin-hero,
.kb-hero,
.marketing-hero,
.metric-hero {
  background: linear-gradient(135deg, #0F4A28 0%, #166534 56%, #1E7A46 100%) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 10px 26px rgba(15, 74, 40, 0.16) !important;
}

.brand-banner *,
.wb-banner *,
.delivery-hero *,
.hub-hero *,
.my-hero *,
.ch-hero *,
.hr-hero *,
.sop-hero *,
.pool-hero *,
.lines-hero *,
.remote-hero *,
.admin-hero *,
.kb-hero *,
.marketing-hero * {
  border-color: rgba(255, 255, 255, 0.18);
}

.brand-banner .bb-title,
.wb-banner .wb-title,
.hub-hero h1,
.hub-hero h2,
.hub-hero h3,
.my-hero h1,
.my-hero h2,
.my-hero h3,
.ch-hero h1,
.ch-hero h2,
.ch-hero h3 {
  color: #FFFFFF;
}

.brand-banner .bb-sub,
.hub-hero p,
.my-hero p,
.ch-hero p {
  color: rgba(255, 255, 255, 0.84);
}

/*
 * Fix29 全站检索：历史模板沉淀了大量内联色值，且大小写混杂。
 * 这里按底色族统一收口，保证实心底上的文字对比度达到 4.5:1，
 * 避免逐页手改带来新的不一致。
 */
[style*="#0D9488"],
[style*="#0d9488"],
[style*="#0F766E"],
[style*="#0f766e"] {
  border-color: var(--primary) !important;
}

[style*="color:#0D9488"],
[style*="color: #0D9488"],
[style*="color:#0d9488"],
[style*="color: #0d9488"],
[style*="color:#0F766E"],
[style*="color: #0F766E"],
[style*="color:#0f766e"],
[style*="color: #0f766e"] {
  color: var(--primary) !important;
}

/* 旧品牌 teal 与过亮绿色实心底统一收口到森林绿，配白字。 */
[style*="background:#0D9488"],
[style*="background: #0D9488"],
[style*="background:#0d9488"],
[style*="background: #0d9488"],
[style*="background-color:#0D9488"],
[style*="background-color: #0D9488"],
[style*="background-color:#0d9488"],
[style*="background-color: #0d9488"],
[style*="background:#0F766E"],
[style*="background: #0F766E"],
[style*="background:#0f766e"],
[style*="background: #0f766e"],
[style*="background-color:#0F766E"],
[style*="background-color:#0f766e"],
[style*="background:#22C55E"],
[style*="background: #22C55E"],
[style*="background:#22c55e"],
[style*="background: #22c55e"],
[style*="background-color:#22C55E"],
[style*="background-color:#22c55e"],
[style*="background:#16A34A"],
[style*="background: #16A34A"],
[style*="background:#16a34a"],
[style*="background: #16a34a"],
[style*="background-color:#16A34A"],
[style*="background-color:#16a34a"],
[style*="background:#10B981"],
[style*="background:#10b981"],
[style*="background:#14B8A6"],
[style*="background:#14b8a6"],
[style*="background:#16A37B"],
[style*="background:#0F8F82"],
[style*="background:#4ADE80"],
[style*="background:#4ade80"] {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}

/* 旧内联 teal 半透明底色（8 位 hex）恢复为品牌浅底 + 深绿字。 */
[style*="#0D948820"],
[style*="#0d948820"],
[style*="#0F766E20"],
[style*="#0f766e20"] {
  background-color: var(--primary-3) !important;
  border-color: transparent !important;
  color: var(--primary) !important;
}

/* 旧红色实心底收口到危险色，白字可达标。 */
[style*="background:#EF4444"],
[style*="background: #EF4444"],
[style*="background:#ef4444"],
[style*="background: #ef4444"],
[style*="background-color:#EF4444"],
[style*="background-color:#ef4444"],
[style*="background:#E54D42"],
[style*="background:#DC2626"],
[style*="background:#dc2626"] {
  background-color: var(--danger) !important;
  border-color: var(--danger) !important;
  color: #FFFFFF !important;
}

/* 琥珀实心底上白字不达标，统一改为深棕字。 */
[style*="background:#F59E0B"],
[style*="background: #F59E0B"],
[style*="background:#f59e0b"],
[style*="background: #f59e0b"],
[style*="background-color:#F59E0B"],
[style*="background-color:#f59e0b"],
[style*="background:#F5A623"],
[style*="background:#FBBF24"],
[style*="background:#fbbf24"],
[style*="background:#C9A84C"],
[style*="background:#c9a84c"] {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-ink) !important;
}

/* 蓝色/靛色实心底统一到信息色。 */
[style*="background:#3B82F6"],
[style*="background: #3B82F6"],
[style*="background:#3b82f6"],
[style*="background-color:#3B82F6"],
[style*="background-color:#3b82f6"] {
  background-color: var(--info) !important;
  border-color: var(--info) !important;
  color: #FFFFFF !important;
}

[style*="background:#6366F1"],
[style*="background: #6366F1"],
[style*="background:#6366f1"],
[style*="background-color:#6366F1"],
[style*="background-color:#6366f1"] {
  background-color: #4F46E5 !important;
  border-color: #4F46E5 !important;
  color: #FFFFFF !important;
}

/* 中性灰实心底过浅，白字不达标。 */
[style*="background:#9CA3AF"],
[style*="background: #9CA3AF"],
[style*="background:#9ca3af"],
[style*="background:#B0B8C4"],
[style*="background:#94A3B8"],
[style*="background:#94a3b8"] {
  background-color: #6B7280 !important;
  border-color: #6B7280 !important;
  color: #FFFFFF !important;
}

[style*="linear-gradient(135deg,#0D9488"],
[style*="linear-gradient(135deg, #0D9488"],
[style*="linear-gradient(120deg, #0D9488"],
[style*="linear-gradient(120deg,#0D9488"] {
  background: linear-gradient(135deg, #0F4A28 0%, #166534 56%, #1E7A46 100%) !important;
}

/* 工作台内部的旧强调变量也收口到品牌绿。 */
[style*="--sidebar-active-indicator"] {
  --sidebar-active-indicator: var(--primary) !important;
}

/* 控制内容宽度，避免宽屏页面元素被无限拉伸。 */
.main-content > .container-fluid,
.main-content > .container {
  max-width: 1680px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .sidebar .brand {
    margin: 8px 8px 4px;
  }

  .topbar {
    border-radius: 10px;
  }

  .brand-banner,
  .wb-banner,
  .delivery-hero,
  .hub-hero,
  .my-hero,
  .ch-hero,
  .hr-hero,
  .sop-hero,
  .pool-hero,
  .lines-hero,
  .remote-hero,
  .admin-hero,
  .kb-hero,
  .marketing-hero {
    border-radius: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* 高频业务页面：旧 teal 变量与内联色收口。 */
.wb-num,
.rev-num,
.orv-num-teal,
.todo-link,
.auto-link {
  color: var(--primary) !important;
}

.rev-card::before {
  background: var(--primary) !important;
}

.todo-tabs a.active,
.todo-action:hover {
  color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.todo-chip.auto,
.todo-action:hover,
.msg-item.unread,
.msg-bulk {
  background: var(--primary-3) !important;
}

.todo-submit,
.quick-order-btn,
.entry-card:hover .entry-btn {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #FFFFFF !important;
}

.msg-tabs .nav-link.active,
.msg-more:hover {
  color: var(--primary) !important;
  border-bottom-color: var(--primary) !important;
}

.msg-more:hover {
  background: var(--primary-3) !important;
}

[style*="background:#CCFBF1"],
[style*="background: #CCFBF1"],
[style*="background-color:#CCFBF1"],
[style*="background:#F0FDFA"],
[style*="background: #F0FDFA"] {
  background-color: var(--primary-3) !important;
}

[style*="border-color:#99F6E4"],
[style*="border:1px solid #99F6E4"] {
  border-color: #B9D8C3 !important;
}

/* 页面级移动端兜底：表格可横向滚动，操作区不断行错位。 */
.table-responsive,
.table-card {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  .topbar {
    gap: 8px;
  }

  .topbar-right {
    margin-left: auto;
  }

  .sidebar-section-label {
    padding-left: 12px;
  }

  .sidebar .sidebar-badge {
    display: none !important;
  }
}
/* 今日行动：个人工作台与角色首页共用同一模块。 */
.today-action-card {
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  height: 100%;
}

.today-action-card .action-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-light);
}

.today-action-card .action-body {
  padding: 8px 12px 12px;
}

.today-action-item {
  display: block;
  padding: 8px 6px;
  border-radius: 8px;
  color: var(--text-primary);
  text-decoration: none;
}

.today-action-item:hover {
  background: var(--primary-4);
}

.today-action-item .action-title {
  overflow: hidden;
  color: inherit;
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-action-item .action-meta {
  overflow: hidden;
  margin-top: 2px;
  color: var(--text-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-action-item.urgent .action-title {
  color: var(--danger);
}

/* Fix29: 全站组件根因修复（按钮对比度、对齐、长文本与层级）。 */
.main-content .btn,
.main-content .btn:hover,
.main-content .btn:focus {
  text-decoration: none;
}

/* 旧页面遗留的 teal 内联实心按钮统一补白字，避免绿底绿字。 */
.btn.text-white,
.btn[style*="background:#0D9488"],
.btn[style*="background: #0D9488"],
.btn[style*="background:#0d9488"],
.btn[style*="background: #0d9488"],
.btn[style*="background-color:#0D9488"],
.btn[style*="background-color: #0D9488"],
.btn[style*="background-color:#0d9488"],
.btn[style*="background-color: #0d9488"] {
  color: #FFFFFF !important;
}

.kb-btn-brand {
  border-color: var(--primary) !important;
  background: var(--primary) !important;
  color: #FFFFFF !important;
}

.kb-btn-brand:hover,
.kb-btn-brand:focus {
  border-color: var(--brand-hover) !important;
  background: var(--brand-hover) !important;
  color: #FFFFFF !important;
}

.btn-primary,
.btn-success {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: var(--brand-hover);
  --bs-btn-hover-border-color: var(--brand-hover);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: var(--brand-hover);
  --bs-btn-active-border-color: var(--brand-hover);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #7A9482;
  --bs-btn-disabled-border-color: #7A9482;
  color: #FFFFFF !important;
}

.btn-outline-primary,
.btn-outline-success {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: #9DC2A9;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: var(--primary);
  --bs-btn-active-border-color: var(--primary);
}

.btn-outline-secondary {
  --bs-btn-color: #4B5563;
  --bs-btn-border-color: #C6CEC8;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #4B5563;
  --bs-btn-hover-border-color: #4B5563;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #374151;
  --bs-btn-active-border-color: #374151;
  color: var(--bs-btn-color);
}

.btn-outline-warning {
  --bs-btn-color: var(--accent-ink);
  --bs-btn-border-color: #D8B372;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #9A5F07;
  --bs-btn-hover-border-color: #9A5F07;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #7C4A05;
  --bs-btn-active-border-color: #7C4A05;
  color: var(--bs-btn-color);
}

.btn-outline-info {
  --bs-btn-color: #1D4ED8;
  --bs-btn-border-color: #9DB8F2;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #1D4ED8;
  --bs-btn-hover-border-color: #1D4ED8;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #1E40AF;
  --bs-btn-active-border-color: #1E40AF;
  color: var(--bs-btn-color);
}

.btn-outline-danger {
  --bs-btn-color: #B42318;
  --bs-btn-border-color: #E5A49E;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #B42318;
  --bs-btn-hover-border-color: #B42318;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #912018;
  --bs-btn-active-border-color: #912018;
  color: var(--bs-btn-color);
}

/*
 * Fix29：上述描边样式是给白底页面用的，落在深色渐变 hero 上会变成
 * 深字压深底。hero 内部的描边按钮统一换成浅色描边方案。
 */
.brand-banner .btn-outline-secondary,
.wb-banner .btn-outline-secondary,
.delivery-hero .btn-outline-secondary,
.hub-hero .btn-outline-secondary,
.my-hero .btn-outline-secondary,
.ch-hero .btn-outline-secondary,
.hr-hero .btn-outline-secondary,
.sop-hero .btn-outline-secondary,
.pool-hero .btn-outline-secondary,
.lines-hero .btn-outline-secondary,
.remote-hero .btn-outline-secondary,
.admin-hero .btn-outline-secondary,
.kb-hero .btn-outline-secondary,
.marketing-hero .btn-outline-secondary,
.metric-hero .btn-outline-secondary {
  --bs-btn-color: #FFFFFF;
  --bs-btn-border-color: rgba(255, 255, 255, 0.55);
  --bs-btn-hover-color: var(--primary);
  --bs-btn-hover-bg: #FFFFFF;
  --bs-btn-hover-border-color: #FFFFFF;
  --bs-btn-active-color: var(--primary);
  --bs-btn-active-bg: #EAF4EC;
  --bs-btn-active-border-color: #EAF4EC;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}

.btn > .bi,
.btn > [data-lucide] {
  flex: 0 0 auto;
}

.btn.icon-only,
.btn:has(> .bi:only-child),
.btn:has(> svg:only-child) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
}

.entry-card {
  min-width: 0;
  overflow: hidden;
}

.entry-card-body {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.entry-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
}

.entry-content {
  flex: 1 1 auto;
  min-width: 0;
}

.entry-title,
.entry-stats,
.card-title,
.asset-card-title {
  min-width: 0;
  overflow-wrap: anywhere;
}

.entry-title {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

.entry-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  white-space: nowrap;
}

.row > [class*="col-"] > .entry-card,
.row > [class*="col-"] > a > .entry-card {
  height: 100%;
}

.page-title,
.module-title,
.section-heading {
  color: var(--ink);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .entry-card-body {
    align-items: flex-start;
  }

  .entry-action {
    align-self: center;
  }
}
