:root {
    --color-bg:             #f5f5f7;
    --color-surface:        #ffffff;
    --color-surface-hover:  #fafafa;
    --color-text:           #1d1d1f;
    --color-text-secondary: #6e6e73;
    --color-text-tertiary:  #86868b;
    --color-border:         #d2d2d7;
    --color-border-light:   #e8e8ed;
    --color-primary:        #0071e3;
    --color-primary-hover:  #0077ed;
    --color-primary-light:  rgba(0, 113, 227, 0.08);
    --color-success:        #34c759;
    --color-success-light:  rgba(52, 199, 89, 0.1);
    --color-warning:        #ff9500;
    --color-warning-light:  rgba(255, 149, 0, 0.1);
    --color-danger:         #ff3b30;
    --color-danger-light:   rgba(255, 59, 48, 0.1);
    --color-info:           #5ac8fa;
    --color-info-light:     rgba(90, 200, 250, 0.1);

    --font-family:          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --font-size-xs:         0.75rem;
    --font-size-sm:         0.875rem;
    --font-size-base:       1rem;
    --font-size-lg:         1.125rem;
    --font-size-xl:         1.5rem;
    --font-size-2xl:        2rem;
    --font-size-3xl:        2.5rem;
    --font-weight-regular:  400;
    --font-weight-medium:   500;
    --font-weight-semibold: 600;
    --font-weight-bold:     700;

    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.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:    8px;
    --radius-md:    12px;
    --radius-lg:    16px;
    --radius-xl:    20px;
    --radius-full:  9999px;

    --shadow-sm:    0 1px 2px rgba(0,0,0,0.04);
    --shadow-md:    0 2px 8px rgba(0,0,0,0.08);
    --shadow-lg:    0 4px 16px rgba(0,0,0,0.12);
    --shadow-card:  0 0.5px 0 rgba(0,0,0,0.05), 0 2px 8px rgba(0,0,0,0.06);

    --transition-fast:  150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base:  250ms cubic-bezier(0.4, 0, 0.2, 1);

    --sidebar-width:    260px;
    --navbar-height:    60px;
    --content-max:      1200px;
}
