/*
 * Lean.vn visual system — Deep Ocean Blue
 *
 * One chromatic family for the LeanERP ecosystem: trustworthy for enterprise,
 * precise for improvement work, and native to AI/product interfaces.
 * White, slate and black are neutrals; no purple/orange/green brand accents.
 */

:root {
  --lean-blue-950: #061426;
  --lean-blue-900: #0a2340;
  --lean-blue-800: #0d355c;
  --lean-blue-700: #0d5b96;
  --lean-blue-600: #0878c9;
  --lean-blue-500: #168fe3;
  --lean-blue-300: #8ed4ff;
  --lean-blue-100: #e5f3ff;
  --lean-surface: #f5f9fd;
  --lean-surface-strong: #ffffff;
  --lean-ink: #10243d;
  --lean-muted: #526b84;
  --lean-border: #d3e0ec;
  --lean-gradient: linear-gradient(135deg, var(--lean-blue-900), var(--lean-blue-600));
  --lean-gradient-soft: linear-gradient(135deg, #eaf6ff, #f7fbff);
}

/* Core tokens used by legacy components. */
html {
  --primary: var(--lean-blue-700) !important;
  --primary-light: var(--lean-blue-500) !important;
  --primary-dark: var(--lean-blue-900) !important;
  --secondary: var(--lean-blue-600) !important;
  --secondary-light: var(--lean-blue-500) !important;
  --accent: var(--lean-blue-600) !important;
  --accent-light: var(--lean-blue-500) !important;
  --bg-primary: var(--lean-surface) !important;
  --bg-secondary: #edf4fa !important;
  --bg-card: var(--lean-surface-strong) !important;
  --text-primary: var(--lean-ink) !important;
  --text-secondary: var(--lean-muted) !important;
  --text-muted: #668098 !important;
  --border-color: var(--lean-border) !important;
  --cicc-blue: var(--lean-blue-700) !important;
  --color-ai: var(--lean-blue-700) !important;
  --color-ai-light: var(--lean-blue-500) !important;
}

[data-theme="dark"] {
  --bg-primary: var(--lean-blue-950) !important;
  --bg-secondary: #0b1e35 !important;
  --bg-card: #102943 !important;
  --text-primary: #f4f9ff !important;
  --text-secondary: #c0d3e6 !important;
  --text-muted: #9ab3ca !important;
  --border-color: #294b6d !important;
  --primary: var(--lean-blue-500) !important;
  --primary-light: var(--lean-blue-300) !important;
  --primary-dark: var(--lean-blue-700) !important;
  --accent: var(--lean-blue-500) !important;
}

body,
[data-theme="light"] body {
  background: var(--lean-surface) !important;
  color: var(--lean-ink) !important;
}
[data-theme="dark"] body {
  background: var(--lean-blue-950) !important;
  color: #f4f9ff !important;
}

a { color: var(--lean-blue-700); }
a:hover { color: var(--lean-blue-500); }

/* Navigation and shared chrome. */
.top-bar,
.site-header {
  background: var(--lean-blue-950) !important;
  border-color: rgba(142, 212, 255, .22) !important;
}
.site-header { box-shadow: 0 14px 40px rgba(6, 20, 38, .22) !important; }
.nav-list li a,
.top-bar,
.top-bar a { color: #d9edff !important; }
.nav-list li a:hover,
.nav-list li.current-menu-item a,
.site-switcher .site-link.active,
.site-switcher .site-link:hover { color: var(--lean-blue-300) !important; }
.nav-list li.current-menu-item a { background: rgba(22, 143, 227, .18) !important; }
.nav-list li ul,
.top-search-form-inline { background: #fafdff !important; border-color: var(--lean-border) !important; }
.nav-list li ul a { color: var(--lean-ink) !important; }

/* Every hero uses the same blue depth. */
.hero,
.page-header,
.page-hero,
.phan-he-hero,
.phan-he-archive-hero,
.case-header,
.single-hero,
.ai-platform-v5 .ai-hero,
.service-hero,
.contact-hero,
.about-hero,
.ecosystem-hero,
.docs-banner,
.eco-seo-hero {
  color: #ffffff !important;
  background-color: var(--lean-blue-900) !important;
  border-color: rgba(142, 212, 255, .24) !important;
  background-blend-mode: hue, normal !important;
}

/* Section art direction: every major journey gets its own visual atmosphere. */
 .section-visual { display: block; width: 112px; height: 112px; margin: 0 auto 10px; }
.section-visual img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 14px 24px rgba(8,120,201,.25)); }
.section-header.light .section-visual img { filter: drop-shadow(0 14px 24px rgba(22,143,227,.42)); }
.section-visual-ai img { filter: drop-shadow(0 14px 26px rgba(22,143,227,.46)); }
.section-visual-kaizen img { filter: drop-shadow(0 14px 26px rgba(13,91,150,.34)); }
@media (max-width: 700px) { .section-visual { width: 84px; height: 84px; } }
body.home .lazy-section {
  content-visibility: auto;
  contain-intrinsic-size: 720px;
}
body.home #pillars,
body.home #modules,
body.home #module-showcase {
  position: relative;
  isolation: isolate;
  background-image: linear-gradient(90deg, rgba(245,249,253,.98) 0%, rgba(245,249,253,.9) 38%, rgba(245,249,253,.35) 100%), url('../images/branding/v3/leanerp-ecosystem-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
body.home #modules { background-image: linear-gradient(90deg, rgba(6,20,38,.98) 0%, rgba(6,20,38,.88) 42%, rgba(6,20,38,.36) 100%), url('../images/branding/v3/leanerp-ecosystem-section-v3.webp') !important; }
body.home #ai-features {
  background-image: linear-gradient(90deg, rgba(245,249,253,.98) 0%, rgba(245,249,253,.9) 38%, rgba(245,249,253,.3) 100%), url('../images/branding/v3/leanerp-ai-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
body.home #courses {
  background-image: linear-gradient(90deg, rgba(245,249,253,.98) 0%, rgba(245,249,253,.9) 38%, rgba(245,249,253,.28) 100%), url('../images/branding/v3/leanerp-learning-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
body.home #cases {
  background-image: linear-gradient(90deg, rgba(245,249,253,.98) 0%, rgba(245,249,253,.88) 38%, rgba(245,249,253,.3) 100%), url('../images/branding/v3/leanerp-improvement-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.ai-platform-v5 .ai-core,
.ai-platform-v5 .ai-apps,
.ai-platform-v5 .ai-analytics,
.ai-platform-v5 .ai-automation {
  background-image: linear-gradient(90deg, rgba(245,249,253,.98) 0%, rgba(245,249,253,.93) 42%, rgba(245,249,253,.3) 100%), url('../images/branding/v3/leanerp-ai-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.ai-platform-v5 .ai-icon,
.ai-platform-v5 .ai-feature-icon,
body.home .ai-feature-icon,
body.home .pillar-icon {
  filter: drop-shadow(0 8px 18px rgba(8,120,201,.28));
}
.ai-platform-v5 .ai-icon svg,
body.home .ai-feature-icon svg,
body.home .pillar-icon svg { color: var(--lean-blue-600) !important; stroke: currentColor; }
body.home .pillar-card,
body.home .ai-feature-card,
body.home .course-card,
body.home .case-card { backdrop-filter: blur(8px); }
.course-bridge,
.cs-bridge { background-image: linear-gradient(100deg, rgba(6,20,38,.96), rgba(13,91,150,.56)), url('../images/branding/v3/leanerp-learning-section-v3.webp') !important; background-position: center, center right; background-size: cover, cover; }
.cs-archive .cs-bridge { background-image: linear-gradient(100deg, rgba(6,20,38,.96), rgba(13,91,150,.56)), url('../images/branding/v3/leanerp-improvement-section-v3.webp') !important; }
@media (max-width: 700px) {
  body.home #pillars, body.home #modules, body.home #module-showcase,
  body.home #ai-features, body.home #courses, body.home #cases,
  .ai-platform-v5 .ai-core, .ai-platform-v5 .ai-apps, .ai-platform-v5 .ai-analytics, .ai-platform-v5 .ai-automation,
  .course-bridge, .cs-bridge { background-position: center, 72% center; }
}
.hero-title,
.page-header h1,
.page-hero h1,
.phan-he-hero h1,
.case-header h1,
.single-hero h1,
.ai-platform-v5 .ai-hero h1 { color: #ffffff !important; }
.hero-title strong,
.hero-title .gradient-text,
.phan-he-hero h1,
.ai-platform-v5 .ai-hero h1 {
  background-image: linear-gradient(100deg, #ffffff, var(--lean-blue-300), #ffffff) !important;
}
.hero-subtitle,
.page-header p,
.page-hero p,
.phan-he-hero .phan-he-subtitle,
.single-hero .hero-subtitle { color: #d9edff !important; }
.section-tag {
  background: var(--lean-gradient) !important;
  color: #ffffff !important;
}

/* Cards: neutral surfaces in light mode, blue surfaces in dark mode. */
.pillar-card,
.module-card,
.course-card,
.case-card,
.blog-card,
.testimonial-card,
.post-card,
.phan-he-card,
.eco-site-card,
.eco-feed-card,
.eco-event-card,
.pricing-card,
.edge-card,
.partner-card,
.value-card,
.vision-card,
.service-list-card,
.package-card,
.app-detail-card,
.ai-card {
  background: var(--lean-surface-strong) !important;
  border: 1px solid var(--lean-border) !important;
  color: var(--lean-ink) !important;
  box-shadow: 0 12px 34px rgba(16, 36, 61, .08) !important;
}
[data-theme="dark"] .pillar-card,
[data-theme="dark"] .module-card,
[data-theme="dark"] .course-card,
[data-theme="dark"] .case-card,
[data-theme="dark"] .blog-card,
[data-theme="dark"] .testimonial-card,
[data-theme="dark"] .post-card,
[data-theme="dark"] .phan-he-card,
[data-theme="dark"] .eco-site-card,
[data-theme="dark"] .eco-feed-card,
[data-theme="dark"] .eco-event-card,
[data-theme="dark"] .pricing-card,
[data-theme="dark"] .edge-card,
[data-theme="dark"] .partner-card,
[data-theme="dark"] .value-card,
[data-theme="dark"] .vision-card,
[data-theme="dark"] .service-list-card,
[data-theme="dark"] .package-card,
[data-theme="dark"] .app-detail-card,
[data-theme="dark"] .ai-card {
  background: #102943 !important;
  border-color: #294b6d !important;
  color: #f4f9ff !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .24) !important;
}
.pillar-card h3,
.module-card h3,
.course-card h3,
.case-card h3,
.blog-card h3,
.post-card h3,
.phan-he-card h3,
.eco-site-card h3,
.pricing-card h3,
.edge-card h3,
.partner-card h4,
.value-card h4,
.vision-card h3,
.service-list-card h3,
.package-card h3,
.app-detail-card h3 { color: var(--lean-ink) !important; }
[data-theme="dark"] .pillar-card h3,
[data-theme="dark"] .module-card h3,
[data-theme="dark"] .course-card h3,
[data-theme="dark"] .case-card h3,
[data-theme="dark"] .blog-card h3,
[data-theme="dark"] .post-card h3,
[data-theme="dark"] .phan-he-card h3,
[data-theme="dark"] .eco-site-card h3,
[data-theme="dark"] .pricing-card h3,
[data-theme="dark"] .edge-card h3,
[data-theme="dark"] .partner-card h4,
[data-theme="dark"] .value-card h4,
[data-theme="dark"] .vision-card h3,
[data-theme="dark"] .service-list-card h3,
[data-theme="dark"] .package-card h3,
[data-theme="dark"] .app-detail-card h3 { color: #f4f9ff !important; }
.pillar-card p,
.module-card p,
.course-card p,
.case-card p,
.blog-card p,
.post-card p,
.phan-he-card p,
.eco-site-card p,
.pricing-card p,
.edge-card p,
.value-card p,
.vision-card p,
.service-list-card p,
.package-card p,
.app-detail-card p { color: var(--lean-muted) !important; }
[data-theme="dark"] .pillar-card p,
[data-theme="dark"] .module-card p,
[data-theme="dark"] .course-card p,
[data-theme="dark"] .case-card p,
[data-theme="dark"] .blog-card p,
[data-theme="dark"] .post-card p,
[data-theme="dark"] .phan-he-card p,
[data-theme="dark"] .eco-site-card p,
[data-theme="dark"] .pricing-card p,
[data-theme="dark"] .edge-card p,
[data-theme="dark"] .value-card p,
[data-theme="dark"] .vision-card p,
[data-theme="dark"] .service-list-card p,
[data-theme="dark"] .package-card p,
[data-theme="dark"] .app-detail-card p { color: #c0d3e6 !important; }

/* Buttons and status labels stay within the same hue family. */
.btn-primary,
.btn-accent,
.apps-cta-btn,
.hero-cta .btn-primary,
.site-main .btn-primary {
  background: var(--lean-gradient) !important;
  border-color: var(--lean-blue-700) !important;
  color: #ffffff !important;
}
.btn-primary:hover,
.btn-accent:hover,
.apps-cta-btn:hover { background: linear-gradient(135deg, var(--lean-blue-700), var(--lean-blue-500)) !important; }
.btn-outline,
.btn-link { color: var(--lean-blue-700) !important; border-color: var(--lean-blue-700); }
[data-theme="dark"] .btn-outline,
[data-theme="dark"] .btn-link { color: var(--lean-blue-300) !important; }
.status-badge,
.module-status,
.pillar-tag,
.app-card-badge,
.tag { background: var(--lean-blue-100) !important; color: var(--lean-blue-800) !important; border-color: #b8dcf5 !important; }
[data-theme="dark"] .status-badge,
[data-theme="dark"] .module-status,
[data-theme="dark"] .pillar-tag,
[data-theme="dark"] .app-card-badge,
[data-theme="dark"] .tag { background: rgba(22, 143, 227, .2) !important; color: var(--lean-blue-300) !important; border-color: #386b94 !important; }
.pillar-tag[data-pillar="lean"],
.pillar-tag[data-pillar="tpm"],
.pillar-tag[data-pillar="scm"],
.pillar-tag[data-pillar="quality"],
.pillar-tag[data-pillar="erp"],
.vision-card.vision h3,
.vision-card.mission h3,
.vision-card.philosophy h3 { color: var(--lean-blue-700) !important; }
[data-theme="dark"] .pillar-tag[data-pillar="lean"],
[data-theme="dark"] .pillar-tag[data-pillar="tpm"],
[data-theme="dark"] .pillar-tag[data-pillar="scm"],
[data-theme="dark"] .pillar-tag[data-pillar="quality"],
[data-theme="dark"] .pillar-tag[data-pillar="erp"],
[data-theme="dark"] .vision-card.vision h3,
[data-theme="dark"] .vision-card.mission h3,
[data-theme="dark"] .vision-card.philosophy h3 { color: var(--lean-blue-300) !important; }

/* Content, forms and data tables. */
.entry-content,
.course-content,
.post-content,
.cs-content-imported,
.content-main,
.page-content { color: var(--lean-ink) !important; }
[data-theme="dark"] .entry-content,
[data-theme="dark"] .course-content,
[data-theme="dark"] .post-content,
[data-theme="dark"] .cs-content-imported,
[data-theme="dark"] .content-main,
[data-theme="dark"] .page-content { color: #e6f1fb !important; }
.entry-content h2,
.entry-content h3,
.course-content h2,
.course-content h3,
.post-content h2,
.post-content h3,
.content-main h2,
.content-main h3 { color: var(--lean-blue-800) !important; border-color: var(--lean-blue-600) !important; }
[data-theme="dark"] .entry-content h2,
[data-theme="dark"] .entry-content h3,
[data-theme="dark"] .course-content h2,
[data-theme="dark"] .course-content h3,
[data-theme="dark"] .post-content h2,
[data-theme="dark"] .post-content h3,
[data-theme="dark"] .content-main h2,
[data-theme="dark"] .content-main h3 { color: var(--lean-blue-300) !important; }
.site-main input,
.site-main select,
.site-main textarea { background: #ffffff !important; color: var(--lean-ink) !important; border-color: #abc5da !important; }
[data-theme="dark"] .site-main input,
[data-theme="dark"] .site-main select,
[data-theme="dark"] .site-main textarea { background: #091a2e !important; color: #f4f9ff !important; border-color: #386b94 !important; }
.site-main table th { background: var(--lean-blue-800) !important; color: #ffffff !important; }
.site-main table td { background: #ffffff !important; color: var(--lean-ink) !important; border-color: var(--lean-border) !important; }
[data-theme="dark"] .site-main table td { background: #102943 !important; color: #e6f1fb !important; border-color: #386b94 !important; }

/* Sections and footer use alternating depth, never competing hues. */
.section,
.courses-archive,
.modules-section,
.cases-section,
.case-studies-archive,
.phan-he-archive-section,
.vision-section,
.partners-section { background: var(--lean-surface) !important; }
[data-theme="dark"] .section,
[data-theme="dark"] .courses-archive,
[data-theme="dark"] .modules-section,
[data-theme="dark"] .cases-section,
[data-theme="dark"] .case-studies-archive,
[data-theme="dark"] .phan-he-archive-section,
[data-theme="dark"] .vision-section,
[data-theme="dark"] .partners-section { background: #0b1e35 !important; }
.modules-section,
.service-cta-section,
.site-footer,
.footer-network { background: var(--lean-gradient) !important; }
.site-footer,
.site-footer a,
.footer-network,
.footer-network a { color: #ffffff !important; }
.footer-network-link { background: rgba(255,255,255,.08) !important; border-color: rgba(142,212,255,.28) !important; }
.footer-network-link span { color: #c6e4fb !important; }

/* Remove the last multi-hue decorative accents from component variants. */
.hero::before,
.hero::after,
.house-tech-layer,
.house-foundation,
.ai-feature-card,
.ai-platform-v5 .ai-cta .cta-box,
.cs-bridge { background-image: var(--lean-gradient) !important; }
.ai-feature-card,
.ai-platform-v5 .ai-card,
.app-card { border-color: rgba(142,212,255,.28) !important; }
.module-icon,
.module-category-icon,
.pillar-icon { background: var(--lean-gradient) !important; }
.module-icon .icon,
.module-category-icon .icon,
.pillar-icon .icon { color: #ffffff !important; }

/* Keyboard focus remains visible against both surfaces. */
:where(a, button, input, select, textarea):focus-visible {
  outline-color: var(--lean-blue-500) !important;
  box-shadow: 0 0 0 4px rgba(22,143,227,.22) !important;
}

/* Trial / HRM is a full-screen product surface with its own old tokens. */
.trial-main,
.tc-shell,
.hrm-hero { background: var(--lean-blue-950) !important; color: #e6f1fb !important; }
.trial-main {
  --trial-bg: var(--lean-blue-950) !important;
  --trial-surface: #102943 !important;
  --trial-surface-2: #143452 !important;
  --trial-text: #f4f9ff !important;
  --trial-muted: #a9c2d8 !important;
  --trial-accent: var(--lean-blue-500) !important;
  --trial-accent-2: var(--lean-blue-300) !important;
  --c: var(--lean-blue-500) !important;
  --cyan: var(--lean-blue-300) !important;
  --line: rgba(142, 212, 255, .22) !important;
}
.trial-hero,
.hrm-hero,
.tc-hero,
.tc-loop,
.trial-cta-box {
  background: var(--lean-gradient) !important;
  border-color: rgba(142, 212, 255, .28) !important;
}
.trial-orb,
.tc-hero:before,
.tc-pulse:after { background: rgba(22, 143, 227, .18) !important; }
.trial-hero-title,
.hrm-hero-title,
.tc-copy h1 { color: #ffffff !important; }
.trial-hero-gradient,
.tc-copy h1 span,
.hrm-hero-title .hrm-hero-line2 {
  background-image: linear-gradient(100deg, #ffffff, var(--lean-blue-300), #ffffff) !important;
}
.trial-section-tag,
.trial-accent,
.trial-kicker,
.tc-kicker,
.tc-heading small,
.tc-loop small,
.tc-pulse em,
.tc-score header span { color: var(--lean-blue-300) !important; }
.trial-btn-primary,
.tc-primary,
.hrm-hero-cta .trial-btn-primary { background: var(--lean-gradient) !important; color: #ffffff !important; }
.trial-btn-ghost,
.tc-secondary { color: #d9edff !important; border-color: rgba(142,212,255,.36) !important; }
.trial-stat,
.trial-industry-card,
.trial-location-card,
.trial-app-card,
.trial-seo-card,
.hrm-feature-card,
.hrm-phase,
.tc-pulse,
.tc-panel,
.tc-app,
.tc-tag,
.tc-kpis div {
  background: #102943 !important;
  border-color: #294b6d !important;
  color: #e6f1fb !important;
}
.trial-stat-num,
.trial-industry-name,
.trial-location-name,
.trial-app-name,
.trial-seo-name,
.hrm-feature-name,
.hrm-phase-name,
.tc-pulse header strong,
.tc-panel header strong,
.tc-app h3,
.tc-loop li strong { color: #f4f9ff !important; }
.trial-stat-label,
.trial-industry-vi,
.trial-org-vi,
.trial-location-ind,
.trial-app-vi,
.trial-app-desc,
.trial-seo-topics,
.hrm-feature-desc,
.hrm-feature-vi,
.tc-copy>p,
.tc-heading>p,
.tc-app p,
.tc-kpis span,
.tc-trust,
.tc-loop p,
.tc-loop li span { color: #a9c2d8 !important; }
.trial-industry-card:hover,
.trial-location-card:hover,
.trial-app-card:hover,
.trial-seo-card:hover,
.hrm-feature-card:hover,
.hrm-phase:hover,
.tc-app:hover { border-color: var(--lean-blue-300) !important; }
.trial-industry-arrow,
.trial-app-open,
.trial-seo-topics a,
.trial-seo-visit,
.tc-panel header a,
.tc-app>b { color: var(--lean-blue-300) !important; }
.trial-loc-chip,
.trial-filter-btn,
.tc-icon,
.tc-loop li>b { background: rgba(22,143,227,.18) !important; color: var(--lean-blue-300) !important; border-color: rgba(142,212,255,.24) !important; }
.tc-app:after { background: var(--lean-blue-500) !important; }
.tc-ring { background: radial-gradient(circle, #102943 57%, transparent 59%), conic-gradient(var(--lean-blue-500) var(--score), rgba(142,212,255,.12) 0) !important; }
.trial-main [style*="--app-color"],
.trial-main [style*="--tone"] { --app-color: var(--lean-blue-500) !important; --tone: var(--lean-blue-500) !important; }

/* Course, case-study and module detail sub-themes. */
.course-single,
.cs-single,
.phan-he-single {
  --cr-accent: var(--lean-blue-600) !important;
  --cr-accent-2: var(--lean-blue-500) !important;
  --cr-grad: var(--lean-gradient) !important;
  --cs-accent: var(--lean-blue-600) !important;
  --cs-accent-2: var(--lean-blue-500) !important;
  --cs-grad: var(--lean-gradient) !important;
  --ph-accent: var(--lean-blue-600) !important;
  --ph-accent-2: var(--lean-blue-500) !important;
  --ph-accent-3: var(--lean-blue-300) !important;
  --ph-grad: var(--lean-gradient) !important;
  --ph-border: rgba(22,143,227,.28) !important;
}
.course-hero-overlay,
.page-header.cs-header,
.phan-he-hero,
.phan-he-hero h1 { background-image: var(--lean-gradient) !important; }
.course-hero-overlay { opacity: .9; }
.result-card,
.cs-testimonial,
.cs-meta-bar,
.eco-box,
.phan-he-hero .hero-stat,
.phan-he-hero .hero-visual-card,
.post-crosslink,
.cross-card {
  background: var(--lean-surface-strong) !important;
  border-color: var(--lean-border) !important;
  color: var(--lean-ink) !important;
}
[data-theme="dark"] .result-card,
[data-theme="dark"] .cs-testimonial,
[data-theme="dark"] .cs-meta-bar,
[data-theme="dark"] .eco-box,
[data-theme="dark"] .phan-he-hero .hero-stat,
[data-theme="dark"] .phan-he-hero .hero-visual-card,
[data-theme="dark"] .post-crosslink,
[data-theme="dark"] .cross-card {
  background: #102943 !important;
  border-color: #294b6d !important;
  color: #e6f1fb !important;
}
.result-value,
.cs-testimonial::before,
.cross-cta,
.crosslink-badge,
.cross-text h4 { color: var(--lean-blue-700) !important; }
[data-theme="dark"] .result-value,
[data-theme="dark"] .cs-testimonial::before,
[data-theme="dark"] .cross-cta,
[data-theme="dark"] .crosslink-badge,
[data-theme="dark"] .cross-text h4 { color: var(--lean-blue-300) !important; }
.cross-icon { background: var(--lean-gradient) !important; }
.course-hero-sidebar .sidebar-card { background: var(--lean-surface-strong) !important; border-color: var(--lean-border) !important; }
[data-theme="dark"] .course-hero-sidebar .sidebar-card { background: #102943 !important; border-color: #294b6d !important; }

/* Contextual cross-link hub used by archives, AI and module landing pages. */
.ecosystem-hub {
  max-width: 1200px;
  margin: clamp(2rem, 5vw, 4rem) auto 0;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border: 1px solid var(--lean-border);
  border-radius: 24px;
  background: var(--lean-gradient-soft);
}
.ecosystem-hub-heading { max-width: 720px; margin-bottom: 1.35rem; }
.ecosystem-hub-kicker {
  display: inline-block;
  margin-bottom: .5rem;
  color: var(--lean-blue-700);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.ecosystem-hub-heading h2 { margin: 0 0 .45rem; color: var(--lean-ink) !important; font-size: clamp(1.35rem, 2.6vw, 2rem); }
.ecosystem-hub-heading p { margin: 0; color: var(--lean-muted) !important; line-height: 1.7; }
.ecosystem-hub-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.ecosystem-hub-card {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  min-height: 8.3rem;
  padding: 1rem;
  border: 1px solid var(--lean-border);
  border-radius: 18px;
  background: #ffffff;
  color: var(--lean-ink) !important;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ecosystem-hub-card:hover,
.ecosystem-hub-card:focus-visible { transform: translateY(-4px); border-color: var(--lean-blue-500); box-shadow: 0 14px 28px rgba(13,91,150,.14); }
.ecosystem-hub-card.is-current { border-color: var(--lean-blue-500); box-shadow: inset 0 3px 0 var(--lean-blue-500); }
.ecosystem-hub-icon { display: grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 12px; background: var(--lean-gradient); color: #ffffff; }
.ecosystem-hub-icon svg { width: 1.25rem; height: 1.25rem; }
.ecosystem-hub-copy { display: flex; min-width: 0; flex-direction: column; gap: .28rem; }
.ecosystem-hub-copy strong { color: var(--lean-ink); font-size: .95rem; }
.ecosystem-hub-copy span { color: var(--lean-muted); font-size: .78rem; line-height: 1.45; }
.ecosystem-hub-copy em { color: var(--lean-blue-700); font-size: .76rem; font-style: normal; font-weight: 700; }
[data-theme="dark"] .ecosystem-hub { background: linear-gradient(135deg, #0d355c, #0a2340); border-color: #294b6d; }
[data-theme="dark"] .ecosystem-hub-heading h2,
[data-theme="dark"] .ecosystem-hub-copy strong { color: #f4f9ff !important; }
[data-theme="dark"] .ecosystem-hub-heading p,
[data-theme="dark"] .ecosystem-hub-copy span { color: #c0d3e6 !important; }
[data-theme="dark"] .ecosystem-hub-kicker,
[data-theme="dark"] .ecosystem-hub-copy em { color: var(--lean-blue-300); }
[data-theme="dark"] .ecosystem-hub-card { background: #102943; border-color: #294b6d; }
@media (max-width: 900px) { .ecosystem-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ecosystem-hub-grid { grid-template-columns: 1fr; } }

/* Homepage legacy inline bridge: keep the content structure while enforcing
 * the approved single-hue system until the markup refactor is complete. */
body.home #house .house-interactive {
  background: #ffffff !important;
  border: 1px solid var(--lean-border) !important;
  box-shadow: 0 18px 48px rgba(16,36,61,.10) !important;
}
body.home #house .house-interactive > div:nth-child(1) {
  background: var(--lean-gradient) !important;
}
body.home #house .house-interactive > div:nth-child(2),
body.home #house .house-interactive > div:nth-child(4) {
  background: linear-gradient(135deg, var(--lean-blue-900), var(--lean-blue-700)) !important;
  border-color: var(--lean-blue-700) !important;
}
body.home #house .house-interactive > div:nth-child(2) span,
body.home #house .house-interactive > div:nth-child(4) span {
  background: linear-gradient(135deg, var(--lean-blue-700), var(--lean-blue-500)) !important;
  color: #ffffff !important;
}
body.home #house .house-interactive > div:nth-child(3) > a {
  background: linear-gradient(160deg, var(--lean-blue-700), var(--lean-blue-900)) !important;
  border-color: rgba(142,212,255,.30) !important;
}
body.home #house .house-interactive > div:nth-child(3) > a > div { color: #ffffff !important; }
body.home #ai-features { background: var(--lean-surface) !important; }
body.home #ai-features .ai-feature-icon { background: rgba(22,143,227,.18) !important; }
body.home #ai-features .ai-feature-icon svg { stroke: var(--lean-blue-300) !important; }
body.home .apps-section {
  background: linear-gradient(180deg, var(--lean-blue-950), var(--lean-blue-900)) !important;
}
body.home .apps-section h2,
body.home .apps-section .section-header p { color: #ffffff !important; }
body.home [style*="#f9a825"],
body.home [style*="#fbbf24"],
body.home [style*="#4ade80"],
body.home [style*="#a78bfa"],
body.home [style*="#16a34a"],
body.home [style*="#7c3aed"],
body.home [style*="#ea580c"],
body.home [style*="#dc2626"],
body.home [style*="#f97316"] { color: var(--lean-blue-300) !important; }

/* New Codex-generated hero art, mapped to the content intent of each route. */
.home .hero-bg {
  background: transparent !important;
}
.home .hero-bg::before {
  opacity: .22;
  background: transparent !important;
}
.home .hero {
  background-image: linear-gradient(100deg, rgba(3,14,32,.96), rgba(8,83,160,.46)), url('../images/branding/v3/leanerp-ecosystem-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.ai-platform-v5 .ai-hero,
.page-template-page-cicc-ai .page-hero {
  background-image: linear-gradient(100deg, rgba(2,13,31,.97), rgba(7,82,157,.42)), url('../images/branding/v3/leanerp-ai-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.courses-archive > .page-header,
.course-single .course-hero {
  background-image: linear-gradient(100deg, rgba(3,14,32,.96), rgba(8,83,160,.44)), url('../images/branding/v3/leanerp-learning-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.cs-archive > .page-header,
.cs-single .cs-header,
.case-header {
  background-image: linear-gradient(100deg, rgba(3,14,32,.96), rgba(8,83,160,.42)), url('../images/branding/v3/leanerp-improvement-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.docs-banner,
.eco-seo-hero,
.template-ecosystem .page-hero,
.template-ecosystem-seo .page-hero {
  background-image: linear-gradient(100deg, rgba(3,14,32,.96), rgba(8,83,160,.42)), url('../images/branding/v3/leanerp-ecosystem-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
@media (max-width: 700px) {
  .home .hero,
  .ai-platform-v5 .ai-hero,
  .courses-archive > .page-header,
  .cs-archive > .page-header,
  .cs-single .cs-header,
  .case-header,
  .docs-banner,
  .eco-seo-hero { background-position: center, 68% center !important; }
}

/* Search results and recovery states */
.search-results-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--space-lg); }
.search-result-card { background: var(--lean-surface) !important; border: 1px solid var(--lean-border) !important; border-radius: var(--radius-lg) !important; overflow: hidden; transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; }
.search-result-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.search-result-body { padding: var(--space-lg); flex: 1; }
.search-result-meta { display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-sm); }
.search-result-badge { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--lean-blue-100); color: var(--lean-blue-800); }
.search-result-title { font-size: 18px; margin-bottom: var(--space-sm); }
.search-result-title a { color: var(--lean-ink) !important; text-decoration: none; }
.search-result-title a:hover { color: var(--lean-blue-700) !important; }
.search-result-excerpt { font-size: 14px; color: var(--lean-muted) !important; line-height: 1.6; }
.search-result-date { margin-top: var(--space-md); font-size: 13px; color: var(--lean-muted) !important; }
.search-result-link { margin: 0 var(--space-lg) var(--space-lg); width: calc(100% - 48px); }
.search-pagination { margin-top: var(--space-2xl); text-align: center; }
.search-empty-state { text-align: center; padding: var(--space-4xl) 0; }
.search-empty-state h2 { margin-bottom: var(--space-md); }
.search-empty-icon svg { width: 64px; height: 64px; color: var(--lean-blue-500); margin-bottom: var(--space-lg); }
.search-empty-emoji { font-size: 64px; margin-bottom: var(--space-lg); }
.search-empty-lead { font-size: 16px; color: var(--lean-muted) !important; margin-bottom: var(--space-xl); }
.search-empty-hint { font-size: 14px; color: var(--lean-muted) !important; margin-bottom: var(--space-xl); }
.search-form-wrap { max-width: 400px; margin: 0 auto; }
.search-form-row { display: flex; gap: 8px; }
.search-form-input { flex: 1; padding: 12px 16px; border: 2px solid var(--lean-border) !important; border-radius: var(--radius-md); font-size: 15px; min-width: 0; }
@media (max-width: 600px) { .search-results-grid { grid-template-columns: 1fr; } .search-form-row { align-items: stretch; } }

/* Contextual visual markers for every non-homepage section header. */
body:not(.home) .section-header::before,
body.page-template-template-trial .trial-section-head::before {
  content: '';
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto 10px;
  background: url('../images/icons/generated/lean-icon-ecosystem-v1.webp') center / contain no-repeat;
  filter: drop-shadow(0 10px 20px rgba(8,120,201,.26));
}
body.ai-platform-v5 .section-header::before,
body.page-template-page-cicc-ai .section-header::before { background-image: url('../images/icons/generated/lean-icon-ai-v1.webp'); }
body.courses-archive .section-header::before,
body.single-course .section-header::before,
body.page-template-template-docs .section-header::before { background-image: url('../images/icons/generated/lean-icon-academy-v1.webp'); }
body.cs-archive .section-header::before,
body.cs-single .section-header::before,
body.single-case_study .section-header::before { background-image: url('../images/icons/generated/lean-icon-kaizen-v1.webp'); }
body.page-template-template-phan-he .section-header::before,
body.post-type-archive-phan_he .section-header::before,
body.single-phan_he .section-header::before { background-image: url('../images/icons/generated/lean-icon-ecosystem-v1.webp'); }
body.page-template-template-trial .trial-section-head::before { background-image: url('../images/icons/generated/lean-icon-ai-v1.webp'); }
@media (max-width: 700px) {
  body:not(.home) .section-header::before,
  body.page-template-template-trial .trial-section-head::before { width: 60px; height: 60px; }
}

/* Legacy template harmonization: inline accents cannot break the single-theme palette. */
.ai-platform-v5 .ai-card,
.page-template-page-cicc-ai .ai-card { --ai: var(--lean-blue-600) !important; }
.ai-platform-v5 .ai-card::before,
.page-template-page-cicc-ai .ai-card::before,
.ai-platform-v5 .ai-icon,
.page-template-page-cicc-ai .ai-icon { background: var(--lean-blue-100) !important; color: var(--lean-blue-700) !important; border-color: var(--lean-border) !important; }
.ai-platform-v5 .ai-icon svg,
.page-template-page-cicc-ai .ai-icon svg { stroke: var(--lean-blue-600) !important; }
.eco-site-header { background: var(--lean-gradient) !important; }
.pillar-seo-number { color: var(--lean-blue-700) !important; }
.eco-feed-source { background: rgba(22,143,227,.12) !important; color: var(--lean-blue-700) !important; }
.value-icon,
.partner-logo { background: var(--lean-gradient) !important; color: #fff !important; }
.template-ecosystem-seo .section,
.page-template-template-ecosystem-seo .section { background: var(--lean-surface) !important; }
.template-ecosystem-seo .eco-seo-cta,
.page-template-template-ecosystem-seo .eco-seo-cta { background: var(--lean-gradient) !important; }
.eco-seo-hero-inner { padding: 60px 0; text-align: center; }
.eco-seo-hero-tag { background: rgba(255,255,255,.14) !important; color: #fff !important; border-color: rgba(255,255,255,.24) !important; }
.eco-seo-hero-title { font-size: clamp(32px,5vw,48px); font-weight: 800; color: #fff !important; margin: 16px 0 12px; }
.eco-seo-hero-accent { color: var(--lean-blue-300) !important; }
.eco-seo-hero-lead { font-size: 18px; opacity: .88; max-width: 650px; margin: 0 auto 32px; color: #e6f4ff !important; }
.eco-seo-hero-actions, .eco-seo-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.eco-site-header--consulting, .eco-site-header--academy, .eco-site-header--leanerp, .eco-site-header--ai { background: var(--lean-gradient) !important; }
.eco-section-muted { background: var(--lean-surface) !important; }
.eco-feed-source--academy { background: rgba(22,143,227,.12) !important; color: var(--lean-blue-700) !important; }
.eco-feed-empty { color: var(--lean-muted) !important; text-align: center; padding: 40px; }
.eco-feed-actions { text-align: center; margin-top: 32px; }
.eco-seo-cta { background: var(--lean-gradient) !important; padding: 60px 0; }
.eco-seo-cta-inner { text-align: center; color: #fff; }
.eco-seo-cta-title { font-size: clamp(24px,3vw,36px); font-weight: 800; color: #fff !important; margin-bottom: 12px; }
.eco-seo-cta-lead { font-size: 16px; opacity: .86; max-width: 550px; margin: 0 auto 28px; color: #e6f4ff !important; }
.about-brand-logo { display: block; height: 48px; width: auto; }
.value-icon { background: var(--lean-gradient) !important; color: #fff !important; }
.photo-frame { overflow: hidden; border-radius: 50%; }
.founder-photo-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.partner-logo { background: var(--lean-gradient) !important; color: #fff !important; }
.leanerp-banner-content { flex: 1; min-width: 260px; }
.leanerp-banner-button { background: var(--lean-blue-900) !important; color: #fff !important; font-weight: 700; padding: 14px 28px; border-radius: 12px; white-space: nowrap; }
.about-cta-section { padding-bottom: 0 !important; }
.top-login-logout { color: #b6c8da !important; }
.top-login-link { font-weight: 600; }
.top-trial-cta { color: #fff !important; font-weight: 700; background: var(--lean-blue-600) !important; padding: 5px 14px; border-radius: 9999px; }
.mega-label-spaced { margin-top: 12px; }
.mega-hotline { font-size: 1.125rem; font-weight: 800; color: var(--lean-blue-700) !important; }
.mega-email { font-weight: 600; }
.mega-spacer-sm { height: 8px; }
.mega-spacer-md { height: 12px; }
.mega-trial-button { text-align: center; }
.mobile-nav-actions { padding: 16px 0; display: flex; flex-direction: column; gap: 8px; }
.mobile-ecosystem-row { display: flex; gap: 8px; margin-bottom: 8px; padding: 0 4px; }
.mobile-ecosystem-link { flex: 1; text-align: center; padding: 8px; font-size: 13px; font-weight: 600; border-radius: 8px; background: var(--lean-blue-100); color: var(--lean-blue-800) !important; text-decoration: none; }
.mobile-ecosystem-link.is-current { background: var(--lean-blue-900); color: #fff !important; }
.mobile-logout-button { color: var(--lean-muted) !important; text-align: center; }
.mobile-trial-button { text-align: center; color: var(--lean-blue-700) !important; border-color: var(--lean-blue-500) !important; }

/* Homepage legacy house, course and CTA layers: preserve structure, upgrade the visual system. */
body.home #house .house-interactive {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--lean-border) !important;
  box-shadow: 0 22px 60px rgba(6,20,38,.14) !important;
}
body.home #house .house-interactive > div:nth-child(1) {
  background: var(--lean-gradient) !important;
  box-shadow: 0 10px 28px rgba(8,120,201,.24) !important;
}
body.home #house .house-interactive > div:nth-child(2),
body.home #house .house-interactive > div:nth-child(4) {
  background: linear-gradient(135deg, var(--lean-blue-900), var(--lean-blue-700)) !important;
  border-top-color: var(--lean-blue-500) !important;
  box-shadow: inset 0 3px 10px rgba(0,0,0,.18) !important;
}
body.home #house .house-interactive > div:nth-child(2) > span,
body.home #house .house-interactive > div:nth-child(4) > span {
  background: linear-gradient(135deg, var(--lean-blue-700), var(--lean-blue-500)) !important;
  color: #fff !important;
  box-shadow: 0 5px 12px rgba(6,20,38,.18) !important;
}
body.home #house .house-interactive > div:nth-child(3) > a {
  background: linear-gradient(160deg, var(--lean-blue-700), var(--lean-blue-950)) !important;
  box-shadow: 0 8px 18px rgba(6,20,38,.18) !important;
}
body.home #house .house-interactive > div:nth-child(3) > a > div { color: #fff !important; }
body.home #ai-features .ai-feature-card,
body.home .course-card,
body.home .case-card { border-color: var(--lean-border) !important; }
body.home .ai-feature-card { background: linear-gradient(145deg, var(--lean-blue-900), var(--lean-blue-700)) !important; }
body.home .ai-feature-card h3,
body.home .ai-feature-card p { color: #fff !important; }
body.home .course-level-badge { background: var(--lean-blue-100) !important; color: var(--lean-blue-800) !important; }
body.home .course-header { background: var(--lean-gradient) !important; }
body.home .course-price span:first-child { color: var(--lean-blue-700) !important; }
body.home .blog-card,
body.home .testimonial-card { border-color: var(--lean-border) !important; background: var(--lean-surface-strong) !important; }

/* Semantic module landing components */
.module-hero {
  padding: 80px 0;
  text-align: center;
  background-image: linear-gradient(100deg, rgba(3,14,32,.96), rgba(8,83,160,.46)), url('../images/branding/v3/leanerp-ecosystem-section-v3.webp') !important;
  background-position: center, center right;
  background-size: cover, cover;
}
.module-hero-tag {
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  border: 1px solid rgba(142,212,255,.3) !important;
}
.module-hero-title { font-size: clamp(32px, 5vw, 48px); font-weight: 800; color: #fff !important; margin: 16px 0 12px; }
.module-hero-subtitle { font-size: 18px; opacity: .9; max-width: 650px; margin: 0 auto 32px; color: #d9edff !important; }
.module-seo-intro { max-width: 760px; margin: 0 auto 24px; color: #c0d3e6 !important; font-size: 14px; line-height: 1.7; }
.module-seo-intro a { color: var(--lean-blue-300) !important; font-weight: 700; }
.module-hero-stats { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; }
.module-stat { text-align: center; color: #fff; min-width: 82px; }
.module-stat strong { display: block; font-size: 28px; font-weight: 800; color: var(--lean-blue-300); }
.module-stat span { display: block; font-size: 12px; opacity: .78; }
.module-filter-section { padding: 32px 0 0; }
.module-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 32px; }
.module-filter-bar .filter-btn { padding: 8px 20px; border-radius: 20px; border: 1px solid var(--lean-border); background: #fff; color: var(--lean-ink); font-weight: 600; cursor: pointer; transition: all .2s; }
.module-filter-bar .filter-btn.active,
.module-filter-bar .filter-btn:hover { background: var(--lean-blue-700) !important; color: #fff !important; border-color: var(--lean-blue-700) !important; }
.module-search-wrap { text-align: center; margin-bottom: 32px; }
.module-search-input { width: 100%; max-width: 500px; padding: 12px 20px; border-radius: 12px; border: 2px solid var(--lean-border) !important; font-size: 16px; outline: none; }
.module-grid-section { padding-top: 0; }
.module-grid-section .modules-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
.module-card { display: flex !important; flex-direction: column; gap: 12px; padding: 24px !important; border-radius: 16px !important; }
.module-card.is-filtered-out { display: none !important; }
.module-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; }
.module-card-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.module-pillar-label { font-size: 12px; font-weight: 600; color: var(--lean-blue-700) !important; }
.module-status { font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 10px; white-space: nowrap; background: var(--lean-blue-100) !important; color: var(--lean-blue-800) !important; }
.module-card h3 { font-size: 18px; margin: 0; font-weight: 700; color: var(--lean-ink) !important; }
.module-card p { font-size: 14px; color: var(--lean-muted) !important; margin: 0; line-height: 1.5; flex-grow: 1; }
.module-card-tags { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.module-stars { font-size: 12px; color: var(--lean-blue-500); }
.module-mobile-tag { font-size: 11px; background: var(--lean-blue-100); color: var(--lean-blue-800); padding: 2px 8px; border-radius: 8px; }
.module-detail-link { display: inline-block; padding: 8px 0; font-weight: 600; color: var(--lean-blue-700) !important; text-decoration: none; border-top: 1px solid var(--lean-border); margin-top: 4px; }
.module-no-results { display: none; text-align: center; padding: 60px 20px; color: var(--lean-muted); }
.module-no-results.is-visible { display: block; }
.module-no-results-icon { font-size: 48px; margin-bottom: 16px; }
.module-no-results-title,
.module-empty-state-title { margin: 0 0 8px; color: var(--lean-ink) !important; }
.module-no-results-copy,
.module-empty-state-copy { margin: 0; color: var(--lean-muted) !important; }
.module-empty-state { padding: 60px 20px; text-align: center; color: var(--lean-muted); }
.module-empty-state-icon { margin-bottom: 16px; font-size: 48px; }
.phan-he-card.is-filtered-out { display: none !important; }
.module-cta-box { text-align: center; }
.module-cta-actions { justify-content: center; }
[data-theme="dark"] .module-filter-bar .filter-btn:not(.active) { background: #102943 !important; color: #e6f1fb !important; border-color: #294b6d !important; }
[data-theme="dark"] .module-card h3 { color: #f4f9ff !important; }
@media (max-width: 700px) {
  .module-grid-section .modules-grid { grid-template-columns: 1fr; }
  .module-hero-stats { gap: 14px; }
}

/* Service page: one coherent LeanERP conversion banner */
.service-page-content {
  max-width: 800px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.8;
  color: var(--lean-muted) !important;
}
.service-leanerp-banner {
  padding: 0;
  background: var(--lean-gradient) !important;
}
.service-leanerp-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  padding: 48px 24px;
}
.service-leanerp-banner-content { flex: 1; min-width: 260px; }
.service-leanerp-banner-tag {
  display: inline-block;
  margin-bottom: 8px;
  padding: 4px 14px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
}
.service-leanerp-banner-title {
  margin: 0 0 8px;
  color: #fff !important;
  font-size: 24px;
}
.service-leanerp-banner-lead {
  margin: 0;
  color: #e6f4ff !important;
  font-size: 15px;
  line-height: 1.6;
}
.service-leanerp-banner-button {
  padding: 14px 28px;
  border-radius: 12px;
  background: var(--lean-blue-950) !important;
  color: #fff !important;
  font-weight: 700;
  white-space: nowrap;
}
.service-leanerp-banner-button:hover,
.service-leanerp-banner-button:focus-visible {
  background: var(--lean-blue-800) !important;
  color: #fff !important;
}
.contact-hero-tag {
  border: 1px solid rgba(255,255,255,.2) !important;
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
}
.contact-detail-note { color: var(--lean-muted) !important; font-size: 13px; }
#contact-form.is-submitted { display: none; }
.contact-success {
  display: none;
  margin-top: 20px;
  padding: 16px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
  color: #166534 !important;
  text-align: center;
  font-weight: 600;
}
.contact-success.is-visible { display: block; }
.contact-map-frame { display: block; border: 0; }
.error-404-ecosystem,
.cicc-related-ecosystem {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--lean-border);
  border-radius: 12px;
  background: var(--lean-surface-soft);
  text-align: left;
}
.cicc-related-ecosystem { margin-top: 48px; padding: 24px; }
.error-404-ecosystem-title,
.cicc-related-ecosystem h4 { margin: 0 0 12px; color: var(--lean-ink) !important; font-weight: 700; }
.cicc-related-ecosystem h4 { margin-bottom: 16px; }
.error-404-ecosystem-list,
.cicc-related-ecosystem ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cicc-related-ecosystem ul { gap: 12px; }
.error-404-ecosystem a,
.cicc-related-ecosystem a { color: var(--lean-blue-700) !important; font-weight: 600; text-decoration: none; }
.error-404-ecosystem a:hover,
.cicc-related-ecosystem a:hover { color: var(--lean-blue-900) !important; text-decoration: underline; }
.footer-proof-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--space-5, 20px); }
.footer-contact-cta { margin-top: 14px; text-align: center; }
.service-cta-zalo,
.service-cta-hotline,
.service-cta-booking { color: #fff !important; border-color: transparent !important; }
.service-cta-zalo { background: #0068ff !important; }
.service-cta-hotline { background: var(--lean-blue-700) !important; }
.service-cta-booking { background: var(--lean-blue-500) !important; }
.service-cta-zalo:hover,
.service-cta-zalo:focus-visible,
.service-cta-hotline:hover,
.service-cta-hotline:focus-visible,
.service-cta-booking:hover,
.service-cta-booking:focus-visible { background: var(--lean-blue-900) !important; color: #fff !important; }
.post-related-header { margin-bottom: 40px; text-align: center; }
.post-single .cross-icon { background: var(--lean-gradient) !important; color: #fff !important; }
.post-single .cross-icon-lean { border-color: rgba(89, 185, 255, .38) !important; }
.post-single .cross-icon-cicc { border-color: rgba(126, 211, 255, .38) !important; }
.post-single .cross-icon-academy { border-color: rgba(150, 225, 255, .38) !important; }
.post-single .cross-icon-ai { border-color: rgba(73, 166, 255, .38) !important; }
.wiki-hub-stats-spaced { margin-top: 20px; }
.wiki-card-icon-contextual { background: var(--lean-blue-100) !important; color: var(--lean-blue-700) !important; }
.cs-header-excerpt { max-width: 700px; margin: 16px auto 0; color: #d9edff !important; opacity: .92; }
.page-hero-blue { background: var(--lean-gradient) !important; }
.ecosystem-v4 .app-card { border-color: var(--lean-border) !important; }
.ecosystem-v4 .app-icon { background: var(--lean-blue-100) !important; border-color: var(--lean-border) !important; color: var(--lean-blue-700) !important; }
.ecosystem-v4 .app-card:hover { border-color: var(--lean-blue-300) !important; box-shadow: 0 24px 48px -16px rgba(8, 83, 160, .25) !important; }
.ecosystem-v4 .app-features span { background: var(--lean-blue-50) !important; color: var(--lean-muted) !important; }
.ecosystem-v4 .app-card .btn-small { background: var(--lean-blue-700) !important; color: #fff !important; border-color: var(--lean-blue-700) !important; }
.ecosystem-v4 .app-card .btn-outline-small { color: var(--lean-blue-700) !important; border-color: var(--lean-blue-300) !important; }
.index-home-button { margin-top: 16px; }
.home .house-interactive {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border-radius: 24px;
  background: #fff !important;
  box-shadow: 0 8px 32px rgba(0, 18, 45, .1);
}
.home .house-roof {
  position: relative;
  width: 100%;
  aspect-ratio: 8 / 1;
  overflow: hidden;
  clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
  cursor: pointer;
  background: var(--lean-gradient) !important;
  box-shadow: 0 4px 10px rgba(0, 18, 45, .15);
  transition: transform .5s ease, filter .5s ease;
}
.home .house-roof:hover { filter: brightness(1.12); transform: translateY(-4px); }
.house-roof-content { position: absolute; right: 0; bottom: 4px; left: 0; color: #fff; text-align: center; text-shadow: 0 3px 8px rgba(0, 18, 45, .6); }
.house-roof-title { font-size: clamp(18px, 3vw, 32px); font-weight: 700; }
.house-roof-subtitle { font-size: clamp(10px, 1.2vw, 16px); opacity: .9; }
.house-capabilities,
.house-pillars { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; gap: 10px; }
.house-capabilities { padding: 1.5rem; border-radius: 1.5rem; background: var(--lean-gradient) !important; box-shadow: inset 0 3px 8px rgba(0, 18, 45, .2); }
.house-capability { flex: 1 1 100px; padding: .6rem 1rem; border-radius: 12px; background: rgba(255,255,255,.14); color: #fff; font-weight: 600; text-align: center; box-shadow: 0 3px 6px rgba(0, 18, 45, .15); }
.house-pillars { gap: 12px; }
.house-pillar { display: flex; flex: 1 1 140px; min-width: 140px; height: 16rem; flex-direction: column; align-items: center; justify-content: flex-end; padding: 12px; overflow: hidden; border-radius: 12px; color: #fff !important; text-decoration: none; box-shadow: 0 4px 10px rgba(0, 18, 45, .1); transition: transform .4s ease, filter .4s ease; }
.house-pillar:hover { filter: brightness(1.16); transform: translateY(-6px); }
.house-pillar-copy { display: flex; flex-grow: 1; align-items: center; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg); color: #fff; font-size: 13px; text-align: center; text-shadow: 0 1px 3px rgba(0, 18, 45, .4); }
.house-pillar-title { color: #fff; font-size: 1.1rem; font-weight: 600; text-align: center; text-shadow: 0 2px 6px rgba(0, 18, 45, .4); }
.house-pillar-bsc { background: linear-gradient(160deg, var(--lean-blue-500), var(--lean-blue-900)); }
.house-pillar-tpm { background: linear-gradient(160deg, var(--lean-blue-600), var(--lean-blue-950)); }
.house-pillar-sixsigma { background: linear-gradient(160deg, var(--lean-blue-400), var(--lean-blue-800)); }
.house-pillar-scm { background: linear-gradient(160deg, var(--lean-blue-700), var(--lean-blue-950)); }
.house-pillar-erp { background: linear-gradient(160deg, var(--lean-blue-500), var(--lean-blue-950)); }
.house-foundation { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 1.5rem; border-top: 8px solid var(--lean-blue-800); border-radius: 1.5rem; background: var(--lean-gradient) !important; box-shadow: inset 0 3px 8px rgba(0, 18, 45, .2); }
.house-foundation-item { flex: 1 1 100px; padding: .6rem 1rem; border-radius: 12px; background: rgba(255,255,255,.14); color: #fff; font-weight: 600; text-align: center; box-shadow: 0 3px 6px rgba(0, 18, 45, .15); }
.footer__bottom { background: rgba(0, 18, 45, .34); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.footer-bottom-links-compact { display: flex; gap: 16px; flex-wrap: wrap; }
.mobile-bottom-nav { display: none; }
.mobile-bottom-nav.is-visible {
  display: flex;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  align-items: center;
  justify-content: space-around;
  padding: 6px 0 env(safe-area-inset-bottom, 6px);
  border-top: 1px solid rgba(142, 212, 255, .18);
  background: rgba(3, 20, 44, .96);
  box-shadow: 0 -8px 24px rgba(0, 18, 45, .22);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.mobile-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 56px;
  padding: 4px 10px;
  color: rgba(255,255,255,.62) !important;
  font-size: 10px;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}
.mobile-bottom-nav__item.is-active,
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item:focus-visible { color: var(--lean-blue-300) !important; }
.mobile-bottom-nav__item.is-active span { font-weight: 700; }
.mobile-bottom-nav__item svg { width: 22px; height: 22px; }
@media (min-width: 768px) { .mobile-bottom-nav { display: none !important; } }
.site-main input::placeholder,
.site-main textarea::placeholder { color: #637890 !important; opacity: 1; }
.site-main .leanerp-home-bridge { background: linear-gradient(135deg, var(--lean-blue-900), var(--lean-blue-950)) !important; color: #fff !important; }
.site-main .leanerp-home-bridge h2,
.site-main .leanerp-home-bridge p,
.site-main .leanerp-home-bridge span,
.site-main .leanerp-home-bridge .stat-label { color: #fff !important; }
.site-main .leanerp-home-bridge p,
.site-main .leanerp-home-bridge .stat-label { color: #d9edff !important; }
.site-main .leanerp-home-bridge .btn { color: #fff !important; border-color: rgba(255,255,255,.42) !important; }
.site-main .leanerp-home-bridge .btn:first-child { background: var(--lean-blue-300) !important; color: var(--lean-blue-950) !important; border-color: var(--lean-blue-300) !important; }
.home .ai-features-section { background: var(--lean-surface) !important; }
.home .course-thumb { display: block; overflow: hidden; aspect-ratio: 16 / 10; }
.home .course-thumb-image { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.home .course-card:hover .course-thumb-image { transform: scale(1.04); }
.home .course-body { padding: var(--space-lg); }
.home .course-level-badge { display: inline-block; margin-bottom: 8px; padding: 4px 10px; border-radius: 12px; background: var(--lean-blue-100) !important; color: var(--lean-blue-800) !important; font-size: 12px; font-weight: 600; }
.home .course-card-title { margin: 0 0 8px; font-size: 18px; }
.home .course-card-title a { color: var(--lean-ink) !important; }
.home .course-card-excerpt { color: var(--lean-muted) !important; font-size: 14px; line-height: 1.6; }
.home .course-card-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; color: var(--lean-muted) !important; font-size: 13px; }
.home .course-card-price { color: var(--lean-blue-700) !important; font-size: 14px; font-weight: 700; }
.home .course-card-cta { width: calc(100% - 48px); margin: 0 24px 24px; }
.home .course-header { padding: 32px; background: var(--lean-gradient) !important; color: #fff !important; text-align: center; }
.home .course-header h3 { color: #fff !important; font-size: 24px; font-weight: 800; }
.home .course-header span { color: #d9edff !important; font-size: 14px; }
.home .course-price { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin: 24px 0; color: var(--lean-blue-700); }
.home .course-price span:first-child { font-size: 28px; font-weight: 800; }
.home .course-price span:last-child { color: var(--lean-muted); font-size: 16px; text-decoration: line-through; }
.mobile-menu li a,
.mobile-nav-list .mobile-ecosystem-link { color: var(--lean-ink) !important; }
.mobile-menu li a:hover,
.mobile-nav-list .mobile-ecosystem-link:hover { color: var(--lean-blue-700) !important; background: var(--lean-blue-50) !important; }
@media (max-width: 700px) {
  .service-leanerp-banner-inner { padding: 36px 20px; }
  .service-leanerp-banner-button { width: 100%; text-align: center; }
}

/* MENU SYSTEM — one palette and one contrast contract for desktop + mobile. */
#top-bar,
#site-header.site-header,
#site-header.site-header.scrolled {
  background: #061a36 !important;
  color: #f7fbff !important;
  border-color: rgba(143, 211, 255, .28) !important;
}
#top-bar a,
#top-bar .top-phone,
#top-bar .top-lang,
#top-bar .top-globe,
#top-bar .top-lang-sep,
#top-bar .top-bar-right,
#site-header.site-header .logo-text,
#site-header.site-header .logo-sub,
#site-header.site-header .nav-list > li > a,
#site-header.site-header .nav-list > li > a span,
#site-header.site-header .site-switcher .site-link,
#site-header.site-header .site-switcher-sep,
#site-header.site-header .mobile-toggle {
  color: #f7fbff !important;
}
#top-bar a:hover,
#top-bar .top-lang.active,
#top-bar .top-phone:hover,
#site-header.site-header .nav-list > li > a:hover,
#site-header.site-header .nav-list > li.current-menu-item > a,
#site-header.site-header .site-switcher .site-link:hover,
#site-header.site-header .site-switcher .site-link.active {
  color: #8ed4ff !important;
  background: rgba(39, 156, 232, .24) !important;
}
#top-bar .top-login-text,
#top-bar .top-login-link,
#top-bar .top-login-logout {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 4px 11px !important;
  border: 1px solid rgba(143, 211, 255, .42) !important;
  border-radius: 999px !important;
  background: #0b3d6e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
#top-bar .top-login-text:hover,
#top-bar .top-login-link:hover,
#top-bar .top-login-logout:hover {
  background: #087fca !important;
  border-color: #8ed4ff !important;
  color: #ffffff !important;
}
#top-bar .top-trial-cta {
  background: #0e8bca !important;
  border-color: #8ed4ff !important;
  color: #ffffff !important;
}
#site-header.site-header .nav-list > li > a,
#site-header.site-header .site-switcher .site-link {
  text-decoration: none !important;
  border-radius: 10px !important;
  transition: color .18s ease, background .18s ease, transform .18s ease !important;
}
#site-header.site-header .nav-list > li > a:hover { transform: translateY(-1px); }
#site-header.site-header .mega-menu,
#site-header.site-header .mega-menu .mega-inner,
#site-header.site-header .mega-menu .mega-col,
#site-header.site-header .nav-list li ul {
  background: #ffffff !important;
  color: #08264b !important;
  border-color: #d6e7f5 !important;
  opacity: 1 !important;
}
#site-header.site-header .mega-menu { box-shadow: 0 18px 46px rgba(4, 24, 53, .22) !important; }
#site-header.site-header .mega-menu .mega-label {
  color: #075b9f !important;
  background: transparent !important;
}
#site-header.site-header .mega-menu .mega-count { color: #58718b !important; }
#site-header.site-header .mega-menu a,
#site-header.site-header .mega-menu a span,
#site-header.site-header .nav-list li ul a {
  display: block !important;
  color: #123b63 !important;
  background: transparent !important;
  text-decoration: none !important;
}
#site-header.site-header .mega-menu a:hover,
#site-header.site-header .mega-menu a:hover span,
#site-header.site-header .nav-list li ul a:hover {
  color: #064f8b !important;
  background: #e8f5ff !important;
}
#site-header.site-header .mega-menu .mega-hotline,
#site-header.site-header .mega-menu .mega-email { color: #075b9f !important; }
#site-header.site-header .mega-menu .mega-trial-button,
#site-header.site-header .mega-menu .mega-trial-button:hover {
  background: linear-gradient(135deg, #087fca, #07509a) !important;
  color: #ffffff !important;
  border-color: #07509a !important;
}
#mobile-nav.mobile-nav {
  background: #ffffff !important;
  color: #123b63 !important;
  border-left: 1px solid #d6e7f5 !important;
}
#mobile-nav .mobile-nav-header { background: #061a36 !important; border-color: #1b4772 !important; }
#mobile-nav .mobile-close,
#mobile-nav .mobile-close svg { color: #ffffff !important; stroke: #ffffff !important; }
#mobile-nav .mobile-menu li a,
#mobile-nav .mobile-menu li a span { color: #123b63 !important; background: transparent !important; }
#mobile-nav .mobile-menu li a:hover,
#mobile-nav .mobile-menu li.current-menu-item > a { color: #075b9f !important; background: #e8f5ff !important; }
#mobile-nav .mobile-ecosystem-link { color: #075b9f !important; background: #e8f5ff !important; }
#mobile-nav .mobile-ecosystem-link.is-current { color: #ffffff !important; background: #07509a !important; }
