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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--font-main);
    background:
        linear-gradient(135deg, rgba(238, 244, 250, 0.96), rgba(247, 251, 255, 0.94)),
        url("/RECURSOS/panel_textura_sutil.png"),
        radial-gradient(circle at top left, rgba(53, 130, 197, 0.18), transparent 28%),
        radial-gradient(circle at right, rgba(213, 123, 26, 0.12), transparent 24%),
        var(--bg-app);
    background-size: auto, 760px auto, auto, auto, auto;
    background-attachment: fixed, fixed, fixed, fixed, fixed;
    color: var(--ink-900);
}

button,
input,
select,
textarea {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

button {
    cursor: pointer;
}

:focus-visible {
    outline: 3px solid rgba(213, 123, 26, 0.45);
    outline-offset: 2px;
}

.boot-screen {
    min-height: 100vh;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 32px;
    color: var(--brand-900);
}
