        body {
            margin: 0;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Red Hat Display', system-ui, sans-serif;
            position: relative;
        }
        .auth-bg {
            position: fixed;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background:
                radial-gradient(680px 520px at 8% -6%,   rgba(83,16,135,var(--blob-a)),  transparent 60%),
                radial-gradient(760px 560px at 102% 4%,  rgba(255,51,204,var(--blob-b)), transparent 58%),
                radial-gradient(640px 640px at 52% 116%, rgba(23,4,111,var(--blob-a)),   transparent 60%);
        }
        .auth-wrap {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: 400px;
            padding: 16px;
        }
        .auth-card {
            padding: 40px 36px;
        }
        .auth-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 32px;
        }
        .auth-logo-text {
            font-size: 18px;
            font-weight: 700;
            color: var(--text);
            line-height: 1.2;
        }
        .auth-logo-sub {
            font-size: 11px;
            color: var(--text-muted);
        }
        .auth-title {
            font-size: 22px;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 4px;
        }
        .auth-sub {
            font-size: 13px;
            color: var(--text-muted);
            margin-bottom: 28px;
        }
        .auth-form-group { margin-bottom: 16px; }
        .auth-form-group label {
            display: block;
            font-size: 11px;
            font-weight: 600;
            color: var(--text-muted);
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: .05em;
        }
        .auth-form-group input {
            width: 100%;
            padding: 10px 13px;
            border: 1px solid var(--glass-brd);
            border-radius: var(--radius-sm);
            background: var(--glass);
            color: var(--text);
            font-size: 14px;
            font-family: inherit;
            outline: none;
            transition: border-color .15s, box-shadow .15s;
        }
        .auth-form-group input:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(126,31,176,.12);
        }
        .btn-auth {
            width: 100%;
            margin-top: 8px;
            padding: 11px 16px;
            justify-content: center;
            font-size: 14px;
        }
        .auth-notice {
            background: var(--glass);
            border: 1px solid var(--glass-brd);
            border-radius: var(--radius-sm);
            padding: 10px 14px;
            font-size: 13px;
            margin-bottom: 18px;
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--text-muted);
            box-shadow: var(--gloss);
        }
        .auth-notice i { color: var(--primary); }
        /* Messaggio di indisponibilità backend (D4/D8): stesso markup, colore da token errore. */
        .auth-notice--error { color: var(--c-danger); border-color: var(--c-danger); }
        .auth-notice--error i { color: var(--c-danger); }
        /* Theme toggle */
        .auth-theme-toggle {
            position: fixed;
            top: 14px;
            right: 16px;
            z-index: 10;
            background: var(--glass);
            border: 1px solid var(--glass-brd);
            border-radius: var(--radius-pill);
            padding: 6px 10px;
            font-size: 14px;
            cursor: pointer;
            color: var(--text-muted);
            box-shadow: var(--shadow);
            transition: color .15s;
        }
        .auth-theme-toggle:hover { color: var(--text); }
