/*
 * StudMart admin visual tokens.
 * Scope: admin panel only. Do not reuse these tokens for the public StudMart site.
 */

:root {
    color-scheme: light;

    --sm-admin-seed: #5746d9;

    --sm-admin-primary: var(--sm-admin-seed);
    --sm-admin-on-primary: #ffffff;
    --sm-admin-primary-container: color-mix(in srgb, var(--sm-admin-seed) 16%, #ffffff);
    --sm-admin-on-primary-container: #1b114a;

    --sm-admin-secondary: #625b71;
    --sm-admin-on-secondary: #ffffff;
    --sm-admin-secondary-container: #e8def8;
    --sm-admin-on-secondary-container: #1d192b;

    --sm-admin-surface: #fffbff;
    --sm-admin-surface-dim: #ded8e1;
    --sm-admin-surface-bright: #fffbff;
    --sm-admin-surface-container-lowest: #ffffff;
    --sm-admin-surface-container-low: #f7f2fa;
    --sm-admin-surface-container: #f3edf7;
    --sm-admin-surface-container-high: #ece6f0;
    --sm-admin-surface-container-highest: #e6e0e9;
    --sm-admin-surface-variant: #e7e0ec;
    --sm-admin-on-surface: #1d1b20;
    --sm-admin-on-surface-variant: #49454f;
    --sm-admin-outline: #79747e;
    --sm-admin-outline-variant: #cac4d0;
    --sm-admin-inverse-surface: #322f35;
    --sm-admin-inverse-on-surface: #f5eff7;

    --sm-admin-neutral-0: #000000;
    --sm-admin-neutral-10: #1d1b20;
    --sm-admin-neutral-20: #322f35;
    --sm-admin-neutral-30: #48464c;
    --sm-admin-neutral-40: #605d64;
    --sm-admin-neutral-50: #79767d;
    --sm-admin-neutral-60: #938f96;
    --sm-admin-neutral-70: #aea9b1;
    --sm-admin-neutral-80: #cac4d0;
    --sm-admin-neutral-90: #e6e0e9;
    --sm-admin-neutral-95: #f5eff7;
    --sm-admin-neutral-99: #fffbff;
    --sm-admin-neutral-100: #ffffff;

    --sm-admin-success: #2e7d32;
    --sm-admin-on-success: #ffffff;
    --sm-admin-success-container: #d7ecd6;
    --sm-admin-on-success-container: #0b4210;
    --sm-admin-warning: #b26a00;
    --sm-admin-on-warning: #ffffff;
    --sm-admin-warning-container: #ffddb0;
    --sm-admin-on-warning-container: #3a2000;
    --sm-admin-error: #b3261e;
    --sm-admin-on-error: #ffffff;
    --sm-admin-error-container: #f9dedc;
    --sm-admin-on-error-container: #410e0b;

    --sm-admin-font-family: Inter, Roboto, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --sm-admin-font-size-display: 36px;
    --sm-admin-font-size-headline: 28px;
    --sm-admin-font-size-title: 18px;
    --sm-admin-font-size-body: 14px;
    --sm-admin-font-size-body-small: 13px;
    --sm-admin-font-size-label: 12px;
    --sm-admin-line-height-tight: 1.2;
    --sm-admin-line-height-body: 1.45;

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

    --sm-admin-radius-xs: 4px;
    --sm-admin-radius-sm: 8px;
    --sm-admin-radius-md: 12px;
    --sm-admin-radius-lg: 16px;
    --sm-admin-radius-pill: 999px;

    --sm-admin-elevation-0: none;
    --sm-admin-elevation-1: 0 1px 2px rgba(29, 27, 32, 0.08), 0 1px 3px rgba(29, 27, 32, 0.06);
    --sm-admin-elevation-2: 0 2px 6px rgba(29, 27, 32, 0.10), 0 1px 2px rgba(29, 27, 32, 0.06);
    --sm-admin-elevation-3: 0 6px 12px rgba(29, 27, 32, 0.12), 0 2px 4px rgba(29, 27, 32, 0.08);

    --sm-admin-focus-ring: 0 0 0 3px color-mix(in srgb, var(--sm-admin-primary) 28%, transparent);
    --sm-admin-transition-fast: 140ms ease;
    --sm-admin-transition: 180ms ease;
    --sm-admin-sidebar-width: 280px;
    --sm-admin-topbar-height: 56px;
}

[data-theme="dark"] {
    color-scheme: dark;

    --sm-admin-primary: #c9beff;
    --sm-admin-on-primary: #2a1678;
    --sm-admin-primary-container: #3f2bb6;
    --sm-admin-on-primary-container: #e8ddff;

    --sm-admin-secondary: #cbc2db;
    --sm-admin-on-secondary: #332d41;
    --sm-admin-secondary-container: #4a4458;
    --sm-admin-on-secondary-container: #e8def8;

    --sm-admin-surface: #141218;
    --sm-admin-surface-dim: #141218;
    --sm-admin-surface-bright: #3b383e;
    --sm-admin-surface-container-lowest: #0f0d13;
    --sm-admin-surface-container-low: #1d1b20;
    --sm-admin-surface-container: #211f26;
    --sm-admin-surface-container-high: #2b2930;
    --sm-admin-surface-container-highest: #36343b;
    --sm-admin-surface-variant: #49454f;
    --sm-admin-on-surface: #e6e0e9;
    --sm-admin-on-surface-variant: #cac4d0;
    --sm-admin-outline: #938f99;
    --sm-admin-outline-variant: #49454f;
    --sm-admin-inverse-surface: #e6e0e9;
    --sm-admin-inverse-on-surface: #322f35;

    --sm-admin-success: #a6d9a6;
    --sm-admin-on-success: #123915;
    --sm-admin-success-container: #1d5b22;
    --sm-admin-on-success-container: #c2f0c1;
    --sm-admin-warning: #ffb95c;
    --sm-admin-on-warning: #3d2500;
    --sm-admin-warning-container: #6b3f00;
    --sm-admin-on-warning-container: #ffddb0;
    --sm-admin-error: #ffb4ab;
    --sm-admin-on-error: #690005;
    --sm-admin-error-container: #93000a;
    --sm-admin-on-error-container: #ffdad6;

    --sm-admin-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.32), 0 1px 3px rgba(0, 0, 0, 0.22);
    --sm-admin-elevation-2: 0 2px 6px rgba(0, 0, 0, 0.36), 0 1px 2px rgba(0, 0, 0, 0.22);
    --sm-admin-elevation-3: 0 6px 12px rgba(0, 0, 0, 0.42), 0 2px 4px rgba(0, 0, 0, 0.24);
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --sm-admin-transition-fast: 1ms linear;
        --sm-admin-transition: 1ms linear;
    }
}
