/* Intronsoft brand tokens — loaded site-wide (website + Desk) */

:root {
  --ci-brand: #0c0dd0;
  --ci-brand-hover: #090ab0;
  --ci-brand-soft: #e6e8f6;
  --ci-brand-soft-border: #c5c8f5;
  --ci-brand-mid: #4f52e8;
  --ci-brand-on-dark: #8b8dff;
  --ci-brand-glow: rgba(12, 13, 208, 0.12);
  --ci-brand-glow-strong: rgba(12, 13, 208, 0.28);

  /* App aliases (aptitude / portal / notice board) */
  --ciq-accent: var(--ci-brand);
  --ciq-accent-soft: var(--ci-brand-soft);
  --ciq-accent-hover: var(--ci-brand-hover);
  --cip-accent: var(--ci-brand);
  --cip-accent-soft: var(--ci-brand-soft);

  /* Frappe theme hooks */
  --brand-color: var(--ci-brand);
  --btn-primary: var(--ci-brand);
}

/* Primary actions (website login + Desk)
   Login "Continue" uses btn-default.btn-login — not btn-primary.
   Selectors are intentionally heavier than login.bundle rules. */
.btn-primary,
.btn-login.btn-primary,
.page-card-actions .btn-primary,
.page-card-actions .btn-login,
.for-login .btn-login,
#page-login .btn-login,
html body #page-login .page-card-actions button.btn.btn-sm.btn-default.btn-block.btn-login,
html body .for-login .page-card-actions button.btn.btn-login {
  background-color: #0c0dd0 !important;
  background-image: none !important;
  border-color: #0c0dd0 !important;
  color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-login.btn-primary:hover,
.page-card-actions .btn-primary:hover,
.page-card-actions .btn-login:hover,
.for-login .btn-login:hover,
#page-login .btn-login:hover,
.page-card-actions .btn-login:focus,
.for-login .btn-login:focus,
html body #page-login .page-card-actions button.btn.btn-sm.btn-default.btn-block.btn-login:hover,
html body #page-login .page-card-actions button.btn.btn-sm.btn-default.btn-block.btn-login:focus {
  background-color: #090ab0 !important;
  background-image: none !important;
  border-color: #090ab0 !important;
  color: #fff !important;
}

.btn-primary-light {
  background-color: var(--ci-brand-soft) !important;
  color: var(--ci-brand) !important;
}

/* Website chrome */
body[data-path] .navbar .nav-link.active,
body[data-path] .navbar .nav-item.active > .nav-link {
  color: var(--ci-brand) !important;
}

.indicator-pill.blue,
.indicator.blue {
  --indicator-color: var(--ci-brand);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--ci-brand);
}

/* Desk workspace + sidebar polish */
.desktop-list-item.active,
.standard-sidebar-item.selected,
.workspace-sidebar .item-anchor.active {
  color: var(--ci-brand) !important;
}

.workspace-sidebar .item-anchor.active .sidebar-item-icon use,
.standard-sidebar-item.selected .sidebar-item-icon use,
.desk-sidebar .standard-sidebar-item.selected svg use {
  --icon-stroke: var(--ci-brand);
  stroke: var(--ci-brand);
}

.shortcut-widget-box .widget-head .widget-title .widget-title-icon {
  color: var(--ci-brand);
}

.desk-sidebar .sidebar-item-icon,
.workspace-sidebar .sidebar-item-icon {
  color: var(--ci-brand);
}

.desk-sidebar .standard-sidebar-label,
.workspace-sidebar .sidebar-section-head {
  letter-spacing: 0.02em;
}

/* Login / website navbar wordmark */
.navbar-brand img,
.navbar .navbar-brand img {
  max-height: 2rem;
  width: auto;
}

/* Login card logo — removed on branded login; keep head left-aligned fallbacks */
html body #page-login .page-card-head,
html body .for-login .page-card-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

html body #page-login .page-card-head img.app-logo,
html body .for-login .page-card-head img.app-logo,
html body #page-login .page-card-head img,
html body .for-login .page-card-head img {
  display: none !important;
}

html body #page-login .page-card-head .page-card-head-text,
html body .for-login .page-card-head .page-card-head-text {
  align-items: flex-start !important;
  text-align: left !important;
}

/* Full-bleed campus page backgrounds (escape Frappe .container) */
body:has(.cip),
body:has(.ci-notice),
body:has(.ciq),
body.ci-login-page {
  background-color: #f4f7fb !important;
}

/* Drop website chrome — portals carry their own actions */
body:has(.cip) .navbar,
body:has(.ci-notice) .navbar,
body:has(.ciq) .navbar,
body.ci-login-page .navbar,
body:has(.cip) .web-footer,
body:has(.ci-notice) .web-footer,
body:has(.ciq) .web-footer,
body.ci-login-page .web-footer,
body:has(.cip) footer.web-footer,
body:has(.ci-notice) footer.web-footer,
body:has(.ciq) footer.web-footer,
body:has(.cip) .page-footer,
body:has(.ci-notice) .page-footer,
body:has(.ciq) .page-footer {
  display: none !important;
}

body:has(.cip) main.container,
body:has(.ci-notice) main.container,
body:has(.ciq) main.container,
body:has(.cip) .container,
body:has(.ci-notice) .container,
body:has(.ciq) .container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:has(.cip) .page_content,
body:has(.ci-notice) .page_content,
body:has(.ciq) .page_content,
body:has(.cip) .page-content,
body:has(.ci-notice) .page-content,
body:has(.ciq) .page-content {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cip,
.ci-notice,
.ciq {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
