/**
 * JPRL Design Tokens v0.11.1
 * Canonical semantic foundation for Kantoku, Superviso, and JPRL Platform.
 */

:root {
    color-scheme: light;

    /* Typography */
    --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --type-page-title: 1.375rem;
    --type-section-title: 0.875rem;
    --type-body: 0.875rem;
    --type-label: 0.8125rem;
    --type-metadata: 0.75rem;
    --leading-tight: 1.25;
    --leading-body: 1.5;

    /* Surfaces and text */
    --surface-canvas: #f6f6f4;
    --surface-panel: #ffffff;
    --surface-subtle: #fafaf9;
    --surface-muted: #f5f5f4;
    --surface-inverse: #292524;
    --border-subtle: #dedbd7;
    --border-strong: #c7c3be;
    --text-strong: #1c1917;
    --text-body: #44403c;
    --text-muted: #78716c;
    --text-subtle: #a8a29e;
    --text-inverse: #ffffff;

    /* Allowed accents: decorative and organizational, never status by themselves. */
    --accent-blue-surface: #eef2f8;
    --accent-blue-text: #486289;
    --accent-violet-surface: #f3eef8;
    --accent-violet-text: #684a7d;
    --accent-teal-surface: #eaf4f2;
    --accent-teal-text: #3f6b63;

    /* Semantic statuses */
    --status-success-surface: #edf5ef;
    --status-success-text: #3a6a4a;
    --status-danger-surface: #faeeee;
    --status-danger-text: #7d3a3a;
    --status-warning-surface: #f8f1e7;
    --status-warning-text: #7a5a2e;
    --status-info-surface: var(--accent-blue-surface);
    --status-info-text: var(--accent-blue-text);
    --status-special-surface: var(--accent-violet-surface);
    --status-special-text: var(--accent-violet-text);
    --status-neutral-surface: #f6f6f4;
    --status-neutral-text: #4a4a46;

    /* Severity adds one distinct step between warning and danger. */
    --severity-high-surface: #faefe7;
    --severity-high-text: #8a4c2e;

    /* Shape */
    --radius-control: 0.625rem;
    --radius-navigation: 0.75rem;
    --radius-panel: 1rem;
    --radius-modal: 1.125rem;
    --radius-pill: 9999px;

    /* Badge anatomy */
    --badge-radius: 0.375rem;
    --badge-height: 1.5rem;
    --badge-font-size: 0.75rem;
    --badge-font-weight: 650;

    /* Spacing */
    --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;

    /* Layout */
    --content-max-width: 90rem;
    --form-content-max-width: 56rem;
    --auth-form-max-width: 30rem;
    --control-height: 2.5rem;
    --control-height-compact: 2.25rem;
    --navigation-height: 4rem;
    --navigation-rail-width: 4rem;
    --navigation-sidebar-width: 15rem;
    --navigation-item-hover-surface: var(--surface-panel);
    --navigation-item-active-surface: var(--surface-muted);
    --navigation-caret-color: var(--text-subtle);
    --table-row-height: 3rem;
    --table-header-height: 2.5rem;
    --detail-label-width: 8.75rem;
    --menu-min-width: 13.75rem;
    --dialog-max-width: 28rem;
    --empty-state-max-width: 32rem;
    --avatar-size: 2rem;
    --calendar-width: 18rem;
    --calendar-cell-size: 2rem;

    /* Elevation and motion */
    --shadow-menu: 0 18px 48px rgb(28 25 23 / 0.14);
    --shadow-modal: 0 20px 45px rgb(15 23 42 / 0.18);
    --motion-interface: 150ms;
    --motion-dialog: 200ms;

    /* Product accents are optional and must not replace semantic statuses. */
    --brand-kantoku: #ee0000;
}

[data-theme="dark"],
.dark {
    color-scheme: dark;
    --surface-canvas: #121217;
    --surface-panel: #1f1f23;
    --surface-subtle: #24242a;
    --surface-muted: #2c2c36;
    --surface-inverse: #e0e0e0;
    --border-subtle: #3a3a45;
    --border-strong: #51515e;
    --text-strong: #e0e0e0;
    --text-body: #c7c7c7;
    --text-muted: #a3a3a3;
    --text-subtle: #777782;
    --text-inverse: #121217;
    --accent-blue-surface: #25313f;
    --accent-blue-text: #b4c8e3;
    --accent-violet-surface: #30283a;
    --accent-violet-text: #d0b7e2;
    --accent-teal-surface: #203634;
    --accent-teal-text: #a9d4ce;
    --status-success-surface: #233129;
    --status-success-text: #a8d5b5;
    --status-danger-surface: #392727;
    --status-danger-text: #edb5b5;
    --status-warning-surface: #382f22;
    --status-warning-text: #e6c697;
    --status-info-surface: var(--accent-blue-surface);
    --status-info-text: var(--accent-blue-text);
    --status-special-surface: var(--accent-violet-surface);
    --status-special-text: var(--accent-violet-text);
    --navigation-item-hover-surface: var(--surface-muted);
    --navigation-item-active-surface: var(--surface-panel);
    --status-neutral-surface: #2c2c33;
    --status-neutral-text: #c5c5c5;
    --severity-high-surface: #3d2d24;
    --severity-high-text: #e7b394;
    --shadow-menu: none;
    --shadow-modal: none;
}
