/* Nur Theme Blue 1.0.0 - core ("chrome") layer.
 * Header, page background, buttons, links, forms, dropdowns, tabs, pagination.
 * Loaded on every admin page while the theme is on (also on add-on module pages).
 * Never touches status labels / pills / badges, alert boxes, btn-success/-danger/-warning/-info,
 * progress bars or anything inside a module's own classes.
 */
:root {
  --ntb-primary: #2563eb;
  --ntb-primary-hover: #1d4ed8;
  --ntb-navy: #1e3a5f;
  --ntb-text: #1f2a44;
  --ntb-muted: #64748b;
  --ntb-link: #2563eb;
  --ntb-panel: #ffffff;
  --ntb-page: #f0f4fb;
  --ntb-soft: #eaf1fe;
  --ntb-soft-2: #e3ecfd;
  --ntb-border: #dde6f4;
  --ntb-border-strong: #d3ddee;
  --ntb-focus: rgba(37, 99, 235, .14);
}

/* ---- page ---- */
html body.app,
html body.admin { background-color: var(--ntb-page); color: var(--ntb-text); }
html body #wrapper { background-color: var(--ntb-page); }

/* ---- links: deliberately low specificity, so any module / label / button colour still wins ---- */
:where(html body) a { color: var(--ntb-link); }
:where(html body) a:hover { color: var(--ntb-primary-hover); }

/* ---- top header ---- */
html body #header {
  background-color: #ffffff;
  border-bottom: 1px solid var(--ntb-border);
  box-shadow: none;
}
html body #header #search_input,
html body #header #top_search input[type="search"] {
  background-color: #f2f6fd !important;
  border: 1px solid #e6edf8 !important;
  color: var(--ntb-text);
}
html body #header #search_input:focus { background-color: #ffffff !important; border-color: #b9cdf3 !important; }
html body #header .navbar-nav > li > a,
html body #header .navbar-nav > li > a i { color: #4f6a96; }
html body #header .navbar-nav > li > a:hover,
html body #header .navbar-nav > li > a:hover i { color: var(--ntb-primary); }
html body #header .hide-menu { color: #1e3a5f; }

/* ---- buttons: only primary + default ---- */
html body .btn-primary {
  background-color: var(--ntb-primary);
  border-color: var(--ntb-primary);
  color: #ffffff;
  box-shadow: none;
  background-image: none;
}
html body .btn-primary:hover,
html body .btn-primary:focus,
html body .btn-primary:active,
html body .btn-primary.active,
html body .open > .dropdown-toggle.btn-primary {
  background-color: var(--ntb-primary-hover);
  border-color: var(--ntb-primary-hover);
  color: #ffffff;
}
html body .btn-primary.disabled,
html body .btn-primary[disabled] { background-color: #93b2ee; border-color: #93b2ee; }
html body .btn-default {
  background-color: #ffffff;
  border-color: var(--ntb-border-strong);
  color: var(--ntb-navy);
  box-shadow: none;
}
html body .btn-default:hover,
html body .btn-default:focus,
html body .open > .dropdown-toggle.btn-default {
  background-color: var(--ntb-soft);
  border-color: #c3d4f2;
  color: var(--ntb-navy);
}
html body .btn-default.active,
html body .btn-default:active { background-color: var(--ntb-soft-2); border-color: #b8cbef; color: var(--ntb-navy); }

/* ---- forms ---- */
html body .form-control,
html body .bootstrap-select .dropdown-toggle.btn-default,
html body .bootstrap-select > .btn { border-color: var(--ntb-border-strong); }
html body .form-control:focus,
html body .bootstrap-select .dropdown-toggle:focus {
  border-color: #93b4f0 !important;
  box-shadow: 0 0 0 3px var(--ntb-focus) !important;
  outline: none !important;
}
html body .checkbox-primary input[type="checkbox"]:checked + label::before,
html body .radio-primary input[type="radio"]:checked + label::before {
  background-color: var(--ntb-primary);
  border-color: var(--ntb-primary);
}
html body .onoffswitch-checkbox:checked + .onoffswitch-label,
html body .onoffswitch-checkbox:checked + .onoffswitch-label::before { border-color: var(--ntb-primary); }
html body .onoffswitch-checkbox:checked + .onoffswitch-label { background-color: var(--ntb-primary); }

/* ---- dropdowns ---- */
html body .dropdown-menu { border-color: var(--ntb-border); box-shadow: 0 8px 24px rgba(30, 58, 95, .08); }
html body .dropdown-menu > li > a:hover,
html body .dropdown-menu > li > a:focus { background-color: var(--ntb-soft); color: var(--ntb-navy); }
html body .dropdown-menu > .active > a,
html body .dropdown-menu > .active > a:hover,
html body .bootstrap-select .dropdown-menu li.selected a { background-color: var(--ntb-soft-2); color: var(--ntb-navy); }

/* ---- tabs ---- */
html body .nav-tabs { border-bottom-color: var(--ntb-border); }
html body .nav-tabs > li > a { color: var(--ntb-muted); }
html body .nav-tabs > li > a:hover { color: var(--ntb-primary); border-bottom-color: #c3d4f2; background: transparent; }
html body .nav-tabs > li.active > a,
html body .nav-tabs > li.active > a:hover,
html body .nav-tabs > li.active > a:focus { color: var(--ntb-primary); border-bottom-color: var(--ntb-primary); }

/* ---- pagination (DataTables) ---- */
html body .pagination > li > a,
html body .pagination > li > span { color: var(--ntb-navy); border-color: var(--ntb-border); }
html body .pagination > li > a:hover { background-color: var(--ntb-soft); }
html body .pagination > .active > a,
html body .pagination > .active > a:hover,
html body .pagination > .active > span {
  background-color: var(--ntb-primary);
  border-color: var(--ntb-primary);
  color: #ffffff;
}

/* ---- modals ---- */
html body .modal-content { border-color: var(--ntb-border); box-shadow: 0 12px 32px rgba(30, 58, 95, .12); }
html body .modal-header { border-bottom-color: var(--ntb-border); }
html body .modal-footer { border-top-color: var(--ntb-border); }
