        :root {
            --bg: #eef3f7;
            --card: #ffffff;
            --line: #d5e4ee;
            --ink: #1d2f3c;
            --muted: #60798b;
            --a: #0f3f61;
            --b: #0aa8b5;
        }

        * { box-sizing: border-box; }

        body {
            margin: 0;
            min-height: 100vh;
            display: grid;
            place-items: center;
            background: radial-gradient(900px 300px at 50% -200px, rgba(12, 172, 188, 0.25), transparent), var(--bg);
            color: var(--ink);
            font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif;
            padding: 16px;
        }

        .auth-stack {
            width: min(460px, 100%);
            display: grid;
            gap: 16px;
            justify-items: stretch;
        }

        .card {
            width: 100%;
            border: 1px solid var(--line);
            border-radius: 16px;
            background: var(--card);
            box-shadow: 0 18px 40px rgba(9, 36, 57, 0.14);
            overflow: hidden;
        }

        .head {
            padding: 18px 20px;
            color: #fff;
            background: linear-gradient(120deg, var(--a), var(--b));
        }

        .auth-logo {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            color: #fff;
        }

        .auth-logo-icon {
            width: 40px;
            height: 40px;
            border-radius: 10px;
        }

        .auth-logo span {
            font-size: 26px;
            font-weight: 900;
            letter-spacing: -.5px;
        }

        .head p {
            margin: 4px 0 0;
            opacity: .9;
            font-weight: 700;
        }

        form {
            padding: 18px;
            display: grid;
            gap: 10px;
        }

        label {
            font-weight: 800;
            color: #3f6880;
            font-size: 14px;
        }

        input {
            width: 100%;
            min-height: 42px;
            border-radius: 12px;
            border: 2px solid #d4e9f3;
            padding: 0 12px;
            font-size: 15px;
            color: #23445b;
            background: #fbfeff;
            outline: none;
        }

        .remember {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 2px 0 4px;
            color: var(--muted);
            font-weight: 700;
            font-size: 14px;
        }

        .remember input {
            width: 16px;
            min-height: 16px;
            accent-color: #0d8fb4;
        }

        .btn {
            border: 0;
            border-radius: 12px;
            min-height: 42px;
            color: #fff;
            font-size: 16px;
            font-weight: 800;
            background: linear-gradient(120deg, #0fa4b6, #0f6ea6);
            cursor: pointer;
        }

        .row {
            color: var(--muted);
            font-size: 14px;
            font-weight: 700;
            text-align: center;
            margin-top: 4px;
        }

        .row a {
            color: #0d86b1;
            text-decoration: none;
            font-weight: 900;
        }

        .auth-alt-entry {
            margin-top: 8px;
            padding: 14px;
            border: 1px solid #d4e9f3;
            border-radius: 14px;
            background: #f6fbfe;
            color: #486375;
            font-size: 14px;
            font-weight: 700;
            text-align: center;
            display: grid;
            gap: 8px;
        }

        .auth-alt-entry a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 0 16px;
            border-radius: 12px;
            background: #e2f2f8;
            color: #0f587e;
            text-decoration: none;
            font-weight: 900;
        }

        .auth-register-row {
            margin-top: 0;
        }

        .alert,
        .errors {
            margin: 14px 18px 0;
            border-radius: 12px;
            padding: 10px 12px;
            font-size: 14px;
            font-weight: 700;
        }

        .alert {
            background: #eaf8f6;
            border: 1px solid #9ddfd8;
            color: #12786f;
        }

        .errors {
            background: #fff1f4;
            border: 1px solid #ef85a1;
            color: #b32f5a;
        }

        .errors ul {
            margin: 0;
            padding-left: 18px;
        }
