/* Central design tokens. Shell and page styles read these variables. */
:root {
    /* Brand: solid navy surfaces with a blue accent. Change these to re-theme the app. */
    --cvhr-ink: #0F172A;
    --cvhr-ink-text: #94A3B8;
    --cvhr-primary: #2563EB;
    --cvhr-primary-hover: #1D4ED8;
    --cvhr-primary-soft: #EFF6FF;
    --cvhr-accent: #60A5FA;

    --cvhr-background: #F5F7FA;
    --cvhr-surface: #FFFFFF;
    --cvhr-surface-muted: #F8FAFC;
    --cvhr-border: #E5E7EB;
    --cvhr-text: #0F172A;
    --cvhr-text-muted: #64748B;
    --cvhr-text-subtle: #94A3B8;
    --cvhr-success: #16A34A;
    --cvhr-error: #DC2626;

    --cvhr-radius: .875rem;
    --cvhr-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .04);

    /* Accent scale for the DevExpress Fluent theme, built around --cvhr-primary (step 90). */
    --dxbl-accent-color-10: #F5F9FF;
    --dxbl-accent-color-20: #EFF6FF;
    --dxbl-accent-color-30: #DBEAFE;
    --dxbl-accent-color-40: #BFDBFE;
    --dxbl-accent-color-50: #93C5FD;
    --dxbl-accent-color-60: #7CB0FB;
    --dxbl-accent-color-70: #60A5FA;
    --dxbl-accent-color-80: #3B82F6;
    --dxbl-accent-color-90: #2563EB;
    --dxbl-accent-color-100: #1D4ED8;
    --dxbl-accent-color-110: #1E40AF;
    --dxbl-accent-color-120: #1E3A8A;
    --dxbl-accent-color-130: #1E3478;
    --dxbl-accent-color-140: #172554;
    --dxbl-accent-color-150: #12204A;
    --dxbl-accent-color-160: #0D1738;
    --dxbl-accent-color-170: #080F26;

    --cvhr-rail-width: 4.5rem;
    --cvhr-menu-width: 15rem;
    --cvhr-topbar-height: 3.75rem;
}

html {
    background: var(--cvhr-background);
}

body {
    margin: 0;
    background: var(--cvhr-background);
    color: var(--cvhr-text);
    /* Same font stack as the DevExpress theme, so grids, editors and our own text match. */
    font-family: var(--dxds-font-family-sans-serif, "Segoe UI", system-ui, sans-serif);
    font-size: .875rem; /* 14px; the root stays 16px so rem-based spacing keeps its meaning */
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    letter-spacing: -.01em;
}

:focus-visible {
    outline: 2px solid var(--cvhr-primary);
    outline-offset: 2px;
}

a {
    color: var(--cvhr-primary);
}

h1:focus {
    outline: none;
}

/* Read-only details: a grid of InfoItems. */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 1.1rem 1.5rem;
    margin: 0;
}

.validation-message {
    color: var(--cvhr-error);
}

#blazor-error-ui {
    color-scheme: light only;
    background: #FFFBEB;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
