:root {
  /* ===== Brand ===== */
  --brand-navy-900: #0A2540;
  --brand-navy-800: #13315C;
  --brand-navy-700: #1E4076;
  --brand-navy-600: #2D5A9E;
  --brand-navy-500: #4178C0;
  --brand-navy-100: #DCE7F4;
  --brand-navy-50:  #EEF3FA;

  --accent-teal-600: #00838F;
  --accent-teal-500: #00B8D4;
  --accent-teal-400: #26C6DA;
  --accent-teal-300: #4DD0E1;
  --accent-teal-100: #B2EBF2;
  --accent-teal-50:  #E0F7FA;

  /* ===== Gradients ===== */
  --gradient-brand: linear-gradient(135deg, #0A2540 0%, #1E4076 60%, #00838F 130%);
  --gradient-brand-subtle: linear-gradient(180deg, #FFFFFF 0%, #F7F9FC 100%);
  --gradient-accent-ribbon: linear-gradient(90deg, #0A2540, #00B8D4);
  --gradient-card-hover: linear-gradient(135deg, rgba(0,184,212,0.04), rgba(10,37,64,0.02));
  --gradient-cta-shine: linear-gradient(135deg, #0A2540 0%, #1E4076 100%);

  /* ===== Semantic ===== */
  --color-success-700: #1B5E20;
  --color-success-500: #2E7D32;
  --color-success-100: #C8E6C9;
  --color-success-50:  #E8F5E9;

  --color-warning-700: #B26A00;
  --color-warning-500: #F57C00;
  --color-warning-100: #FFE0B2;
  --color-warning-50:  #FFF3E0;

  --color-danger-700:  #B71C1C;
  --color-danger-500:  #D32F2F;
  --color-danger-100:  #FFCDD2;
  --color-danger-50:   #FFEBEE;

  --color-info-700: #0D47A1;
  --color-info-500: #1976D2;
  --color-info-100: #BBDEFB;
  --color-info-50:  #E3F2FD;

  /* ===== Text ===== */
  --text-primary:     #0F1729;
  --text-secondary:   #2D3748;
  --text-tertiary:    #4A5568;
  --text-muted:       #718096;
  --text-disabled:    #A0AEC0;
  --text-placeholder: #CBD5E0;
  --text-on-brand:    #FFFFFF;
  --text-link:        #2D5A9E;
  --text-link-hover:  #13315C;

  /* ===== Background ===== */
  --bg-canvas:        #F7F9FC;
  --bg-surface:       #FFFFFF;
  --bg-surface-alt:   #F1F5F9;
  --bg-surface-hover: #F8FAFC;
  --bg-selected:      #EEF3FA;
  --bg-overlay:       rgba(15, 23, 41, 0.5);

  /* ===== Border ===== */
  --border-subtle:  #EDF2F7;
  --border-default: #E2E8F0;
  --border-strong:  #CBD5E0;
  --border-focus:   #00B8D4;

  /* ===== Gray Scale ===== */
  --gray-50:  #F7FAFC;
  --gray-100: #EDF2F7;
  --gray-200: #E2E8F0;
  --gray-300: #CBD5E0;
  --gray-400: #A0AEC0;
  --gray-500: #718096;
  --gray-600: #4A5568;
  --gray-700: #2D3748;
  --gray-800: #1A202C;
  --gray-900: #0F1729;

  /* ===== Typography ===== */
  --font-sans: 'Pretendard', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-numeric: 'Inter', 'Pretendard', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;

  --text-hero:         48px;
  --text-display:      36px;
  --text-h1:           30px;
  --text-h2:           24px;
  --text-h3:           18px;
  --text-h4:           16px;
  --text-body-lg:      16px;
  --text-body:         14px;
  --text-body-bold:    14px;
  --text-caption:      13px;
  --text-caption-bold: 13px;
  --text-eyebrow:      12px;
  --text-micro:        11px;

  --leading-hero:      56px;
  --leading-display:   48px;
  --leading-h1:        40px;
  --leading-h2:        32px;
  --leading-h3:        26px;
  --leading-h4:        24px;
  --leading-body-lg:   24px;
  --leading-body:      22px;
  --leading-caption:   18px;
  --leading-eyebrow:   16px;
  --leading-micro:     14px;

  /* ===== Spacing ===== */
  --space-0:  0;
  --space-1:  2px;
  --space-2:  4px;
  --space-3:  8px;
  --space-4:  12px;
  --space-5:  16px;
  --space-6:  20px;
  --space-7:  24px;
  --space-8:  32px;
  --space-9:  40px;
  --space-10: 48px;
  --space-11: 64px;
  --space-12: 80px;

  /* ===== Radius ===== */
  --radius-none:   0;
  --radius-xs:     4px;
  --radius-sm:     6px;
  --radius-md:     8px;
  --radius-lg:     12px;
  --radius-xl:     16px;
  --radius-pill:   999px;
  --radius-circle: 50%;

  /* ===== Shadow ===== */
  --shadow-xs:           0 1px 2px rgba(15, 23, 41, 0.06);
  --shadow-sm:           0 2px 4px rgba(15, 23, 41, 0.06), 0 1px 2px rgba(15, 23, 41, 0.04);
  --shadow-md:           0 8px 16px rgba(15, 23, 41, 0.08), 0 4px 8px rgba(15, 23, 41, 0.04);
  --shadow-lg:           0 16px 24px rgba(15, 23, 41, 0.10), 0 8px 12px rgba(15, 23, 41, 0.06);
  --shadow-xl:           0 24px 40px rgba(15, 23, 41, 0.12), 0 12px 20px rgba(15, 23, 41, 0.08);
  --shadow-focus:        0 0 0 3px rgba(0, 184, 212, 0.3);
  --shadow-cta:          0 4px 12px rgba(10, 37, 64, 0.25);
  --shadow-card-hover:   0 12px 24px rgba(15, 23, 41, 0.10), 0 4px 8px rgba(0, 184, 212, 0.06);

  /* ===== Transition ===== */
  --transition-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:   200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ===== Layout ===== */
  --layout-gnb-height:     64px;
  --layout-sidebar-width:  240px;
  --layout-content-max:    1320px;

  /* ===== Icon ===== */
  --icon-xs:  12px;
  --icon-sm:  16px;
  --icon-md:  20px;
  --icon-lg:  24px;
  --icon-xl:  32px;
  --icon-2xl: 64px;

  /* ===== Z-index ===== */
  --z-base:       1;
  --z-sticky:     10;
  --z-dropdown:   100;
  --z-overlay:    1000;
  --z-modal:      1100;
  --z-popover:    1200;
  --z-toast:      1300;
  --z-tooltip:    1400;
}

[data-theme="admin"] {
  /* ===== Admin Base (Dark Slate) ===== */
  --admin-bg-canvas:    #0F172A;
  --admin-bg-surface:   #1E293B;
  --admin-bg-elevated:  #334155;
  --admin-bg-input:     #1E293B;
  --admin-bg-hover:     #334155;
  --admin-bg-selected:  rgba(245, 158, 11, 0.1);
  --admin-bg-overlay:   rgba(0, 0, 0, 0.7);

  /* ===== Admin Borders ===== */
  --admin-border-subtle:  rgba(255, 255, 255, 0.06);
  --admin-border-default: rgba(255, 255, 255, 0.10);
  --admin-border-strong:  rgba(255, 255, 255, 0.18);

  /* ===== Admin Text ===== */
  --admin-text-primary:   #F8FAFC;
  --admin-text-secondary: #CBD5E1;
  --admin-text-tertiary:  #94A3B8;
  --admin-text-muted:     #64748B;
  --admin-text-disabled:  #475569;

  /* ===== Admin Accent (Amber) ===== */
  --admin-accent-600: #B45309;
  --admin-accent-500: #F59E0B;
  --admin-accent-400: #FBBF24;
  --admin-accent-100: rgba(245, 158, 11, 0.18);
  --admin-accent-50:  rgba(245, 158, 11, 0.08);

  /* ===== Admin Semantic ===== */
  --admin-success-500: #22C55E;
  --admin-success-bg:  rgba(34, 197, 94, 0.12);
  --admin-warning-500: #F59E0B;
  --admin-warning-bg:  rgba(245, 158, 11, 0.12);
  --admin-danger-500:  #EF4444;
  --admin-danger-bg:   rgba(239, 68, 68, 0.12);
  --admin-info-500:    #3B82F6;
  --admin-info-bg:     rgba(59, 130, 246, 0.12);

  /* ===== Admin Gradient ===== */
  --admin-gradient-cta: linear-gradient(135deg, #F59E0B 0%, #B45309 100%);
  --admin-gradient-accent-ribbon: linear-gradient(90deg, #F59E0B, #FBBF24);
  --admin-gradient-bg: linear-gradient(180deg, #0F172A 0%, #1E293B 100%);

  /* ===== Admin Shadow ===== */
  --admin-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --admin-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
  --admin-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
  --admin-shadow-focus: 0 0 0 3px rgba(245, 158, 11, 0.35);
}
