/* v3_tokens.css - CryptoForenses Enterprise Light */
:root {
    color-scheme: light;

    --bg-body: #f4f7fb;
    --bg-dark: #e9eef6;
    --bg-shell: linear-gradient(180deg, #f7f9fc 0%, #f3f7fb 46%, #eef3f9 100%);

    --surface-card: #ffffff;
    --surface-light: #f8fbff;
    --surface-sidebar: rgba(255, 255, 255, 0.97);
    --surface-muted: #edf3f9;
    --surface-strong: #e3ebf5;

    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-soft: #eaf2ff;
    --primary-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);

    --second-color: #0f766e;
    --second-soft: #e7f8f4;

    --text-primary: #162033;
    --text-secondary: #52637a;
    --text-muted: #7f8ca0;
    --text-soft: #44536a;
    --text-inverse: #ffffff;

    --border-subtle: #dbe4ef;
    --border-hover: #c8d6e6;
    --border-strong: #aac0d8;
    --focus-ring: rgba(37, 99, 235, 0.18);

    --info-color: #2563eb;
    --info-bg: #ebf3ff;
    --info-border: #c8dcff;

    --success-color: #127c49;
    --success-bg: #ebf8ef;
    --success-border: #bfe6cd;

    --alert-warning-text: #9a5800;
    --alert-warning-bg: #fff6e8;
    --alert-warning-border: #f1d3a8;

    --alert-error-text: #b42318;
    --alert-error-bg: #fff1f0;
    --alert-error-border: #f3c2bd;
    --alert-danger-border: #f3c2bd;

    --font-family: "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --font-family-mono: "SFMono-Regular", "Menlo", "Consolas", monospace;
    --font-weight-medium: 500;

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

    --radius-btn: 14px;
    --radius-card: 24px;
    --radius-base: 14px;
    --radius-pill: 999px;

    --shadow-sm: 0 10px 30px rgba(15, 31, 61, 0.05);
    --shadow-md: 0 18px 48px rgba(15, 31, 61, 0.08);
    --shadow-lg: 0 22px 60px rgba(15, 31, 61, 0.1);
    --shadow-glow: 0 0 0 4px rgba(37, 99, 235, 0.08);

    --shell-max-width: 1380px;
    --shell-sidebar-width: 280px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--bg-shell);
    color: var(--text-primary);
    font-family: var(--font-family);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: clip;
}

a {
    color: var(--primary-color);
}

img {
    max-width: 100%;
}

code,
pre {
    font-family: var(--font-family-mono);
    overflow-wrap: anywhere;
    word-break: break-word;
}
