
/*
  NurovaGH UI/UX Design System v1.0
  Version integrated with NurovaGH v3.6.1
  8px base grid, semantic colors, accessible interaction states.
*/
:root{
  /* Brand */
  --ds-color-brand-950:#063d41;
  --ds-color-brand-900:#074b4c;
  --ds-color-brand-800:#075f5a;
  --ds-color-brand-700:#0d756e;
  --ds-color-brand-600:#0d8b83;
  --ds-color-brand-500:#19a49b;
  --ds-color-brand-400:#2bc0b3;
  --ds-color-brand-100:#dff5f2;
  --ds-color-brand-50:#effaf8;

  /* Supporting palette */
  --ds-color-sky-600:#397fb8;
  --ds-color-sky-100:#dfeeff;
  --ds-color-sky-50:#edf6ff;
  --ds-color-amber-600:#b66b10;
  --ds-color-amber-500:#f3ad3d;
  --ds-color-amber-100:#ffe8bf;
  --ds-color-amber-50:#fff7e8;
  --ds-color-success-700:#237a57;
  --ds-color-success-100:#dff3e7;
  --ds-color-success-50:#eef9f3;
  --ds-color-danger-700:#9e2f29;
  --ds-color-danger-600:#b63b36;
  --ds-color-danger-100:#f9d8d5;
  --ds-color-danger-50:#fff0ee;
  --ds-color-info-700:#2f6595;
  --ds-color-info-50:#edf6ff;

  /* Neutrals */
  --ds-color-ink:#18343a;
  --ds-color-ink-soft:#36535a;
  --ds-color-muted:#667b81;
  --ds-color-subtle:#8b9ba0;
  --ds-color-border:#dce7e8;
  --ds-color-border-strong:#c7d8da;
  --ds-color-surface:#ffffff;
  --ds-color-surface-soft:#f7fbfb;
  --ds-color-canvas:#f4f9f9;
  --ds-color-cream:#fff9ee;

  /* Typography */
  --ds-font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ds-font-size-xs:.75rem;
  --ds-font-size-sm:.875rem;
  --ds-font-size-md:1rem;
  --ds-font-size-lg:1.125rem;
  --ds-font-size-xl:1.3125rem;
  --ds-font-size-2xl:1.75rem;
  --ds-font-size-3xl:2.125rem;
  --ds-font-size-display:clamp(2.25rem,5vw,4rem);
  --ds-line-tight:1.12;
  --ds-line-normal:1.5;
  --ds-line-relaxed:1.65;
  --ds-weight-regular:400;
  --ds-weight-medium:500;
  --ds-weight-semibold:600;
  --ds-weight-bold:700;
  --ds-weight-extrabold:800;

  /* 8px spacing grid, with 4px micro-step */
  --ds-space-0:0;
  --ds-space-0-5:.25rem;
  --ds-space-1:.5rem;
  --ds-space-2:1rem;
  --ds-space-3:1.5rem;
  --ds-space-4:2rem;
  --ds-space-5:2.5rem;
  --ds-space-6:3rem;
  --ds-space-8:4rem;
  --ds-space-10:5rem;

  /* Shape */
  --ds-radius-xs:.5rem;
  --ds-radius-sm:.75rem;
  --ds-radius-md:1rem;
  --ds-radius-lg:1.375rem;
  --ds-radius-xl:1.75rem;
  --ds-radius-pill:999px;

  /* Elevation */
  --ds-shadow-sm:0 4px 14px rgba(19,67,72,.07);
  --ds-shadow-md:0 12px 34px rgba(19,67,72,.10);
  --ds-shadow-lg:0 24px 64px rgba(9,47,52,.16);

  /* Interaction */
  --ds-focus-ring:0 0 0 3px rgba(43,192,179,.28);
  --ds-transition-fast:140ms ease;
  --ds-transition-base:220ms ease;
  --ds-control-height:44px;
  --ds-touch-target:44px;

  /* Layout */
  --ds-sidebar-width:260px;
  --ds-content-max:1440px;
  --ds-z-nav:20;
  --ds-z-modal:80;
  --ds-z-toast:100;

  /* Compatibility aliases used by the existing application */
  --teal:var(--ds-color-brand-800);
  --teal2:var(--ds-color-brand-600);
  --teal3:var(--ds-color-brand-400);
  --aqua:#e5f7f5;
  --sky:var(--ds-color-sky-50);
  --amber:var(--ds-color-amber-500);
  --cream:var(--ds-color-cream);
  --danger:var(--ds-color-danger-600);
  --ok:var(--ds-color-success-700);
  --ink:var(--ds-color-ink);
  --muted:var(--ds-color-muted);
  --line:var(--ds-color-border);
  --soft:var(--ds-color-surface-soft);
  --white:var(--ds-color-surface);
  --shadow:var(--ds-shadow-md);
  --radius:var(--ds-radius-lg);
}

