/* Overrides visuais específicas do tenant Harmos. */

/* Paleta institucional derivada do manual Harmos 2025. */
:root {
  --color-brand-ink:     #000000;
  --color-brand-graphite:#4C4B44;
  --color-brand-olive:   #5F5D51;
  --color-brand-beige:   #BBB49C;
  --color-brand-sage:    #CBD69A;
  --color-brand-navy:    #00355B;
  --color-brand-blue:    #0073B1;
  --color-brand-blue-deep:#004E7C;
  --color-brand-teal:    #00958A;
  --color-brand-mustard: #D4C129;
  --color-brand-coral:   #F68C59;
  --color-brand-gray:    #D5D8CE;
  --color-brand-cream:   #F2F5E5;
  --color-brand-porcelain:#F7F7F3;
}

body.theme-clients {
  --color-secondary: var(--color-brand-graphite);
  --color-primary-light: #2E8DBF;
  --color-primary-bg: #E7F2F8;
  --color-surface-muted: #EEF5F9;
  --color-surface-alt: #F5FAFD;
  --color-border: #D6E3EB;
  --color-border-light: #EAF1F5;
  --color-text: #1F2B37;
  --color-text-muted: #5E6C79;
  --theme-shell-glow: rgba(0, 78, 124, 0.09);
  --theme-card-glow: rgba(0, 115, 177, 0.16);
  --theme-action-shadow: 0 12px 28px rgba(0, 78, 124, 0.18);
  --theme-filled-primary: var(--color-primary, var(--color-brand-blue));
  --theme-filled-primary-rgb: 0, 115, 177;
  --theme-filled-primary-hover: color-mix(in srgb, var(--theme-filled-primary) 90%, black);
  --theme-filled-primary-hover-rgb: var(--theme-filled-primary-rgb);
  --theme-filled-primary-active: #005E92;
  --theme-filled-primary-active-rgb: 0, 94, 146;
  --theme-filled-primary-foreground-rgb: 255, 255, 255;
  --theme-tooltip-background-rgb: 255, 255, 255;
  --theme-tooltip-border-rgb: 0, 115, 177;
  --theme-tooltip-foreground-rgb: 31, 43, 55;
  --shadow-soft: 0 10px 24px rgba(0, 78, 124, 0.08);
  --harmos-on-primary-rgb: 255, 255, 255;
  --harmos-on-accent-rgb: 255, 255, 255;
  --harmos-soft-bg: rgba(0, 115, 177, 0.05);
  --harmos-soft-bg-strong: rgba(0, 78, 124, 0.08);
  --harmos-soft-border: rgba(0, 115, 177, 0.16);
  --harmos-soft-border-strong: rgba(0, 78, 124, 0.28);
  --harmos-soft-ink: #005E92;
  --harmos-soft-ink-strong: #004E7C;
  --harmos-soft-shadow: rgba(0, 78, 124, 0.10);
  --harmos-focus-ring: rgba(0, 78, 124, 0.14);
}

