/* ─── DESIGN TOKENS (duplicated for standalone auth layout) ── */
:root {
    --blu: #6b2fa0;
    --blu-scuro: #2a1840;
    --blu-medio: #55238a;
    --blu-chiaro: #f3ebfa;
    --arancio: #e8710a;
    --testo: #2a1840;
    --testo-sec: #5b4b6e;
    --bordo: #ddd1ea;
    --sfondo: #faf7fd;
    --bianco: #ffffff;
    --verde: #008055;
    --rosso: #c82333;
    --radius: 4px;
    --font: "Titillium Web", Arial, sans-serif;
    --shadow-sm: 0 2px 8px rgba(42, 24, 64, 0.1);
    --shadow-md: 0 4px 20px rgba(42, 24, 64, 0.14);
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family: var(--font);
    color: var(--testo);
    background: var(--sfondo);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
}
a {
    color: var(--blu);
}
:focus-visible {
    outline: 3px solid var(--arancio);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ─── UTILITY BAR, skip-link, site-header, logo-* → definiti in app.css ── */
.wm-label {
    line-height: 1.05;
}
.wm-name {
    font-family: 'Audiowide', sans-serif;
    font-size: 30px;
    font-weight: 600;
    color: #2a1840;
    letter-spacing: 0;
}
.acc {
    color: #f38b1c;
}
.wm-sub {
    font-size: 9px;
    color: var(--blu-medio);
    letter-spacing: 0.06em;
    margin-top: 3px;
    text-transform: uppercase;
    font-weight: 600;
}
.header-tag {
    margin-left: auto;
    background: var(--blu-chiaro);
    color: var(--blu);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.auth-main {
    flex: 1;
}
