 :root {
            --primary: #ffffff;
            --secondary: #2258B5;
            --ink: #0f172a;
            --muted: #475569;
            --card: #ffffff;
            --bg: #f8fafc;
            --ring: rgba(34, 88, 181, .35);
            --shadow: 0 10px 30px rgba(2, 8, 23, .08);
            --radius-lg: 18px;
            --radius-md: 14px;
            --radius-sm: 12px;
        }

        * {
            box-sizing: border-box
        }

        html,
        body {
            height: 100%;
            overflow-x: hidden
        }

        body {
            margin: 0;
            font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
            color: var(--ink);
            background: var(--bg);
        }

        /* Buttons */
        .btn-mswd {
            display: inline-flex;
            align-items: center;
            gap: .6rem;
            padding: .85rem 1.15rem;
            border-radius: 999px;
            font-weight: 600;
            text-decoration: none;
            border: 1px solid transparent;
            transition: transform .15s ease, box-shadow .15s ease, background .2s ease
        }

        .btn-mswd:hover {
            transform: translateY(-1px)
        }

        .btn-mswd:focus-visible {
            outline: none;
            box-shadow: 0 0 0 4px var(--ring)
        }

        .btn-primary-mswd {
            background: var(--secondary);
            color: #fff;
            box-shadow: var(--shadow)
        }

        .btn-ghost {
            background: transparent;
            color: var(--ink);
            border: 1px solid #e2e8f0
        }

        .btn-ghost:hover {
            background: #fff;
            box-shadow: var(--shadow)
        }

        /* Shell */
        .auth {
            min-height: 100svh;
            display: flex;
            align-items: center;
        }

        /* Card */
        .auth-card {
            margin: auto;
            width: min(1000px, 94vw);
            background: #fff;
            border: 1px solid rgba(15, 23, 42, .08);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow);
            overflow: hidden
        }

        /* Left panel: Makati photo with theme overlay */
        .brand-panel {
            position: relative;
            color: #fff;
            display: grid;
            place-items: center start;
        }

        .brand-panel::before {
            /* image */
            content: "";
            position: absolute;
            inset: 0;
            background-image: url('https://www.makati.gov.ph/assets/images/carousel/2.jpg');
            background-size: cover;
            background-position: center;
            filter: saturate(105%);
        }

        .brand-panel::after {
            /* theme gradient for legibility */
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(120deg, rgba(34, 88, 181, .92) 0%, rgba(47, 102, 196, .66) 60%, rgba(59, 118, 215, .40) 100%);
        }

        .brand-panel-inner {
            position: relative;
            z-index: 2;
            padding: clamp(20px, 4vw, 32px);
            width: 100%;
            max-width: 520px
        }

        .brand-badge {
            display: inline-block;
            padding: .45rem .8rem;
            border-radius: 999px;
            font-weight: 700;
            font-size: .8rem;
            background: rgba(255, 255, 255, .18);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, .35)
        }

        .brand-panel h2 {
            font-size: clamp(1.4rem, 2.2vw, 1.9rem);
            font-weight: 800;
            margin: 10px 0 6px
        }

        .brand-panel p {
            margin: 0;
            opacity: .95
        }

        /* Form side */
        .form-wrap {
            padding: clamp(20px, 4vw, 36px)
        }

        .logo-inline {
            display: flex;
            align-items: center;
            gap: .6rem;
            font-weight: 800
        }

        .logo-inline img {
            width: 38px;
            height: 38px;
            border-radius: 12px;
            border: 1px solid #e2e8f0;
            background: #e5e7eb;
            object-fit: cover
        }

        .form-wrap h1 {
            font-size: 1.6rem;
            font-weight: 800;
            margin: .25rem 0 .35rem
        }

        .form-wrap p {
            color: var(--muted);
            margin: 0 0 1rem
        }

        .form label {
            font-weight: 600;
            font-size: .9rem;
            color: var(--muted)
        }

        .form-control.mswd {
            border-radius: 12px;
            padding: .9rem 1rem;
            border: 1px solid #e2e8f0
        }

        .form-control.mswd:focus {
            border-color: #b3ccff;
            box-shadow: 0 0 0 4px var(--ring)
        }

        .form-check-input {
            border-radius: 6px
        }

        .help {
            font-size: .9rem;
            color: var(--muted)
        }

        .divider {
            display: flex;
            align-items: center;
            gap: 12px;
            color: #94a3b8;
            font-weight: 700;
            font-size: .8rem;
            text-transform: uppercase
        }

        .divider::before,
        .divider::after {
            content: "";
            height: 1px;
            background: #e2e8f0;
            flex: 1
        }

        /* Responsive */
        @media (max-width: 991.98px) {
            .brand-panel {
                min-height: 220px;
                place-items: center start;
            }
        }
        .brand-panel { place-items: start start; }