body.theme-clients .app-layout {
  background:
    radial-gradient(circle at top right, rgba(0, 115, 177, 0.08), transparent 26%),
    linear-gradient(180deg, #F8FBFD 0%, #F1F6FA 100%);
}

body.theme-clients .auth-form-title::after {
  background: linear-gradient(90deg, var(--color-brand-blue) 0%, rgba(0, 78, 124, 0.7) 100%);
  box-shadow: 0 8px 18px rgba(0, 78, 124, 0.16);
}

body.theme-admin {
  --color-secondary: var(--color-brand-ink);
  --color-primary-light: #5A5849;
  --color-primary-bg: #EEEBE2;
  --color-surface-muted: #F0EDE5;
  --color-surface-alt: #F7F5F0;
  --color-border: #CFC8B8;
  --color-border-light: #E2DBCC;
  --color-text: #0D0D0A;
  --color-text-muted: #4C4B44;
  --theme-shell-glow: rgba(76, 75, 68, 0.18);
  --theme-card-glow: rgba(76, 75, 68, 0.18);
  --theme-action-shadow: 0 12px 30px rgba(76, 75, 68, 0.22);
  --theme-filled-primary: var(--color-primary, var(--color-brand-olive));
  --theme-filled-primary-rgb: 95, 93, 81;
  --theme-filled-primary-hover: color-mix(in srgb, var(--theme-filled-primary) 90%, black);
  --theme-filled-primary-hover-rgb: var(--theme-filled-primary-rgb);
  --theme-filled-primary-active: #1A1A16;
  --theme-filled-primary-active-rgb: 26, 26, 22;
  --theme-filled-primary-foreground-rgb: 255, 255, 255;
  --theme-tooltip-background-rgb: 255, 255, 255;
  --theme-tooltip-border-rgb: 76, 75, 68;
  --theme-tooltip-foreground-rgb: 13, 13, 10;
  --shadow-soft: 0 10px 24px rgba(76, 75, 68, 0.10);
  --harmos-on-primary-rgb: 255, 255, 255;
  --harmos-on-accent-rgb: 13, 13, 10;
  --harmos-soft-bg: rgba(76, 75, 68, 0.06);
  --harmos-soft-bg-strong: rgba(76, 75, 68, 0.12);
  --harmos-soft-border: rgba(76, 75, 68, 0.22);
  --harmos-soft-border-strong: rgba(76, 75, 68, 0.38);
  --harmos-soft-ink: var(--color-brand-graphite);
  --harmos-soft-ink-strong: var(--color-brand-ink);
  --harmos-soft-shadow: rgba(76, 75, 68, 0.12);
  --harmos-focus-ring: rgba(76, 75, 68, 0.18);
}

body.theme-admin .auth-form-title::after {
  background: linear-gradient(90deg, var(--color-brand-graphite) 0%, var(--color-brand-olive) 100%);
  box-shadow: 0 10px 22px rgba(76, 75, 68, 0.22);
}

body.theme-admin .auth-panel-brand {
  background:
    linear-gradient(160deg, rgba(0, 0, 0, 0.92) 0%, rgba(76, 75, 68, 0.94) 58%, rgba(95, 93, 81, 0.90) 100%),
    var(--brand-auth-background-image) center center / cover no-repeat;
}

body.theme-admin .app-layout {
  background:
    radial-gradient(circle at top right, rgba(76, 75, 68, 0.08), transparent 25%),
    linear-gradient(180deg, #F7F5F0 0%, #EEEBE2 100%);
}

body.theme-partners {
  --color-secondary: var(--color-brand-ink);
  --color-primary-light: #007B73;
  --color-primary-bg: #E2F2EF;
  --color-surface-muted: #E8F3F0;
  --color-surface-alt: #F3FAF8;
  --color-border: #C4D9D3;
  --color-border-light: #DAEAE5;
  --color-text: #0A1411;
  --color-text-muted: #3D4D47;
  --theme-shell-glow: rgba(0, 123, 115, 0.14);
  --theme-card-glow: rgba(0, 123, 115, 0.16);
  --theme-action-shadow: 0 12px 28px rgba(0, 123, 115, 0.20);
  --theme-filled-primary: var(--color-primary, var(--color-brand-teal));
  --theme-filled-primary-rgb: 0, 149, 138;
  --theme-filled-primary-hover: color-mix(in srgb, var(--theme-filled-primary) 90%, black);
  --theme-filled-primary-hover-rgb: var(--theme-filled-primary-rgb);
  --theme-filled-primary-active: #004D47;
  --theme-filled-primary-active-rgb: 0, 77, 71;
  --theme-filled-primary-foreground-rgb: 255, 255, 255;
  --theme-tooltip-background-rgb: 255, 255, 255;
  --theme-tooltip-border-rgb: 0, 123, 115;
  --theme-tooltip-foreground-rgb: 10, 20, 17;
  --shadow-soft: 0 10px 24px rgba(0, 123, 115, 0.10);
  --harmos-on-primary-rgb: 255, 255, 255;
  --harmos-on-accent-rgb: 10, 20, 17;
  --harmos-soft-bg: rgba(0, 149, 138, 0.06);
  --harmos-soft-bg-strong: rgba(0, 123, 115, 0.12);
  --harmos-soft-border: rgba(0, 123, 115, 0.22);
  --harmos-soft-border-strong: rgba(0, 123, 115, 0.35);
  --harmos-soft-ink: #005E57;
  --harmos-soft-ink-strong: var(--color-brand-ink);
  --harmos-soft-shadow: rgba(0, 123, 115, 0.12);
  --harmos-focus-ring: rgba(0, 123, 115, 0.20);
}

body.theme-partners .auth-form-title::after {
  background: linear-gradient(90deg, var(--color-brand-teal) 0%, #005E57 100%);
  box-shadow: 0 8px 18px rgba(0, 123, 115, 0.18);
}

body.theme-partners .auth-panel-brand {
  background:
    linear-gradient(160deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 123, 115, 0.94) 58%, rgba(0, 149, 138, 0.90) 100%),
    var(--brand-auth-background-image) center center / cover no-repeat;
}

body.theme-partners .app-layout {
  background:
    radial-gradient(circle at top right, rgba(0, 123, 115, 0.10), transparent 24%),
    linear-gradient(180deg, #F5FAF8 0%, #E8F0EC 100%);
}

body.theme-clients .btn-primary,
body.theme-admin .btn-primary,
body.theme-partners .btn-primary {
  color: rgb(var(--harmos-on-primary-rgb));
}

body.theme-clients .btn-primary:hover,
body.theme-clients .btn-primary:focus-visible,
body.theme-admin .btn-primary:hover,
body.theme-admin .btn-primary:focus-visible,
body.theme-partners .btn-primary:hover,
body.theme-partners .btn-primary:focus-visible {
  color: rgb(var(--harmos-on-primary-rgb));
}

body.theme-clients .btn-primary:active,
body.theme-admin .btn-primary:active,
body.theme-partners .btn-primary:active {
  color: rgb(var(--harmos-on-primary-rgb));
}

body.theme-clients .btn-secondary,
body.theme-admin .btn-secondary,
body.theme-partners .btn-secondary {
  background: rgba(255, 255, 255, 0.9);
  border-color: var(--harmos-soft-border);
  color: var(--harmos-soft-ink);
}

body.theme-clients .btn-secondary:hover,
body.theme-clients .btn-secondary:focus-visible,
body.theme-admin .btn-secondary:hover,
body.theme-admin .btn-secondary:focus-visible,
body.theme-partners .btn-secondary:hover,
body.theme-partners .btn-secondary:focus-visible {
  background: var(--harmos-soft-bg);
  border-color: var(--harmos-soft-border-strong);
  color: var(--harmos-soft-ink-strong);
  box-shadow: 0 0 0 4px var(--harmos-focus-ring);
}

body.theme-clients .btn-secondary:active,
body.theme-admin .btn-secondary:active,
body.theme-partners .btn-secondary:active {
  background: var(--harmos-soft-bg-strong);
  border-color: var(--harmos-soft-border-strong);
  color: var(--harmos-soft-ink-strong);
}

body.theme-clients .app-menu-link:hover,
body.theme-clients .app-menu-link:focus-visible,
body.theme-clients .app-sidebar-panel .app-menu-link:hover,
body.theme-clients .app-sidebar-panel .app-menu-link:focus-visible,
body.theme-admin .app-menu-link:hover,
body.theme-admin .app-menu-link:focus-visible,
body.theme-admin .app-sidebar-panel .app-menu-link:hover,
body.theme-admin .app-sidebar-panel .app-menu-link:focus-visible,
body.theme-partners .app-menu-link:hover,
body.theme-partners .app-menu-link:focus-visible,
body.theme-partners .app-sidebar-panel .app-menu-link:hover,
body.theme-partners .app-sidebar-panel .app-menu-link:focus-visible {
  background: var(--harmos-soft-bg);
  border-color: var(--harmos-soft-border);
  color: var(--harmos-soft-ink-strong);
  box-shadow: 0 8px 18px var(--harmos-soft-shadow);
}

body.theme-clients .app-menu-link-active,
body.theme-clients .app-menu-link-active:hover,
body.theme-clients .app-menu-link-active:focus-visible,
body.theme-clients .app-sidebar-panel .app-menu-link-active,
body.theme-clients .app-sidebar-panel .app-menu-link-active:hover,
body.theme-clients .app-sidebar-panel .app-menu-link-active:focus-visible,
body.theme-clients .app-mobile-nav-panel .app-menu-link-active,
body.theme-clients .app-mobile-nav-panel .app-menu-link-active:hover,
body.theme-clients .app-mobile-nav-panel .app-menu-link-active:focus-visible,
body.theme-admin .app-menu-link-active,
body.theme-admin .app-menu-link-active:hover,
body.theme-admin .app-menu-link-active:focus-visible,
body.theme-admin .app-sidebar-panel .app-menu-link-active,
body.theme-admin .app-sidebar-panel .app-menu-link-active:hover,
body.theme-admin .app-sidebar-panel .app-menu-link-active:focus-visible,
body.theme-admin .app-mobile-nav-panel .app-menu-link-active,
body.theme-admin .app-mobile-nav-panel .app-menu-link-active:hover,
body.theme-admin .app-mobile-nav-panel .app-menu-link-active:focus-visible,
body.theme-partners .app-menu-link-active,
body.theme-partners .app-menu-link-active:hover,
body.theme-partners .app-menu-link-active:focus-visible,
body.theme-partners .app-sidebar-panel .app-menu-link-active,
body.theme-partners .app-sidebar-panel .app-menu-link-active:hover,
body.theme-partners .app-sidebar-panel .app-menu-link-active:focus-visible,
body.theme-partners .app-mobile-nav-panel .app-menu-link-active,
body.theme-partners .app-mobile-nav-panel .app-menu-link-active:hover,
body.theme-partners .app-mobile-nav-panel .app-menu-link-active:focus-visible {
  color: rgb(var(--harmos-on-primary-rgb));
  background: var(--theme-filled-primary);
  border-color: transparent;
  box-shadow: none;
  opacity: 1;
}

body.theme-clients .app-menu-link-active .app-menu-icon,
body.theme-clients .app-menu-link-active:hover .app-menu-icon,
body.theme-clients .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-clients .app-sidebar-panel .app-menu-link-active .app-menu-icon,
body.theme-clients .app-sidebar-panel .app-menu-link-active:hover .app-menu-icon,
body.theme-clients .app-sidebar-panel .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-clients .app-mobile-nav-panel .app-menu-link-active .app-menu-icon,
body.theme-admin .app-menu-link-active .app-menu-icon,
body.theme-admin .app-menu-link-active:hover .app-menu-icon,
body.theme-admin .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-admin .app-sidebar-panel .app-menu-link-active .app-menu-icon,
body.theme-admin .app-sidebar-panel .app-menu-link-active:hover .app-menu-icon,
body.theme-admin .app-sidebar-panel .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-admin .app-mobile-nav-panel .app-menu-link-active .app-menu-icon,
body.theme-partners .app-menu-link-active .app-menu-icon,
body.theme-partners .app-menu-link-active:hover .app-menu-icon,
body.theme-partners .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-partners .app-sidebar-panel .app-menu-link-active .app-menu-icon,
body.theme-partners .app-sidebar-panel .app-menu-link-active:hover .app-menu-icon,
body.theme-partners .app-sidebar-panel .app-menu-link-active:focus-visible .app-menu-icon,
body.theme-partners .app-mobile-nav-panel .app-menu-link-active .app-menu-icon {
  color: rgb(var(--harmos-on-primary-rgb));
  background: rgba(var(--harmos-on-primary-rgb), 0.14);
  border-color: rgba(var(--harmos-on-primary-rgb), 0.12);
}

body.theme-clients .app-header-bell:hover,
body.theme-clients .app-profile-summary:hover,
body.theme-clients .app-profile-menu[open] .app-profile-summary,
body.theme-admin .app-header-bell:hover,
body.theme-admin .app-profile-summary:hover,
body.theme-admin .app-profile-menu[open] .app-profile-summary,
body.theme-partners .app-header-bell:hover,
body.theme-partners .app-profile-summary:hover,
body.theme-partners .app-profile-menu[open] .app-profile-summary {
  background: var(--harmos-soft-bg);
  color: var(--harmos-soft-ink-strong);
}

body.theme-clients .app-profile-avatar,
body.theme-admin .app-profile-avatar,
body.theme-partners .app-profile-avatar,
body.theme-clients .workspace-metric-card-primary .workspace-metric-label,
body.theme-clients .workspace-metric-card-primary .workspace-metric-value,
body.theme-clients .workspace-metric-card-primary .workspace-metric-caption,
body.theme-admin .workspace-metric-card-primary .workspace-metric-label,
body.theme-admin .workspace-metric-card-primary .workspace-metric-value,
body.theme-admin .workspace-metric-card-primary .workspace-metric-caption,
body.theme-partners .workspace-metric-card-primary .workspace-metric-label,
body.theme-partners .workspace-metric-card-primary .workspace-metric-value,
body.theme-partners .workspace-metric-card-primary .workspace-metric-caption,
body.theme-clients .flow-stepper-link-current,
body.theme-admin .flow-stepper-link-current,
body.theme-partners .flow-stepper-link-current,
body.theme-clients .product-filter-pill-active,
body.theme-clients .product-filter-pill-active:hover,
body.theme-clients .product-filter-pill-active:focus-visible,
body.theme-admin .product-filter-pill-active,
body.theme-admin .product-filter-pill-active:hover,
body.theme-admin .product-filter-pill-active:focus-visible,
body.theme-partners .product-filter-pill-active,
body.theme-partners .product-filter-pill-active:hover,
body.theme-partners .product-filter-pill-active:focus-visible,
body.theme-clients .skip-to-content:focus,
body.theme-admin .skip-to-content:focus,
body.theme-partners .skip-to-content:focus,
body.theme-clients div.dt-container .dt-paging .dt-paging-button.current,
body.theme-admin div.dt-container .dt-paging .dt-paging-button.current,
body.theme-partners div.dt-container .dt-paging .dt-paging-button.current {
  color: rgb(var(--harmos-on-primary-rgb));
}

body.theme-clients .workspace-breadcrumb-back,
body.theme-admin .workspace-breadcrumb-back,
body.theme-partners .workspace-breadcrumb-back {
  background: var(--harmos-soft-bg);
  color: var(--harmos-soft-ink);
  border-color: transparent;
}

body.theme-clients .workspace-breadcrumb-back:hover,
body.theme-admin .workspace-breadcrumb-back:hover,
body.theme-partners .workspace-breadcrumb-back:hover {
  background: var(--harmos-soft-bg-strong);
  color: var(--harmos-soft-ink-strong);
  box-shadow: 0 1px 3px var(--harmos-soft-shadow);
}

body.theme-clients .workspace-select:hover,
body.theme-admin .workspace-select:hover,
body.theme-partners .workspace-select:hover {
  border-color: var(--harmos-soft-border-strong);
}

body.theme-clients .workspace-select:focus,
body.theme-admin .workspace-select:focus,
body.theme-partners .workspace-select:focus {
  border-color: var(--theme-primary);
  box-shadow: 0 0 0 3px var(--harmos-focus-ring);
}

body.theme-clients div.dt-container .dt-paging .dt-paging-button:hover:not(.disabled),
body.theme-admin div.dt-container .dt-paging .dt-paging-button:hover:not(.disabled),
body.theme-partners div.dt-container .dt-paging .dt-paging-button:hover:not(.disabled) {
  background: var(--harmos-soft-bg);
  border-color: var(--harmos-soft-border-strong);
  color: var(--harmos-soft-ink-strong);
}
