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

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

:root {
	--brand-radius: 8px;
}


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


/* ── 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 {
	--tln-menu-dropdown-bg: #ffffff;
	--tln-menu-dropdown-fg: #000000;
}

:root {
	--tln-header-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: #da291c !important;
}