/* Core accessibility and interaction contract */
:focus-visible{outline:none;box-shadow:var(--ds-focus-ring)}
button,a,input,select,textarea,summary{transition:box-shadow var(--ds-transition-fast),border-color var(--ds-transition-fast),background-color var(--ds-transition-fast),transform var(--ds-transition-fast)}
button,a,[role="button"],input,select{min-height:var(--ds-touch-target)}
button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.52}
.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}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:var(--ds-color-surface);color:var(--ds-color-brand-800);padding:.75rem 1rem;border-radius:var(--ds-radius-sm);box-shadow:var(--ds-shadow-lg);font-weight:800}.skip-link:focus{top:1rem}

/* Standard component primitives */
.ds-stack{display:grid;gap:var(--ds-space-2)}
.ds-cluster{display:flex;gap:var(--ds-space-1);align-items:center;flex-wrap:wrap}
.ds-surface{background:var(--ds-color-surface);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}
.ds-divider{height:1px;background:var(--ds-color-border);margin:var(--ds-space-3) 0}
.ds-kicker{font-size:var(--ds-font-size-xs);font-weight:var(--ds-weight-extrabold);letter-spacing:.14em;text-transform:uppercase;color:var(--ds-color-brand-600)}
.ds-h1{font-size:var(--ds-font-size-3xl);line-height:var(--ds-line-tight);font-weight:var(--ds-weight-extrabold)}
.ds-h2{font-size:var(--ds-font-size-2xl);line-height:var(--ds-line-tight);font-weight:var(--ds-weight-bold)}
.ds-body{font-size:var(--ds-font-size-md);line-height:var(--ds-line-relaxed)}
.ds-caption{font-size:var(--ds-font-size-xs);line-height:1.45;color:var(--ds-color-muted)}

/* Semantic contexts */
.context-parent{--context-accent:var(--ds-color-brand-600);--context-surface:var(--ds-color-brand-50)}
.context-clinical{--context-accent:var(--ds-color-info-700);--context-surface:#f5f9fc}
.context-safety{--context-accent:var(--ds-color-danger-600);--context-surface:var(--ds-color-danger-50)}

/* System status patterns */
.ds-state{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-color-border)}
.ds-state--info{background:var(--ds-color-info-50);border-color:#cfe1f2;color:#244f73}
.ds-state--success{background:var(--ds-color-success-50);border-color:#cbe9d8;color:#205f46}
.ds-state--warning{background:var(--ds-color-amber-50);border-color:#efd39c;color:#74470c}
.ds-state--danger{background:var(--ds-color-danger-50);border-color:#e3aaa5;color:#7d2723}

/* Loading/empty/error conventions */
.ds-skeleton{position:relative;overflow:hidden;background:#eaf1f2;border-radius:var(--ds-radius-sm);min-height:1rem}
.ds-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:ds-shimmer 1.25s infinite}
@keyframes ds-shimmer{100%{transform:translateX(100%)}}

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

/* High contrast preference support */
@media (prefers-contrast:more){:root{--ds-color-border:#8aa0a4;--ds-color-muted:#44575c}.btn,.field input,.field select,.field textarea,.card{border-width:2px}}
