/* Tabler 1.7.4 heading sizes, scaled once. Body and controls retain Tabler's font. */
@font-face { font-family: Poppins; src: url('../vendor/poppins/files/poppins-latin-ext-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Poppins; src: url('../vendor/poppins/files/poppins-latin-ext-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: Poppins; src: url('../vendor/poppins/files/poppins-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Poppins; src: url('../vendor/poppins/files/poppins-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; }
h1, h2, h3, h4, h5, h6, .page-title { font-family: Poppins, system-ui, sans-serif; overflow-wrap: anywhere; }
h1 { font-size: calc(var(--tblr-font-size-h1) * 1.8); line-height: 1.15; }
h2 { font-size: calc(var(--tblr-font-size-h2) * 1.4); line-height: 1.2; }
h3 { font-size: calc(var(--tblr-font-size-h3) * 1.4); line-height: 1.2; }
h4 { font-size: calc(var(--tblr-font-size-h4) * 1.4); line-height: 1.2; }
h5 { font-size: calc(var(--tblr-font-size-h5) * 1.4); line-height: 1.2; }
h6 { font-size: calc(var(--tblr-font-size-h6) * 1.4); line-height: 1.2; }
.page-title { font-size: calc(var(--tblr-font-size-h2) * 1.8); line-height: 1.15; }
h1.page-title { font-size: calc(var(--tblr-font-size-h1) * 1.8); }
/* Fluid layout must not stretch the signed-out form across a wide screen. */
html[data-bs-layout="fluid"] .login-container { max-width: 28rem; }
/* Tabler's card-title is 1rem regardless of heading level. */
h2.card-title, h3.card-title, h4.card-title, h5.card-title, h6.card-title { font-size: 1rem; font-weight: var(--tblr-font-weight-headings); line-height: 1.2; }

/* Hagmaier indigo, lightened for the dark surface. The lighter link color also meets small-text contrast. */
html[data-bs-theme="dark"] { --tblr-primary: #6664bb; --tblr-primary-rgb: 102, 100, 187; --tblr-primary-fg: #fff; --tblr-link-color: #aaa9ed; --tblr-link-color-rgb: 170, 169, 237; --tblr-link-hover-color: #d5d4ff; --tblr-primary-text-emphasis: #c2c1ff; }
html[data-bs-theme="dark"] .btn-outline-primary { --tblr-btn-color: #c2c1ff; --tblr-btn-border-color: #8e8ce0; --tblr-btn-hover-color: #fff; --tblr-btn-hover-bg: #6664bb; --tblr-btn-hover-border-color: #6664bb; }

/* The light palette uses the exact brand indigo. Logo variants retain contrast. */
html[data-bs-theme="light"] { --tblr-primary:#23227d; --tblr-primary-rgb:35,34,125; --tblr-primary-fg:#fff; --tblr-link-color:#23227d; --tblr-link-color-rgb:35,34,125; --tblr-link-hover-color:#4140a4; --tblr-primary-text-emphasis:#23227d; --tblr-green:#18783b; --tblr-red:#a62a27; }
.fc-logo-light { display:none; }
html[data-bs-theme="light"] .fc-logo-dark { display:none; }
html[data-bs-theme="light"] .fc-logo-light { display:block; }
.fc-login-brand { display:inline-block; max-width:100%; }
.fc-login-brand img { max-width:100%; height:auto; }
[data-theme-toggle][hidden] { display:none; }
html[data-bs-theme="light"] .week-theme { --ui-success:#206f37; --ui-danger:#a52824; --ui-warning:#805200; --ui-status-ready:#206f37; --ui-status-preparation:#805200; --ui-status-unprocessed:#6c388e; --ui-status-produced:#a52824; --ui-status-finished:#445462; --ui-status-framework:#20588d; }
html[data-bs-theme="light"] :is(.locations-page,.material-detail-page) { --ui-danger:#a52824; }
/* Shared decorative icons, including the signed-out theme control. */
.fc-icon { display:inline-block; width:1.125rem; height:1.125rem; vertical-align:-.2em; }
.fc-theme-moon { display:none; }
html[data-bs-theme="light"] .fc-theme-sun { display:none; }
html[data-bs-theme="light"] .fc-theme-moon { display:inline; }
.btn > .fc-icon { margin-right:.35rem; }
/* A quiet brand glow anchored to the viewport's bottom-right corner. */
body { --fc-glow-opacity:.22; background-image:radial-gradient(ellipse 80vw 90vh at 100% 100%, rgba(var(--tblr-primary-rgb),var(--fc-glow-opacity)) 0%, rgba(var(--tblr-primary-rgb),0) 75%); background-attachment:fixed; background-repeat:no-repeat; }
html[data-bs-theme="light"] body { --fc-glow-opacity:.11; }
@media print { body { background-image:none; } }
