/* Offline replacements for the two CDN stylesheets.
 *
 * The clinic PC has no internet, so Google Fonts and the Bootstrap Icons
 * webfont can never load. Rather than let the interface fall back to
 * Times New Roman with 48 empty boxes where the icons were, this supplies
 * both locally:
 *
 *   - Typefaces map to faces already present on Windows. Crimson Pro was a
 *     serif for headings and DM Sans a humanist sans for body text, so
 *     Georgia and Segoe UI stand in for them closely enough.
 *
 *   - Each `bi-*` class used in the templates draws a character from Segoe
 *     UI Symbol instead of the webfont. These are shipped with Windows, so
 *     nothing is downloaded.
 *
 * If the real Bootstrap Icons font is ever vendored into static/fonts/,
 * delete this file's icon section and load the font's own stylesheet.
 */

:root {
    --font-serif: Georgia, 'Times New Roman', serif;
    --font-sans:  'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
}

body,
input, select, textarea, button {
    font-family: var(--font-sans);
}

/* The design used Crimson Pro for headings and brand text. */
.brand-name,
.card-header h3,
.identity-name,
.login-brand,
h1, h2, h3 {
    font-family: var(--font-serif);
}

/* ── Icons ────────────────────────────────────────────────────────────── */

.bi {
    display: inline-block;
    font-family: 'Segoe UI Symbol', 'Segoe UI Emoji', 'Segoe UI', sans-serif;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    min-width: 1em;
    /* Keeps a glyph from nudging the text baseline around. */
    vertical-align: -.08em;
}

.bi::before { content: '\2022'; }   /* fallback dot for anything unmapped */

/* Navigation and layout */
.bi-grid-1x2::before        { content: '\25A6'; }
.bi-people::before,
.bi-people-fill::before     { content: '\1F465'; }
.bi-person::before          { content: '\1F464'; }
.bi-person-circle::before   { content: '\24C5'; }
.bi-person-badge::before    { content: '\1F4CB'; }
.bi-person-plus::before,
.bi-person-plus-fill::before{ content: '\002B'; }
.bi-house::before           { content: '\1F3E0'; }
.bi-box-arrow-right::before { content: '\21AA'; }
.bi-arrow-left::before      { content: '\2190'; }
.bi-arrow-right::before     { content: '\2192'; }
.bi-arrow-repeat::before    { content: '\21BB'; }

/* Actions */
.bi-search::before          { content: '\1F50D'; }
.bi-pencil::before          { content: '\270E'; }
.bi-printer::before         { content: '\2399'; }
.bi-plus::before,
.bi-plus-lg::before         { content: '\002B'; }
.bi-check-lg::before        { content: '\2713'; }
.bi-x::before,
.bi-x-lg::before            { content: '\2715'; }
.bi-trash::before           { content: '\232B'; }
.bi-eye::before             { content: '\1F441'; }
.bi-download::before        { content: '\2193'; }
.bi-upload::before,
.bi-cloud-upload::before    { content: '\2191'; }
.bi-paperclip::before       { content: '\1F4CE'; }
.bi-lock::before            { content: '\1F512'; }
.bi-bell-fill::before       { content: '\1F514'; }

/* Clinical */
.bi-heart-pulse::before,
.bi-heart-pulse-fill::before{ content: '\2665'; }
.bi-activity::before        { content: '\223F'; }
.bi-clipboard2-pulse::before,
.bi-clipboard2-pulse-fill::before,
.bi-clipboard2-check::before{ content: '\1F4CB'; }
.bi-journal-medical::before { content: '\1F4D2'; }
.bi-file-medical::before    { content: '\1F4C4'; }
.bi-card-list::before       { content: '\2261'; }
.bi-shield-plus::before     { content: '\1F6E1'; }
.bi-capsule::before         { content: '\1F48A'; }
.bi-scissors::before        { content: '\2702'; }
.bi-exclamation-triangle::before { content: '\26A0'; }
.bi-thermometer-half::before{ content: '\1F321'; }
.bi-lungs::before           { content: '\1FAC1'; }
.bi-droplet::before         { content: '\1F4A7'; }
.bi-graph-up::before        { content: '\2197'; }
.bi-arrows-vertical::before { content: '\2195'; }
.bi-calendar-heart::before  { content: '\1F4C5'; }

/* Dates and files */
.bi-calendar3::before,
.bi-calendar2-check-fill::before { content: '\1F4C5'; }
.bi-clock-history::before   { content: '\1F551'; }
.bi-telephone::before       { content: '\260E'; }
.bi-file-earmark::before    { content: '\1F4C4'; }
.bi-file-pdf::before        { content: '\1F4D5'; }
.bi-file-word::before       { content: '\1F4D8'; }
.bi-file-image::before      { content: '\1F5BC'; }
.bi-file-zip::before        { content: '\1F5DC'; }

/* The spinner still turns. */
.bi.spin,
.spin .bi { animation: bi-spin 1s linear infinite; }

@keyframes bi-spin {
    to { transform: rotate(360deg); }
}
