/* Minimal global resets — most of the Enki look lives in css/enki-theme.css
   which is loaded after this file. */

*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

/* Blazor's error-boundary fallback. The shell's error bar (#blazor-error-ui)
   in enki-theme.css handles unhandled exceptions; this one wraps inside a
   failed <ErrorBoundary> component. */
.blazor-error-boundary {
    background: var(--enki-alert, #ff4757);
    color: white;
    padding: 0.75rem 1rem;
    border-radius: 2px;
}
.blazor-error-boundary::after {
    content: "An error has occurred.";
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--enki-ok, #2ed573);
}
.invalid {
    outline: 1px solid var(--enki-alert, #ff4757);
}
.validation-message {
    color: var(--enki-alert, #ff4757);
}
