:root {
  --brand-50:  #F2F7FC;
  --brand-100: #E8F0F7;
  --brand-200: #CFE0EE;
  --brand-300: #A8C5DF;
  --brand-400: #6E9EC7;
  --brand-500: #3D6FA0;
  --brand-600: #35618C;
  --brand-700: #2E5478;
  --brand-800: #234060;

  --teal-50:  #E9F8F7;
  --teal-100: #D3F1EE;
  --teal-400: #3FBFB3;
  --teal-500: #2CC1B4;
  --teal-600: #21A79B;
  --violet-500: #7B8CF5;
  --coral-500:  #FF8A6B;

  --grad-brand:  linear-gradient(135deg, #3D6FA0 0%, #2CC1B4 100%);
  --grad-brand-r: linear-gradient(135deg, #2CC1B4 0%, #3D6FA0 100%);
  --grad-soft:   linear-gradient(135deg, #E8F0F7 0%, #E9F8F7 100%);
  --grad-aurora: radial-gradient(120% 120% at 0% 0%, #DCE9F6 0%, #F4F7FB 45%, #E7F7F5 100%);
  --grad-sheen:  linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);

  --bg-page:   #F4F7FB;
  --bg-card:   #FFFFFF;
  --bg-hover:  #F1F5FA;
  --bg-sunken: #EDF2F8;
  --bg-glass:  rgba(255, 255, 255, .72);
  --bg-glass-strong: rgba(255, 255, 255, .86);
  --border:        #E4EAF2;
  --border-strong: #D5DEE9;
  --divider:       #EEF3F8;

  --text-primary:   #1F2D3D;
  --text-secondary: #61748B;
  --text-muted:     #93A2B4;
  --text-disabled:  #B6C1CE;
  --text-inverse:   #FFFFFF;

  --success:      #2FA97A;
  --success-bg:   #E8F6F0;
  --warning:      #E0A93E;
  --warning-bg:   #FBF3E0;
  --danger:       #E05B5B;
  --danger-bg:    #FCEBEB;
  --info:         #4A7BA6;
  --info-bg:      #EAF2F9;
  --neutral:      #8A97A5;
  --neutral-bg:   #F0F3F7;

  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-full: 999px;

  --shadow-xs: 0 1px 2px rgba(31,45,61,.04);
  --shadow-sm: 0 2px 8px rgba(31,45,61,.06);
  --shadow-md: 0 8px 24px rgba(31,45,61,.08);
  --shadow-lg: 0 16px 48px rgba(31,45,61,.12);
  --shadow-brand: 0 8px 22px rgba(61,111,160,.24);
  --shadow-teal:  0 8px 22px rgba(44,193,180,.22);
  --shadow-inset: inset 0 1px 0 rgba(255,255,255,.6);

  --font-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Source Han Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-num:  "DIN Alternate", "Barlow", "Roboto", "Helvetica Neue", Arial, sans-serif;

  --fs-display: 28px;
  --fs-h1: 20px;
  --fs-h2: 16px;
  --fs-body: 14px;
  --fs-sm: 13px;
  --fs-xs: 12px;
  --lh-tight: 1.2;
  --lh-body: 22px;
  --lh-loose: 1.7;

  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;

  --sidebar-w: 216px;
  --sidebar-w-collapsed: 64px;
  --topbar-h: 56px;
  --content-max: 1400px;

  --ctrl-lg: 40px;
  --ctrl-md: 32px;
  --ctrl-sm: 28px;
  --row-h: 44px;

  --dur-fast: .16s;
  --dur: .28s;
  --dur-slow: .45s;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in-out: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);

  --z-drawer: 900;
  --z-modal: 1000;
  --z-toast: 1100;
  --z-tooltip: 1200;
}

html[data-font="large"] {
  --fs-display: 34px;
  --fs-h1: 24px;
  --fs-h2: 18px;
  --fs-body: 16px;
  --fs-sm: 15px;
  --fs-xs: 14px;
  --lh-body: 26px;
  --ctrl-lg: 46px;
  --ctrl-md: 38px;
  --ctrl-sm: 34px;
  --row-h: 54px;
  --text-secondary: #55677C;
  --text-muted: #7C8B9C;
  --sidebar-w: 232px;
}

html[data-density="compact"] {
  --row-h: 38px;
  --fs-body: 13px;
  --sp-4: 12px;
  --sp-6: 18px;
}
