
/* Brand fonts (Fonts tab) — override the app font tokens main5.css consumes:
   body text reads --app-font-sans, headings read --app-font-display. */
:root {
	--app-font-sans: Arial, "Helvetica Neue", Helvetica, sans-serif;
	--bs-font-sans-serif: Arial, "Helvetica Neue", Helvetica, sans-serif;
	--bs-body-font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* Card header font size (Fonts tab) — overrides main5.css's 0.875rem default
   for dashboard/widget card headers. */
.card-header { font-size: 12px; }

/* ────────────────────────────────────────────────────────────────────────
   Campus brand overrides — generated by brand_overrides.jsp
   campusId=8
   Loaded after the campus theme stylesheet to override its colour tokens.
   ──────────────────────────────────────────────────────────────────────── */

:root {
	--brand-background: #fdfdfd;
	--brand-radius: 0px;
}


/* Page background — applied at the body level so banner/nav/content all share it */
:root {
	--bs-body-bg: #fdfdfd;
}
body, html { background-color: #fdfdfd; }
body.banner-bg { background-color: #fdfdfd; }
.admin-body { background-color: #fdfdfd; }

/* Border radius — tokens for BS5 + explicit selectors for BS3 components */
:root {
	--bs-border-radius: 0px;
	--bs-border-radius-sm: 0px;
	--bs-border-radius-lg: 2px;
}
.btn          { border-radius: 0px; }
.form-control { border-radius: 0px; }
.form-select  { border-radius: 0px; }
.panel        { border-radius: 0px; }
.panel-heading{ border-radius: 0px 0px 0 0; }
.card         { border-radius: 0px; }
.well         { border-radius: 0px; }
.dropdown-menu{ border-radius: 0px; }


/* ── Advanced overrides ────────────────────────────────────────────────
   These fields live in the Branding admin's "Advanced overrides" panel.
   Each block is emitted only when the campus has actually saved a value
   for that token; an empty saved value falls through to the active
   theme. Status colours emit btn/bg/text/badge/border variants because
   BS5's compiled CSS hardcodes those values rather than referencing the
   --bs-X variable. Surface/border/banner tokens use var()-only because
   the consuming components in the BS5 stylesheet read --bs-X / --lb-X
   directly. */


:root {
	--bs-dark: #6c757d;
	--bs-dark-rgb: 108, 117, 125;
}
.btn-dark,
.btn-dark.disabled,
.btn-dark[disabled] {
	background-color: #6c757d;
	border-color: #6c757d;
	color: #ffffff;
}
.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark.active {
	background-color: #6c757d;
	border-color: #6c757d;
	color: #ffffff;
	filter: brightness(0.85);
}
.bg-dark { background-color: #6c757d !important; }
.text-dark { color: #6c757d !important; }
.badge.text-bg-dark, .badge.bg-dark { background-color: #6c757d; color: #ffffff; }

:root {
	--tln-header-bg: #fdfdfd;
	--tln-header-fg: #000000;
}

:root {
	--login-heading-bg: #ffffff;
	--login-heading-fg: #000000;
}

.card-dshbd.border-0,
.card-dshbd:not([class*="border-"]) {
	/* style=none cards carry Bootstrap's .border-0 utility, which is
	   `border: 0 !important` — that shorthand also forces
	   border-style: none, so a bare border-top-width paints nothing.
	   Reassert solid style + zero side widths so only the 3px top
	   accent renders (mirrors main5.css's .border-primary rule, plus
	   the style/width resets the status rule doesn't need because
	   styled cards keep their base .card border-style). */
	border-style: solid !important;
	border-color: rgba(0, 0, 0, 0.08) !important;
	border-width: 0 !important;
	border-top-width: 3px !important;
	border-top-color: #d6d6d6 !important;
}

.lb-brand-logo {
	max-height: 50px;
	width: auto;
	height: auto;
	object-fit: contain;
}
