/* VetHub360 — Evidence Editorial Clinical System */
:root {
  /* Master brand — logo only */
  --brand-navy:#081f3a;
  --brand-primary:#06a372;
  --brand-primary-hover:#058760;
  --brand-primary-active:#047153;

  /* Mature institutional application palette */
  --ink:#10253f;
  --forest:#19624b;
  --sage:#7e9f8e;
  --ivory:#f7f5ef;
  --paper:#fcfcfa;
  --stone:#66736f;
  --light-stone:#e6e8e5;
  --graphite:#36423f;
  --amber:#b98532;
  --critical:#a92833;
  --information:#2f6f9e;

  /* Compatibility aliases used by existing templates */
  --brand-navy-strong:#0a1c30;
  --brand-primary-soft:#edf4f0;
  --brand-secondary:var(--sage);
  --brand-medical-blue:var(--information);
  --brand-cool-light:#dce7e1;
  --brand-soft-white:var(--ivory);
  --background:var(--ivory);
  --surface:var(--paper);
  --surface-raised:#fff;
  --surface-muted:#f1f2ee;
  --surface-hover:#f3f5f1;
  --text-primary:var(--ink);
  --text-secondary:var(--graphite);
  --text-muted:var(--stone);
  --text-inverse:#fff;
  --border:var(--light-stone);
  --border-strong:#c9ceca;
  --border-muted:#eceeea;
  --border-focus:var(--brand-primary);

  --status-verified:var(--forest);
  --status-verified-soft:#e9f2ed;
  --status-verified-text:#124b3a;
  --status-source-backed:var(--sage);
  --status-source-backed-soft:#eef3f0;
  --status-source-backed-text:#345c4c;
  --status-under-review:var(--amber);
  --status-under-review-soft:#f8f0df;
  --status-under-review-text:#76531c;
  --status-not-documented:var(--stone);
  --status-not-documented-soft:#eff1ef;
  --status-not-documented-text:#4c5854;
  --status-unavailable:var(--stone);
  --status-unavailable-soft:#eff1ef;
  --status-unavailable-text:#4c5854;
  --status-warning:var(--amber);
  --status-warning-soft:#f8f0df;
  --status-warning-text:#76531c;
  --status-critical:var(--critical);
  --status-critical-soft:#f8e9ea;
  --status-critical-text:#7d2029;

  --font-sans:"IBM Plex Sans",Inter,"Source Sans 3",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-arabic:"IBM Plex Sans Arabic",Tajawal,Cairo,"Noto Sans Arabic",Tahoma,Arial,sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --font-size-xs:.78rem;
  --font-size-sm:.86rem;
  --font-size-base:.96rem;
  --font-size-lg:1.05rem;
  --font-size-xl:1.22rem;
  --font-size-2xl:1.48rem;
  --font-size-3xl:1.88rem;
  --font-size-4xl:2.3rem;
  --font-size-display:clamp(2rem,4.2vw,3.65rem);
  --font-weight-normal:400;
  --font-weight-medium:500;
  --font-weight-semibold:620;
  --font-weight-bold:730;
  --line-height-tight:1.16;
  --line-height-snug:1.34;
  --line-height-normal:1.62;

  --space-0:0;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;

  --radius-sm:2px;
  --radius:3px;
  --radius-md:4px;
  --radius-lg:6px;
  --radius-xl:8px;
  --radius-full:999px;
  --shadow-xs:none;
  --shadow-sm:0 4px 12px rgba(16,37,63,.07);
  --shadow:0 8px 22px rgba(16,37,63,.09);
  --shadow-lg:0 14px 34px rgba(16,37,63,.14);
  --transition-fast:110ms ease;
  --transition:160ms ease;
  --z-dropdown:100;
  --z-sticky:200;
  --z-modal:400;
  --container-xl:1360px;
  --container-2xl:1560px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--background)}
body{min-width:320px;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[dir="rtl"] body{font-family:var(--font-arabic)}
a{color:var(--forest);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brand-primary-hover)}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%}
:focus-visible{outline:3px solid #2f75ad;outline-offset:3px}
::selection{background:#d9e7df;color:var(--ink)}

.skip-link{position:fixed;inset-block-start:-80px;inset-inline-start:50%;transform:translateX(-50%);padding:.65rem 1rem;background:#fff;color:var(--ink);font-weight:700;border:1px solid var(--border-strong);border-radius:var(--radius);z-index:999;box-shadow:var(--shadow)}
.skip-link:focus{inset-block-start:12px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.container{width:min(100%,var(--container-xl));margin-inline:auto;padding-inline:clamp(1rem,3vw,2.25rem)}

.display{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);line-height:1.02;letter-spacing:-.035em}
.h1,h1{font-size:clamp(1.8rem,3.2vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}
.h2,h2{font-size:clamp(1.35rem,2.2vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}
.h3,h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}
.h4,h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}
.h5,h5,.h6,h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}
.body{font-size:var(--font-size-base)}.body-sm{font-size:var(--font-size-sm)}.body-xs{font-size:var(--font-size-xs)}
.label,.metadata{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);letter-spacing:.045em}
.metadata{text-transform:uppercase}
.clinical-value,.bidi-value{font-variant-numeric:tabular-nums;font-family:var(--font-mono);unicode-bidi:isolate;direction:ltr}
.bidi-isolate{unicode-bidi:isolate}
.evidence-citation{font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:1.5}

.icon{display:inline-block;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em;flex:none}
.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:25px;height:25px}.icon-xl{width:36px;height:36px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
