/*
 * MAWE visual foundation.
 * Shared tokens keep the Hub, public site and every module in the same visual family.
 * Modules may compose their own layouts, but should consume these values instead of inventing palettes.
 */
:root {
    --mawe-bg-base: #020812;
    --mawe-bg-deep: #030d1b;
    --mawe-surface: #081321;
    --mawe-surface-raised: #0b1b2e;
    --mawe-surface-soft: #051221;
    --mawe-surface-input: rgba(3, 15, 29, .78);
    --mawe-border: rgba(90, 180, 255, .16);
    --mawe-border-strong: rgba(67, 174, 255, .32);
    --mawe-text: #f4f8ff;
    --mawe-text-muted: #9db0c7;
    --mawe-text-subtle: #71859d;
    --mawe-blue: #10a8ff;
    --mawe-blue-strong: #0579ff;
    --mawe-orange: #ff8a00;
    --mawe-gold: #ffc14d;
    --mawe-green: #22d480;
    --mawe-danger: #ff6b5e;
    --mawe-shadow: 0 16px 42px rgba(0, 0, 0, .18);
    --mawe-focus-ring: 0 0 0 .2rem rgba(16, 168, 255, .18);
    --mawe-radius-sm: .45rem;
    --mawe-radius-md: .7rem;
    --mawe-font: Inter, "Segoe UI", Arial, sans-serif;
}

html,
body {
    min-height: 100%;
    background: var(--mawe-bg-base);
    color: var(--mawe-text);
    font-family: var(--mawe-font);
}

.route-access-denied {
    display: grid;
    place-items: start;
    align-content: center;
    min-height: 100vh;
    padding: 2rem;
    background: radial-gradient(circle at 20% 10%, rgba(16, 168, 255, .12), transparent 30%), var(--mawe-bg-base);
    color: var(--mawe-text);
}

.route-access-denied-eyebrow {
    margin: 0 0 .5rem;
    color: var(--mawe-blue);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.route-access-denied h1 {
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.5rem);
}

.route-access-denied > p:not(.route-access-denied-eyebrow) {
    max-width: 36rem;
    color: var(--mawe-text-muted);
}

.route-access-denied-action {
    display: inline-flex;
    margin-top: .75rem;
    padding: .75rem 1rem;
    border-radius: var(--mawe-radius-sm);
    background: var(--mawe-blue-strong);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}
