/* CNC-Steuerung corporate theme for ERPNext / Frappe 16 */

:root,
[data-theme="light"] {
  --cnc-blue: #243b81;
  --cnc-blue-dark: #182a61;
  --cnc-blue-soft: #e9eef9;
  --cnc-red: #e3010f;
  --cnc-yellow: #feed00;
  --cnc-black: #1a1a18;
  --cnc-page: #f4f6fa;
  --cnc-card: #ffffff;

  --primary: var(--cnc-blue);
  --primary-color: var(--cnc-blue);
  --text-color: var(--cnc-black);
  --heading-color: var(--cnc-black);
  --bg-color: var(--cnc-page);
  --fg-color: var(--cnc-card);
  --control-bg: #ffffff;
  --card-bg: #ffffff;
  --subtle-accent: var(--cnc-blue-soft);
  --highlight-color: #fff9b8;
  --btn-primary: var(--cnc-blue);
  --btn-primary-hover: var(--cnc-blue-dark);
  --navbar-bg: var(--cnc-blue);
}

body,
.layout-main-section-wrapper,
.page-container,
.desk-page {
  background-color: var(--cnc-page);
}

/* Main navigation */
.navbar,
.navbar.navbar-expand {
  background: var(--cnc-blue) !important;
  border-bottom: 3px solid var(--cnc-yellow) !important;
  box-shadow: 0 2px 10px rgb(24 42 97 / 18%);
}

.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-nav .nav-link,
.navbar .dropdown-toggle,
.navbar .octicon,
.navbar svg,
.navbar .icon {
  color: #ffffff !important;
  fill: currentColor;
}

.navbar input,
.navbar .awesomplete input,
.navbar .form-control {
  background: rgb(255 255 255 / 96%) !important;
  color: var(--cnc-black) !important;
  border-color: transparent !important;
}

/* Cards, workspaces and forms */
.widget,
.widget-group,
.layout-main-section,
.form-dashboard-section,
.form-section.card-section,
.page-card,
.modal-content {
  border-color: #dfe5f0 !important;
  border-radius: 10px;
  box-shadow: 0 3px 14px rgb(36 59 129 / 8%);
}

.widget:hover,
.shortcut-widget-box:hover {
  border-color: #b8c5e2 !important;
  box-shadow: 0 5px 18px rgb(36 59 129 / 14%);
}

/* Primary actions */
.btn-primary,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--cnc-blue) !important;
  border-color: var(--cnc-blue) !important;
  color: #ffffff !important;
}

.btn-primary:hover {
  background-color: var(--cnc-blue-dark) !important;
  border-color: var(--cnc-blue-dark) !important;
}

.btn-danger,
.btn-danger:focus,
.btn-danger:active {
  background-color: var(--cnc-red) !important;
  border-color: var(--cnc-red) !important;
}

/* Selected navigation: yellow marker, dark readable text */
.standard-sidebar-item.selected,
.standard-sidebar-item.selected:hover,
.desk-sidebar-item.selected,
.list-sidebar .list-link.active {
  background: var(--cnc-yellow) !important;
  color: var(--cnc-black) !important;
  border-radius: 7px;
}

.standard-sidebar-item.selected svg,
.standard-sidebar-item.selected .icon,
.desk-sidebar-item.selected svg {
  color: var(--cnc-black) !important;
  fill: currentColor;
}

/* Links and focus states */
a,
.text-primary,
.like-disabled-input a {
  color: var(--cnc-blue);
}

.form-control:focus,
.input-with-feedback:focus,
.awesomplete input:focus {
  border-color: var(--cnc-blue) !important;
  box-shadow: 0 0 0 2px rgb(36 59 129 / 14%) !important;
}

input[type="checkbox"]:checked,
.checkbox input:checked + label::before {
  accent-color: var(--cnc-blue);
}

/* Status accents keep their semantic meaning. */
.indicator.red::before,
.indicator-pill.red::before {
  background: var(--cnc-red) !important;
}

/* Login page */
.for-login,
.for-forgot,
.for-signup,
.for-email-login {
  background:
    linear-gradient(135deg, rgb(36 59 129 / 8%), transparent 42%),
    var(--cnc-page);
}

.for-login .page-card,
.for-forgot .page-card,
.for-signup .page-card,
.for-email-login .page-card {
  border-top: 4px solid var(--cnc-blue) !important;
}

/* Use the original company logo on the authentication pages. */
.for-login .page-card-head img,
.for-forgot .page-card-head img,
.for-signup .page-card-head img,
.for-email-login .page-card-head img {
  content: url("/assets/cnc_theme/images/cnc-steuerung-logo.png");
  width: min(100%, 420px) !important;
  max-height: 118px !important;
  object-fit: contain;
}

.for-login .page-card::after,
.for-forgot .page-card::after {
  content: "";
  display: block;
  height: 4px;
  margin-top: 20px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    var(--cnc-blue) 0 55%,
    var(--cnc-yellow) 55% 82%,
    var(--cnc-red) 82% 100%
  );
}

/* Preserve the native dark theme instead of forcing light colors. */
[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar.navbar-expand {
  background: #182a61 !important;
}

@media (max-width: 767px) {
  .navbar,
  .navbar.navbar-expand {
    border-bottom-width: 2px !important;
  }
}
