:root {
    /* Typography */
    --frontend-base-font-size: 17px;
    --frontend-body-font-family: "DM Sans", sans-serif;
    --frontend-heading-font-family: "Manrope", sans-serif;
    --bs-body-font-family: var(--frontend-body-font-family);

    /* Brand */
    --hospital-green: #0b6b61;
    --hospital-green-dark: #075149;
    --hospital-coral: #ef765f;
    --hospital-gold: #e6ad45;
    --hospital-ink: #15312e;
    --hospital-muted: #617471;

    /* Derived brand surfaces */
    --hospital-mint: color-mix(in srgb, var(--hospital-green) 20%, #fff);
    --hospital-mint-light: color-mix(in srgb, var(--hospital-green) 9%, #fff);
    --hospital-border: color-mix(in srgb, var(--hospital-green) 15%, #fff);
    --hospital-bg: color-mix(in srgb, var(--hospital-green) 3%, #fff);
    --hospital-cream: color-mix(in srgb, var(--hospital-coral) 5%, #fff);

    /* Neutral surfaces and borders */
    --theme-white: #fff;
    --theme-surface-soft: #f8fbfa;
    --theme-surface-muted: #f6faf9;
    --theme-surface-subtle: #f5f9f8;
    --theme-border-soft: #edf2f1;
    --theme-border-muted: #e1ece9;
    --theme-border-strong: #cbdedb;

    /* Status colors */
    --theme-danger: #a64338;
    --theme-danger-bg: #fff0ee;
    --theme-danger-border: #f3c7c1;
    --theme-success: #14694e;
    --theme-success-bg: #e5f6ef;
    --theme-warning: #9a6605;
    --theme-warning-bg: #fff5d9;
    --theme-info: #315fa3;
    --theme-info-bg: #e6effc;

    /* Reusable effects */
    --hospital-shadow: 0 18px 48px color-mix(in srgb, var(--hospital-green) 16%, transparent);
    --theme-card-shadow: 0 12px 35px color-mix(in srgb, var(--hospital-green) 9%, transparent);
    --theme-focus-ring: 0 0 0 3px color-mix(in srgb, var(--hospital-green) 10%, transparent);
}