/* Contabilis design tokens — single source of visual truth. */
:root {
    /* Brand */
    --ctb-color-primary: #2f6fed;
    --ctb-color-primary-hover: #285fce;
    --ctb-color-primary-hover-strong: #255dcc;
    --ctb-color-primary-ink: #244fa8;
    --ctb-color-primary-soft: #eef3ff;
    --ctb-color-primary-soft-border: #d8e6ff;

    /* Shell */
    --ctb-color-navy: #17233c;
    --ctb-color-navy-soft: #223250;
    --ctb-color-on-dark: #ffffff;
    --ctb-color-on-dark-muted: rgba(255, 255, 255, 0.64);
    --ctb-color-on-dark-soft: rgba(255, 255, 255, 0.28);
    --ctb-color-on-dark-subtle: rgba(255, 255, 255, 0.10);
    --ctb-color-on-dark-faint: rgba(255, 255, 255, 0.06);

    /* Neutral surfaces and text */
    --ctb-color-bg: #f4f6f9;
    --ctb-color-surface: #ffffff;
    --ctb-color-surface-soft: #f7f9fb;
    --ctb-color-surface-hover: #f5f7fa;
    --ctb-color-surface-subtle: #fbfcfe;
    --ctb-color-surface-muted: #f2f4f7;
    --ctb-color-text: #202938;
    --ctb-color-text-strong: #1f2937;
    --ctb-color-text-secondary: #445062;
    --ctb-color-text-tertiary: #536071;
    --ctb-color-muted: #6f7886;
    --ctb-color-muted-soft: #8a94a3;
    --ctb-color-disabled: #a0a7b2;
    --ctb-color-border: #e1e6ee;
    --ctb-color-border-strong: #d2d9e4;

    /* Status */
    --ctb-color-success: #177245;
    --ctb-color-success-soft: #eaf7f0;
    --ctb-color-success-border: #cfe9db;
    --ctb-color-warning: #9a6700;
    --ctb-color-warning-soft: #fff7df;
    --ctb-color-warning-border: #f0dfad;
    --ctb-color-danger: #b42318;
    --ctb-color-danger-hover: #922018;
    --ctb-color-danger-soft: #fff0ee;
    --ctb-color-danger-soft-hover: #fff2f0;
    --ctb-color-danger-border: #f2d4d0;
    --ctb-color-danger-accent: #d85a50;
    --ctb-color-info: #2457a6;
    --ctb-color-info-soft: #edf4ff;

    /* Focus / overlays / shadows */
    --ctb-focus-ring: rgba(47, 111, 237, 0.20);
    --ctb-focus-ring-soft: rgba(47, 111, 237, 0.18);
    --ctb-overlay-backdrop: rgba(10, 22, 40, 0.42);
    --ctb-shadow-menu: 0 12px 30px rgba(18, 32, 55, 0.11);
    --ctb-shadow-menu-strong: 0 12px 32px rgba(23, 35, 60, 0.14);
    --ctb-shadow-modal: 0 20px 50px rgba(18, 32, 55, 0.18);
    --ctb-shadow-login: 0 18px 44px rgba(18, 32, 55, 0.09);
    --ctb-shadow-hairline: 0 1px 0 rgba(20, 33, 54, 0.02);
    --ctb-shadow-nav: 0 12px 32px rgba(23, 35, 60, 0.12);

    /* Spacing */
    --ctb-space-1: 4px;
    --ctb-space-2: 8px;
    --ctb-space-3: 12px;
    --ctb-space-4: 16px;
    --ctb-space-5: 20px;
    --ctb-space-6: 24px;
    --ctb-space-7: 28px;
    --ctb-space-8: 32px;

    /* Radius */
    --ctb-radius-sm: 6px;
    --ctb-radius-md: 9px;
    --ctb-radius-lg: 12px;
    --ctb-radius-pill: 999px;

    /* Controls */
    --ctb-control-height: 36px;

    /* App layout */
    --ctb-layout-header-height: 68px;
    --ctb-layout-nav-height: 48px;
    --ctb-layout-container-max: 1320px;
    --ctb-layout-gutter: 32px;
    --ctb-layout-header-height-mobile: 60px;
    --ctb-layout-gutter-tablet: 20px;
    --ctb-layout-gutter-mobile: 14px;
}
