/*
 * Ventilatie Service Center brand theme
 * Blue is the primary product colour; green is reserved for positive status.
 */
:root {
  --vsc-blue: #1769c2;
  --vsc-blue-dark: #104a86;
  --vsc-blue-deep: #0b315b;
  --vsc-blue-soft: #eef5fc;
  --vsc-blue-line: #cfe0f1;
  --vsc-ink: #1b2b3c;
  --vsc-muted: #667482;
  --vsc-success: #168266;
  --green: var(--vsc-blue);
  --green-dark: var(--vsc-blue-dark);
  --soft: var(--vsc-blue-soft);
  --line: #dbe5ee;
  --muted: var(--vsc-muted);
  --admin-green: var(--vsc-blue);
  --admin-green-dark: var(--vsc-blue-dark);
  --admin-mint: var(--vsc-blue-soft);
  --admin-blue: var(--vsc-blue);
  --admin-bg: #f3f6fa;
  --admin-border: #dbe5ee;
  --admin-text: var(--vsc-ink);
  --admin-muted: var(--vsc-muted);
}

/* Customer chat */
body:has(.app-shell) {
  color: var(--vsc-ink);
  background:
    radial-gradient(circle at 0 0, rgba(23, 105, 194, .1), transparent 30%),
    linear-gradient(145deg, #f2f7fc, #eaf1f8);
}
.service-panel {
  background: linear-gradient(165deg, var(--vsc-blue-deep), var(--vsc-blue-dark) 68%, var(--vsc-blue)) !important;
}
.service-brand span,
.service-menu h2,
.service-menu small,
.sidebar-footer p,
.photo-help-card__copy p,
.photo-help-card__note {
  color: #d5e7f8 !important;
}
.progress-bar i,
.photo-help-card__copy > span {
  background: #68b4ff !important;
  color: var(--vsc-blue-deep) !important;
}
.assistant-avatar,
.message--assistant::before,
.advanced-diagnosis-icon,
.mobile-photo-cta__icon {
  background: linear-gradient(145deg, #2c82df, var(--vsc-blue-dark)) !important;
  box-shadow: 0 9px 20px rgba(23, 105, 194, .2) !important;
}
.header-diagnosis-button,
.advanced-diagnosis-action,
.message--user,
.send-button {
  background: linear-gradient(145deg, var(--vsc-blue), var(--vsc-blue-dark)) !important;
  box-shadow: 0 8px 20px rgba(23, 105, 194, .18) !important;
}
.header-diagnosis-button:hover {
  background: var(--vsc-blue-dark) !important;
}
.message--assistant {
  color: #24384b !important;
  background: #f2f7fc !important;
  border-color: #d9e6f2 !important;
}
.quick-replies button,
.new-conversation,
.sources a,
.sources button {
  color: var(--vsc-blue-dark) !important;
  border-color: #c9dbed !important;
}
.quick-replies button:hover,
.new-conversation:hover {
  background: var(--vsc-blue-soft) !important;
  border-color: #8db8e3 !important;
}
.composer {
  border-color: #c9dbed !important;
  box-shadow: 0 10px 28px rgba(23, 105, 194, .06) !important;
}
.composer:focus-within {
  border-color: #73a8dc !important;
  box-shadow: 0 0 0 4px rgba(23, 105, 194, .09), 0 14px 30px rgba(23, 105, 194, .08) !important;
}
.upload-button {
  color: var(--vsc-blue) !important;
  background: var(--vsc-blue-soft) !important;
}
.vision-card,
.mobile-photo-cta {
  border-color: var(--vsc-blue-line) !important;
  background: linear-gradient(145deg, #fff, #f3f8fd) !important;
  box-shadow: 0 18px 46px rgba(23, 105, 194, .1) !important;
}
.vision-card__preview {
  background: #edf4fa !important;
}
.vision-card__icon,
.vision-result div {
  color: var(--vsc-blue-dark) !important;
  background: var(--vsc-blue-soft) !important;
}
.vision-timeline li.is-active i {
  border-color: var(--vsc-blue) !important;
  box-shadow: 0 0 0 5px rgba(23, 105, 194, .11) !important;
}
/* Completed recognition steps remain success green. */
.vision-timeline li.is-complete i {
  border-color: var(--vsc-success) !important;
  background: var(--vsc-success) !important;
}

/* Admin shell and common controls */
body.v35-body,
body:has(.v35-app) {
  color: var(--vsc-ink) !important;
  background: #f5f7fa !important;
}
.admin-topbar,
.topbar,
.request-header,
.top,
.login-hero,
.servinno-topbar,
.settings-card--security,
.production-privacy {
  background:
    radial-gradient(circle at top right, rgba(104, 180, 255, .2), transparent 34%),
    linear-gradient(135deg, var(--vsc-blue-deep), var(--vsc-blue)) !important;
  box-shadow: 0 14px 36px rgba(16, 74, 134, .16) !important;
}
.eyebrow,
.admin-eyebrow,
.request-header > span {
  color: #a9d3fb !important;
}
.v35-brand__mark,
.servinno-avatar {
  background: linear-gradient(145deg, var(--vsc-blue-dark), #2c82df) !important;
  box-shadow: 0 10px 24px rgba(23, 105, 194, .23) !important;
}
.v35-sidebar.v86-sidebar {
  color: #eaf4ff !important;
  background: linear-gradient(180deg, var(--vsc-blue-deep), var(--vsc-blue-dark)) !important;
  border-right-color: rgba(255, 255, 255, .1) !important;
}
.v86-brand .v35-brand__mark {
  background: linear-gradient(145deg, #2c82df, var(--vsc-blue)) !important;
  box-shadow: 0 8px 20px rgba(5, 38, 75, .3) !important;
}
.v86-menu-label {
  color: rgba(218, 235, 252, .58) !important;
}
.v86-menu a {
  color: rgba(245, 250, 255, .84) !important;
}
.v86-menu a > span:first-child {
  color: #a9d3fb !important;
}
.v86-menu a:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .09) !important;
}
.v86-menu a.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, #2c82df, var(--vsc-blue)) !important;
  box-shadow: inset 3px 0 0 #a9d3fb, 0 8px 18px rgba(5, 38, 75, .2) !important;
}
.v86-menu a b {
  color: var(--vsc-blue-deep) !important;
  background: #b9dcfb !important;
}
.v86-demo-side {
  color: #eff7ff !important;
  background: linear-gradient(145deg, #256fb8, var(--vsc-blue-dark)) !important;
  border-color: rgba(194, 224, 252, .3) !important;
  box-shadow: 0 14px 28px rgba(5, 38, 75, .24) !important;
}
.v86-demo-side > span {
  color: #b9dcfb !important;
}
.v86-demo-side a,
.v86-demo-side button {
  color: var(--vsc-blue-dark) !important;
}
.v35-menu a {
  color: #30485f !important;
}
.v35-menu a:hover,
.v35-menu a.is-active {
  color: var(--vsc-blue-dark) !important;
  background: var(--vsc-blue-soft) !important;
}
.v35-menu a > b,
.nav-count {
  color: var(--vsc-blue-dark) !important;
  background: #dceafa !important;
}
/* Keep the dark sidebar readable after the generic light-menu rules above. */
.v35-sidebar.v86-sidebar .v35-menu.v86-menu a {
  color: rgba(245, 250, 255, .9) !important;
}
.v35-sidebar.v86-sidebar .v35-menu.v86-menu a > span:first-child {
  color: #b9dcfb !important;
}
.v35-sidebar.v86-sidebar .v35-menu.v86-menu a:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .1) !important;
}
.v35-sidebar.v86-sidebar .v35-menu.v86-menu a.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, #2c82df, var(--vsc-blue)) !important;
}
.v35-sidebar.v86-sidebar .v86-menu {
  scrollbar-color: rgba(185, 220, 251, .5) transparent !important;
}
.v35-sidebar.v86-sidebar .v86-menu::-webkit-scrollbar {
  width: 4px;
}
.v35-sidebar.v86-sidebar .v86-menu::-webkit-scrollbar-thumb {
  background: rgba(185, 220, 251, .5) !important;
  border-radius: 999px;
}
.button,
.save-button,
.toolbar button,
.product-button,
.v38-primary,
.v35-impact a,
.v35-proposal > a {
  background: linear-gradient(135deg, var(--vsc-blue), var(--vsc-blue-dark)) !important;
  color: #fff !important;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--vsc-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 105, 194, .11) !important;
}
.toolbar a,
.contact-link,
.back,
.admin-table a,
.v35-sectionhead > a {
  color: var(--vsc-blue) !important;
}
.toolbar a,
.contact-link {
  background: var(--vsc-blue-soft) !important;
}
.copilot-header,
.v64-diagnosis__hero {
  background: linear-gradient(135deg, var(--vsc-blue-dark), var(--vsc-blue)) !important;
}
.v87-head small,
.v87-kpi em,
.v87-cardhead div small,
.v87-cardhead a,
.v87-task__icon,
.v87-task a {
  color: var(--vsc-blue) !important;
}
.v87-kpi:focus-visible {
  outline-color: rgba(23, 105, 194, .24) !important;
}
.v87-kpi::after {
  background: rgba(23, 105, 194, .08) !important;
}
.v87-task__icon,
.v87-task a {
  background: var(--vsc-blue-soft) !important;
}
.v87-task:hover {
  background: #f4f8fc !important;
}
.v87-ai {
  color: #fff !important;
  background: linear-gradient(145deg, var(--vsc-blue), var(--vsc-blue-deep)) !important;
}
.v87-ai .v87-cardhead div small {
  color: #b9dcfb !important;
}
.v87-ai .v87-cardhead a {
  color: #fff !important;
}
.v90-briefing {
  background: linear-gradient(135deg, var(--vsc-blue-soft), #f8fbff) !important;
  border-color: var(--vsc-blue-line) !important;
}
.v90-briefing > span,
.v87-kpi i,
.v91-quick-grid i {
  color: var(--vsc-blue) !important;
  background: #dfeefa !important;
}
.v91-health-stat strong {
  color: var(--vsc-blue-dark) !important;
}
.v91-health-stat i {
  border-bottom-color: #68a9e8 !important;
}
.v64-next {
  border-color: var(--vsc-blue-line) !important;
  background: linear-gradient(145deg, #fff, var(--vsc-blue-soft)) !important;
}
.v64-next__icon,
.v64-product a,
.v65-tab.is-active,
.v65-step:first-child .v65-step__badge,
.v70-btn--primary,
.v74-step__number,
.v74-btn span {
  color: #fff !important;
  background: var(--vsc-blue) !important;
  border-color: var(--vsc-blue) !important;
}
.v64-next__copy span,
.v70-kicker,
.v74-heading span,
.v70-confidence__score,
.v65-step__number {
  color: var(--vsc-blue) !important;
}
.v70-confidence__score,
.v65-step__number,
.v80-report-btn,
.v65-tab,
.v65-copy {
  background: var(--vsc-blue-soft) !important;
}
.v70-flow__step.is-done {
  color: var(--vsc-success) !important;
}
.v70-flow__step.is-done .v70-flow__dot {
  background: var(--vsc-success) !important;
  border-color: #dff3eb !important;
}
.v70-flow__step.is-current .v70-flow__dot {
  background: var(--vsc-blue) !important;
  border-color: #dceafa !important;
}
.timeline-dot {
  background: var(--vsc-blue) !important;
  border-color: #e2eef9 !important;
}
/* Status semantics remain green, amber and red. */
.saved,
.saved-message,
.badge.approved,
.badge--approved,
.is-ok,
.production-score.is-ready,
.production-check.is-ok .production-check__state,
.production-check.is-ok > b {
  color: #08654d !important;
  background: #dff5ed !important;
  border-color: #b9e4d7 !important;
}
.danger,
.v1166-delete,
.v65-decision--danger {
  --admin-danger: #a03927;
}
