:root {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #14243a;
    background: #f7f9fc;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    background: #f7f9fc;
    color: #14243a;
    line-height: 1.5;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

a {
    color: #087f9c;
}

    a:hover {
        color: #05647c;
    }

button,
input,
select,
textarea {
    font: inherit;
}

img,
svg {
    display: block;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #0b2342;
    line-height: 1.15;
}

::selection {
    background: #a5f3fc;
    color: #071a31;
}

:focus-visible {
    outline: 3px solid rgba(34, 211, 238, 0.7);
    outline-offset: 3px;
}

.valid.modified:not([type="checkbox"]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #d92d20;
}

.validation-message {
    color: #b42318;
}

.blazor-error-boundary {
    background: #b42318;
    color: #ffffff;
    padding: 1rem 1.25rem;
    border-radius: 8px;
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }
