    .auth-layout { min-height: calc(100vh - 8rem); }
    .auth-image-carousel {
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
        border-radius: 28px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        background:
            radial-gradient(420px circle at 20% 20%, rgba(192, 132, 252, 0.22) 0%, transparent 42%),
            linear-gradient(135deg, #1a0422 0%, #3c0a4f 56%, #5b1378 100%);
    }
    .auth-image-carousel .carousel-inner,
    .auth-image-carousel .carousel-item { height: 100%; }
    .auth-image-carousel img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .auth-image-carousel::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background:
            linear-gradient(180deg, rgba(15, 5, 22, 0.14) 0%, rgba(25, 6, 34, 0.82) 100%),
            linear-gradient(110deg, rgba(192, 132, 252, 0.18) 0%, rgba(91, 19, 120, 0.1) 45%, rgba(12, 4, 18, 0) 75%);
    }
    .auth-carousel-copy {
        position: absolute;
        inset: auto 0 0 0;
        z-index: 2;
        padding: 1.5rem;
        color: #fff;
    }
    .auth-kicker, .auth-form-eyebrow, .dashboard-showcase-kicker {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        padding: .38rem .8rem;
        border-radius: 999px;
        font-size: .76rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
    .auth-kicker {
        margin-bottom: 1rem;
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.12);
    }
    .auth-carousel-title, .auth-form-title, .dashboard-showcase-title, .dashboard-card-title {
        font-family: 'Manrope', sans-serif;
        font-weight: 800;
    }
    .auth-carousel-title {
        max-width: 11ch;
        margin-bottom: .65rem;
        font-size: clamp(1.7rem, 2vw, 2.55rem);
        line-height: 1.05;
    }
    .auth-carousel-body { max-width: 30rem; margin-bottom: 1rem; color: rgba(232, 241, 250, 0.86); font-size: .96rem; }
    .auth-disclaimer {
        max-width: 36rem;
        margin-bottom: 1rem;
        padding: .85rem .95rem;
        border-radius: 18px;
        background: rgba(15, 23, 42, 0.3);
        border: 1px solid rgba(255, 255, 255, 0.16);
        backdrop-filter: blur(10px);
        box-shadow: 0 16px 28px rgba(15, 23, 42, 0.14);
    }
    .auth-disclaimer-title {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        margin-bottom: .4rem;
        color: #f8fafc;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .auth-disclaimer-body {
        margin: 0;
        color: rgba(241, 245, 249, 0.88);
        font-size: .84rem;
        line-height: 1.55;
    }
    .auth-insights, .dashboard-grid { display: grid; gap: 1rem; }
    .auth-insights { max-width: 34rem; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
    .auth-stat {
        padding: .7rem .85rem;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.12);
        backdrop-filter: blur(10px);
    }
    .auth-stat strong { display: block; margin-bottom: .08rem; font-size: 1rem; }
    .auth-stat span { font-size: .8rem; }
    .auth-stat span, .dashboard-showcase-copy, .dashboard-card-copy, .dashboard-feature-list span { color: rgba(232, 241, 250, 0.8); }
    .auth-form-card {
        min-height: 100%;
        border-radius: 28px;
        background: #fff;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
    }
    .auth-form-card .card-body { padding: 1.5rem; }
    .auth-form-intro { margin-bottom: 1rem; }
    .auth-form-eyebrow, .dashboard-showcase-kicker { color: #6e1d8d; background: rgba(168, 85, 247, 0.08); }
    .auth-form-eyebrow { margin-bottom: .9rem; }
    .auth-form-title { margin-bottom: .45rem; font-size: clamp(1.6rem, 1.9vw, 2rem); }
    .auth-form-subtitle, .auth-register, .dashboard-showcase-copy, .dashboard-card-copy { color: #64748b; }
    .auth-field { margin-bottom: .85rem; }
    .auth-password-wrap {
        position: relative;
    }
    .auth-password-wrap .form-control {
        padding-right: 3.2rem;
    }
    .auth-password-toggle {
        position: absolute;
        inset: 50% .8rem auto auto;
        transform: translateY(-50%);
        width: 2rem;
        height: 2rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 999px;
        color: #6b7280;
        background: transparent;
        transition: color .18s ease, background-color .18s ease;
    }
    .auth-password-toggle:hover,
    .auth-password-toggle:focus {
        color: #4b0d63;
        background: rgba(107, 114, 128, 0.08);
        outline: none;
    }
    .auth-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 1rem;
        margin-bottom: 1rem;
    }
    .auth-helper-link, .auth-register a {
        color: #4b0d63;
        font-weight: 700;
        text-decoration: none;
    }
    .auth-submit { width: 100%; min-height: 3.15rem; font-size: .98rem; }
    .auth-divider {
        display: flex;
        align-items: center;
        gap: .85rem;
        margin-top: 1rem;
        color: #64748b;
        font-size: .9rem;
    }
    .auth-divider::before, .auth-divider::after {
        content: '';
        flex: 1;
        height: 1px;
        background: linear-gradient(90deg, rgba(217, 228, 240, 0) 0%, rgba(217, 228, 240, 1) 100%);
    }
    .auth-divider::after { background: linear-gradient(90deg, rgba(217, 228, 240, 1) 0%, rgba(217, 228, 240, 0) 100%); }
    .auth-register { margin-top: .75rem; text-align: center; }
    .dashboard-showcase {
        margin-top: 1.2rem;
        padding: 1.3rem;
        border-radius: 30px;
        background:
            radial-gradient(220px circle at 0% 0%, rgba(168, 85, 247, 0.12) 0%, transparent 55%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(250, 247, 255, 0.94) 100%);
        border: 1px solid rgba(221, 231, 243, 0.92);
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.07);
    }
    .dashboard-showcase-header {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
        padding-bottom: .95rem;
        border-bottom: 1px solid rgba(221, 231, 243, 0.92);
    }
    .dashboard-showcase-title {
        margin-bottom: .35rem;
        font-size: clamp(1.45rem, 1.7vw, 2rem);
        line-height: 1.08;
    }
    .dashboard-showcase-copy {
        max-width: 44rem;
        color: #5f6f86;
    }
    .dashboard-showcase-note {
        min-width: 14rem;
        max-width: 19rem;
        padding: .9rem 1rem;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.84);
        border: 1px solid rgba(221, 231, 243, 0.92);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }
    .dashboard-showcase-note-label {
        display: block;
        margin-bottom: .2rem;
        color: #6e1d8d;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
    .dashboard-showcase-note strong {
        display: block;
        margin-bottom: .2rem;
        font-family: 'Manrope', sans-serif;
        font-size: .98rem;
    }
    .dashboard-showcase-note span {
        color: #64748b;
        font-size: .88rem;
    }
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .dashboard-card {
        --card-accent: #6d28d9;
        --card-accent-soft: rgba(109, 40, 217, 0.1);
        --card-accent-strong: #5b21b6;
        position: relative;
        padding: 1.15rem;
        border-radius: 24px;
        overflow: hidden;
        border: 1px solid rgba(217, 228, 240, 0.95);
        background:
            radial-gradient(160px circle at 100% 0%, var(--card-accent-soft) 0%, transparent 70%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 252, 255, 0.98) 100%);
        box-shadow: 0 16px 35px rgba(15, 23, 42, 0.06);
    }
    .dashboard-card::before {
        content: '';
        position: absolute;
        inset: 0 auto auto 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--card-accent) 0%, color-mix(in srgb, var(--card-accent) 55%, white) 100%);
    }
    .dashboard-card-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .9rem;
        margin-bottom: .9rem;
    }
    .dashboard-card-title-wrap {
        display: flex;
        align-items: flex-start;
        gap: .85rem;
    }
    .dashboard-card-icon {
        width: 2.9rem;
        height: 2.9rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 16px;
        color: #fff;
        font-size: 1.05rem;
        box-shadow: 0 14px 24px color-mix(in srgb, var(--card-accent) 28%, transparent);
    }
    .dashboard-card.student {
        --card-accent: #2563eb;
        --card-accent-soft: rgba(37, 99, 235, 0.12);
        --card-accent-strong: #1d4ed8;
    }
    .dashboard-card.security {
        --card-accent: #dc2626;
        --card-accent-soft: rgba(220, 38, 38, 0.12);
        --card-accent-strong: #b91c1c;
    }
    .dashboard-card.clinic {
        --card-accent: #059669;
        --card-accent-soft: rgba(5, 150, 105, 0.12);
        --card-accent-strong: #047857;
    }
    .dashboard-card.admin {
        --card-accent: #7c3aed;
        --card-accent-soft: rgba(124, 58, 237, 0.12);
        --card-accent-strong: #6d28d9;
    }
    .dashboard-card .dashboard-card-icon {
        background: linear-gradient(135deg, var(--card-accent) 0%, color-mix(in srgb, var(--card-accent) 60%, white) 100%);
    }
    .dashboard-card-label {
        color: var(--card-accent-strong);
        font-size: .78rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .11em;
    }
    .dashboard-card-title {
        margin: .18rem 0 0;
        font-size: 1.15rem;
        line-height: 1.05;
    }
    .dashboard-chip {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: .36rem .72rem;
        background: var(--card-accent-soft);
        color: var(--card-accent-strong);
        font-size: .78rem;
        font-weight: 800;
        border: 1px solid color-mix(in srgb, var(--card-accent) 18%, white);
    }
    .dashboard-card-copy {
        margin-bottom: .95rem;
        color: #5d7088;
        font-size: .98rem;
    }
    .dashboard-feature-list { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
    .dashboard-feature-list li {
        display: flex;
        align-items: flex-start;
        gap: .75rem;
        padding: .72rem .8rem;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.82);
        border: 1px solid rgba(222, 232, 243, 0.95);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }
    .dashboard-feature-list i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.3rem;
        height: 1.3rem;
        margin-top: .1rem;
        color: var(--card-accent);
        font-size: .92rem;
    }
    .dashboard-feature-list strong { display: block; color: #0f172a; font-size: .98rem; }
    .dashboard-feature-list span { display: block; margin-top: .14rem; color: #6b7f95; font-size: .87rem; line-height: 1.4; }

    @media (min-width: 992px) {
        .guest-shell { padding: .75rem; }
        .guest-top {
            margin-bottom: .75rem;
            padding: .85rem 1rem;
        }
        .guest-shell > main.container {
            padding-top: .35rem !important;
            padding-bottom: .5rem !important;
        }
        .auth-image-carousel,
        .auth-form-card {
            min-height: min(560px, calc(100vh - 10.5rem));
        }
    }

    @media (max-height: 860px) and (min-width: 992px) {
        .dashboard-showcase { display: block; }
        .auth-layout { min-height: calc(100vh - 6.5rem); }
        .auth-image-carousel,
        .auth-form-card {
            min-height: min(520px, calc(100vh - 8.5rem));
        }
        .auth-carousel-copy { padding: 1.2rem; }
        .auth-carousel-body,
        .auth-insights { display: none; }
        .auth-disclaimer {
            margin-bottom: 0;
            padding: .75rem .85rem;
        }
        .auth-disclaimer-body {
            font-size: .79rem;
            line-height: 1.45;
        }
        .dashboard-showcase {
            margin-top: .75rem;
        }
        .dashboard-showcase-header {
            margin-bottom: .75rem;
        }
        .dashboard-showcase-note {
            display: none;
        }
        .dashboard-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .7rem;
        }
        .dashboard-card {
            padding: 1rem;
        }
        .dashboard-card-head {
            margin-bottom: .75rem;
        }
        .dashboard-feature-list {
            gap: .5rem;
        }
        .dashboard-feature-list span {
            font-size: .82rem;
        }
    }

    @media (max-width: 991.98px) {
        .auth-layout { min-height: auto; }
        .auth-image-carousel { aspect-ratio: 16 / 10; }
        .auth-carousel-copy { padding: 1.4rem; }
        .auth-insights, .dashboard-grid { grid-template-columns: 1fr; }
        .auth-disclaimer {
            max-width: 100%;
        }
        .dashboard-showcase {
            padding: 1rem;
            border-radius: 24px;
        }
        .dashboard-showcase-header {
            flex-direction: column;
            align-items: flex-start;
            padding-bottom: .8rem;
        }
        .dashboard-showcase-note {
            max-width: none;
            width: 100%;
        }
    }

    @media (max-width: 575.98px) {
        .auth-layout {
            margin-inline: 0;
        }

        .auth-layout > .col-12 {
            padding-inline: 0;
        }

        .auth-layout .row {
            --bs-gutter-x: 0;
        }

        .auth-image-carousel {
            min-height: 18rem;
            aspect-ratio: auto;
            border-radius: 18px;
        }

        .auth-carousel-copy {
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            gap: .55rem;
            padding: .85rem;
        }

        .auth-form-card {
            border-radius: 18px;
        }

        .auth-form-card .card-body {
            padding: 1rem;
        }

        .auth-password-toggle {
            right: .65rem;
        }

        .auth-kicker {
            width: fit-content;
            margin-bottom: 0;
            padding: .32rem .62rem;
            font-size: .62rem;
            letter-spacing: .08em;
        }

        .auth-carousel-title {
            max-width: none;
            margin-bottom: 0;
            font-size: 1.24rem;
            line-height: 1.08;
        }

        .auth-carousel-body {
            display: none;
        }

        .auth-disclaimer {
            display: none;
        }

        .auth-insights {
            max-width: none;
            display: grid;
            grid-template-columns: 1fr;
            gap: .45rem;
        }

        .auth-stat {
            display: grid;
            grid-template-columns: 2.8rem 1fr;
            align-items: center;
            gap: .5rem;
            min-height: 2.42rem;
            padding: .5rem .62rem;
            border-radius: 13px;
            background: rgba(15, 23, 42, 0.48);
            border-color: rgba(255, 255, 255, 0.2);
            box-shadow:
                0 10px 20px rgba(15, 23, 42, 0.18),
                inset 0 1px 0 rgba(255, 255, 255, 0.12);
        }

        .auth-stat strong {
            margin: 0;
            font-size: .82rem;
            line-height: 1;
        }

        .auth-stat span {
            font-size: .68rem;
            line-height: 1.2;
        }

        .auth-form-title,
        .auth-form-subtitle,
        .auth-register,
        .auth-stat span {
            overflow-wrap: anywhere;
        }

        .auth-actions {
            flex-direction: column;
            align-items: flex-start;
            gap: .65rem;
        }

        .dashboard-showcase {
            display: none;
        }
    }

    @media (max-width: 360px) {
        .auth-image-carousel {
            min-height: 16.6rem;
        }

        .auth-carousel-copy {
            padding: .72rem;
            gap: .45rem;
        }

        .auth-carousel-title {
            font-size: 1.08rem;
        }

        .auth-stat {
            grid-template-columns: 2.45rem 1fr;
            min-height: 2.22rem;
            padding: .44rem .54rem;
        }

        .auth-stat strong {
            font-size: .76rem;
        }

        .auth-stat span {
            font-size: .62rem;
        }
    }
