:root {

    /* ── main colors ── */
    --color-bg:          #F7F6F3;
    --color-sidebar:     #16161A;
    --color-sidebar-alt: #1E1E24;
    --color-save: #3C6F29;
    --color-save-validate: #305522;
    --color-update: #1E90FF;
    --color-delete: #8B0000;
    --color-logout: #8B0000;

    /* ── accent ── */
    --color-accent:      #E8612A;
    --color-link:        #1E90FF;
    --color-white:       #FFFFFF;
    --color-lightgray: #A0A0AB;
    --color-darkgray: #1E1E24;

    /* ── rgba colors ── */
    --rgb-darkiest-background: rgba(0, 0, 0, 0.60);
    --rgb-darkest-background: rgba(0, 0, 0, 0.48);
    --rgb-darker-background: rgba(0, 0, 0, 0.12);
    --rgb-dark-background: rgba(0, 0, 0, 0.08);

    /* ── texts ── */
    --color-text-primary:   #16161A;
    --color-text-secondary: #6B6B78;
    --color-text-muted:     #A0A0AB;
    --color-text-inverse:   #FFFFFF;
    --color-text-sidebar:   #C8C8D0;

    /* ── borders ── */
    --color-border:      #E4E4E7;

    /* ── typography ── */
    --font-display:  'Syne', sans-serif;
    --font-body:     'DM Sans', sans-serif;

    --text-xs:   0.70rem;
    --text-sm:   0.825rem;
    --text-base: 0.9375rem;
    --text-lg:   1.0625rem;

    --weight-normal:   400;
    --weight-medium:   500;
    --weight-semibold: 600;
    --weight-bold:     700;
    --weight-black:    800;

    --leading-normal: 1.55;

    /* ── spacing ── */
    --space-0:   0;
    --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;

    /* ── layout ── */
    --sidebar-width:        240px;
    --sidebar-collapsed:    64px;
    --header-height:        60px;
    --content-max-width:    9999999px; /* effectively no limit */
    --main-frame-max-width: 1280px;
    --content-padding:      var(--space-8);

    /* ── radius ── */
    --radius-sm:   4px;
    --radius-md:   8px;
    --radius-full: 9999px;

    /* ── shadows ── */
    --shadow-accent: 0 4px 20px rgba(232, 97, 42, 0.28);

    /* ── transitions ── */
    --transition-fast:   150ms ease;
    --transition-base:   250ms ease;
    --transition-slow:   350ms ease;

    /* ── z-index ── */
    --z-sidebar:            100;
    --z-header:             200;
    --z-toast-container:    9999;
}