/* BPS custom theme — Material Blue 800 primary + accent; 13 px base */

:root {
  --bps-primary: #1565c0;
  --bps-primary-hover: #1976d2;
  --bps-primary-dark: #0d47a1;
  --bps-primary-light: #bbdefb;
  --bps-accent: #1565c0;         /* same as primary so login button matches */
  --bps-accent-hover: #1976d2;
  --bps-accent-light: #bbdefb;
}

/* === Base font size === */
html, body, input, textarea, select, button {
  font-size: 13px !important;
}
.md-button, .md-dialog-content, .md-subheader { font-size: 13px !important; }
h1 { font-size: 22px !important; }
h2 { font-size: 18px !important; }
h3 { font-size: 16px !important; }
h4 { font-size: 14px !important; }

/* === ACCENT (green by default) → blue === */
/* The login "Login" button is md-accent */
[class*="md-accent"],
.md-button.md-accent,
.md-button.md-accent.md-raised,
.md-button.md-accent.md-fab,
md-toolbar.md-accent,
md-progress-linear.md-accent .md-bar,
md-progress-circular.md-accent .md-outer-circle {
  background-color: var(--bps-accent) !important;
  color: #fff !important;
}

.md-button.md-accent:not(.md-raised):not(.md-fab),
._md a.md-accent {
  color: var(--bps-accent) !important;
  background-color: transparent !important;
}

.md-button.md-accent.md-raised:hover,
.md-button.md-accent.md-fab:hover,
.md-button.md-accent.md-raised:not([disabled]):hover,
.md-button.md-accent.md-raised:not([disabled]).md-focused {
  background-color: var(--bps-accent-hover) !important;
}

/* Direct green RGB overrides that aren't in a class selector */
md-checkbox.md-accent.md-checked .md-icon,
md-radio-button.md-accent.md-checked .md-container .md-off {
  background-color: var(--bps-accent) !important;
  border-color: var(--bps-accent) !important;
}

/* Ink bar on tabs using accent */
md-tabs.md-accent md-ink-bar { background-color: var(--bps-accent) !important; }

/* === PRIMARY (teal by default) → blue === */
.md-button.md-default-theme.md-primary,
.md-button.md-primary,
._md a.md-default-theme:not(.md-button).md-primary,
._md a.md-primary { color: var(--bps-primary) !important; }

.md-button.md-default-theme.md-primary.md-raised,
.md-button.md-primary.md-raised,
.md-button.md-default-theme.md-primary.md-fab,
.md-button.md-primary.md-fab {
  background-color: var(--bps-primary) !important;
  color: #fff !important;
}

.md-button.md-default-theme.md-primary.md-raised:not([disabled]):hover,
.md-button.md-primary.md-raised:not([disabled]):hover,
.md-button.md-default-theme.md-primary.md-fab:not([disabled]):hover,
.md-button.md-primary.md-fab:not([disabled]):hover,
.md-button.md-default-theme.md-primary.md-raised:not([disabled]).md-focused,
.md-button.md-primary.md-raised:not([disabled]).md-focused {
  background-color: var(--bps-primary-hover) !important;
}

md-toolbar.md-default-theme:not(.md-menu-toolbar).md-primary,
md-toolbar:not(.md-menu-toolbar).md-primary,
md-toolbar.md-default-theme,
md-toolbar {
  background-color: var(--bps-primary) !important;
  color: #fff !important;
}
md-toolbar md-icon { color: rgba(255,255,255,0.95) !important; }

md-checkbox.md-default-theme.md-checked .md-icon,
md-checkbox.md-checked .md-icon,
md-radio-button.md-default-theme.md-checked .md-container .md-off,
md-radio-button.md-checked .md-container .md-off {
  background-color: var(--bps-primary) !important;
  border-color: var(--bps-primary) !important;
}

md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused label,
md-input-container:not(.md-input-invalid).md-input-focused label,
md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused md-icon,
md-input-container:not(.md-input-invalid).md-input-focused md-icon {
  color: var(--bps-primary) !important;
}

md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused .md-input,
md-input-container:not(.md-input-invalid).md-input-focused .md-input {
  border-color: var(--bps-primary) !important;
}

md-tabs.md-default-theme .md-tab.md-active,
md-tabs .md-tab.md-active,
md-tabs.md-default-theme .md-tab.md-focused,
md-tabs .md-tab.md-focused { color: var(--bps-primary) !important; }

md-tabs.md-default-theme md-ink-bar,
md-tabs md-ink-bar {
  background-color: var(--bps-primary) !important;
  color: var(--bps-primary) !important;
}

md-progress-linear.md-default-theme:not(.md-warn):not(.md-accent) .md-container,
md-progress-linear:not(.md-warn):not(.md-accent) .md-container { background-color: var(--bps-primary-light) !important; }
md-progress-linear.md-default-theme:not(.md-warn):not(.md-accent) .md-bar,
md-progress-linear:not(.md-warn):not(.md-accent) .md-bar { background-color: var(--bps-primary) !important; }

md-slider.md-default-theme:not([md-discrete]) .md-thumb:after,
md-slider:not([md-discrete]) .md-thumb:after,
md-slider.md-default-theme .md-track.md-track-fill,
md-slider .md-track.md-track-fill {
  background-color: var(--bps-primary) !important;
  border-color: var(--bps-primary) !important;
}

a, a:visited { color: var(--bps-primary); }
a:hover { color: var(--bps-primary-hover); }

md-list-item._md-button-wrap.md-focused,
md-list-item.md-focused,
md-list-item._md-button-wrap.md-selected,
md-list-item.md-selected,
.md-list-item.md-selected { background-color: var(--bps-primary-light) !important; }

/* === Login page specifics: catch ALL green leftovers === */
.md-login, #login, form[ng-submit*="login"] .md-button {
  background-color: var(--bps-primary) !important;
  color: #fff !important;
}

/* Anything still showing green (rgb(86,176,76) / rgb(136,199,129) / rgb(0,200,83)) */
[style*="rgb(86, 176, 76)"],
[style*="rgb(136, 199, 129)"],
[style*="rgb(0, 200, 83)"] {
  background-color: var(--bps-primary) !important;
  color: #fff !important;
}

/* === Polish === */
.md-tab.md-active md-ink-bar { background-color: var(--bps-primary) !important; }

/* Keep badges readable on blue toolbars */
md-toolbar .md-badge { color: #fff; }

/* === Login page right-panel contrast fix (blue bg needs white text) === */
.sg-login.md-default-theme.md-bg.md-accent,
.sg-login.md-bg.md-accent { background-color: var(--bps-primary) !important; }
.sg-login, .sg-login p, .sg-login a, .sg-login label, .sg-login h1, .sg-login h2, .sg-login h3, .sg-login .md-hint,
.sg-login small, .sg-login .md-input-container, .sg-login input {
  color: #fff !important;
}
.sg-login label { color: rgba(255,255,255,0.9) !important; }
.sg-login md-icon { color: rgba(255,255,255,0.85) !important; }
.sg-login input { color: #fff !important; border-color: rgba(255,255,255,0.5) !important; }
.sg-login input:focus { border-color: #fff !important; }
.sg-login a { color: #fff !important; text-decoration: underline; }
.sg-login a:hover { color: rgba(255,255,255,0.85) !important; }
