/**
 * DPR shared brand tokens — colors, fonts, radius, shadows.
 * Intentionally contains ONLY custom properties, no resets or layout rules
 * (no `*` box-sizing reset, no `body{display:flex}`), so it's safe to load
 * on standalone documents (booking, consent, medhistory, prescription/
 * certificate print views) without fighting their own page layout.
 * portal.css imports this same block for the main app shell.
 */
:root {
    --c-bg:        #f5f3ef;
    --c-surface:   #ffffff;
    --c-border:    #e2ddd6;
    --c-text:      #1a1714;
    --c-muted:     #7d756d;
    --c-primary:   #1a3a6b;
    --c-primary-l: #2a5c9a;
    --c-accent:    #c8963e;
    --c-accent-l:  #f0c878;
    --c-danger:    #9b2335;
    --c-success:   #2e7d4f;
    --c-info:      #1e4d6b;
    --c-success-bg: #e8f8ee;
    --c-info-bg:     #f0f8ff;
    --c-info-border: #c8e0f5;
    --radius:      10px;
    --shadow:      0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
    --shadow-md:   0 4px 8px rgba(0,0,0,.1), 0 8px 32px rgba(0,0,0,.08);
    --nav-w:       240px;
    --font-serif:  'Lora', Georgia, 'Times New Roman', serif;
    --font-sans:   -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

    /* Button sizes — desktop values. Mobile overrides these same
       variables in one place (portal.css mobile media query) instead
       of restyling each .btn-* class separately, so a class can never
       end up "forgotten" on mobile the way .btn-xs once was. */
    --btn-font:    13px; --btn-pad:    8px 16px;
    --btn-sm-font: 12px; --btn-sm-pad: 5px 11px;
    --btn-xs-font: 11px; --btn-xs-pad: 3px 8px;
}
