:root {
            --bg: #f3f4f6;
            --primary: #1d4ed8;
            --primary-dark: #1e40af;
            --card-bg: #ffffff;
            --border: #e5e7eb;
        }
        * { box-sizing: border-box; }
        body {
            margin: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            background: var(--bg);
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
        }
        .wrapper {
            width: 100%;
            max-width: 460px;
            background: var(--card-bg);
            padding: 28px 28px 22px;
            border-radius: 22px;
            box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
        }
        .brand {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 12px;
            gap: 10px;
        }
        .brand img {
            width: 100%;
            height: 150px;
            object-fit: contain;
        }
        .brand span {
            font-weight: 600;
            font-size: 28px;
        }
        h1 {
            font-size: 22px;
            text-align: center;
            margin: 6px 0 12px;
        }
        label {
            display: block;
            margin: 10px 0 4px;
            font-size: 14px;
        }
        input[type="text"],
        input[type="password"] {
            width: 100%;
            padding: 10px 12px;
            border-radius: 12px;
            border: 1px solid var(--border);
            font-size: 14px;
        }
        input:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.25);
        }
        .btn {
            margin-top: 16px;
            width: 100%;
            padding: 11px 14px;
            border-radius: 999px;
            border: none;
            background: var(--primary);
            color: #ffffff;
            font-size: 15px;
            cursor: pointer;
            font-weight: 500;
        }
        .btn:hover {
            background: var(--primary-dark);
        }
        .error {
            margin-top: 8px;
            color: #b91c1c;
            font-size: 13px;
            text-align: center;
        }
        .hint {
            margin-top: 12px;
            font-size: 12px;
            color: #6b7280;
            text-align: center;
        }
        .hint strong {
            font-weight: 600;
        }
        .recaptcha-row {
            margin-top: 12px;
            display: flex;
            justify-content: center;
        }
        @media (max-width: 480px) {
            .wrapper {
                margin: 0 12px;
                padding: 22px 18px 18px;
                border-radius: 18px;
            }
        }


.forgot-row {
    margin-top: 10px;
    text-align: center;
}
.forgot-row a {
    font-size: 13px;
    text-decoration: none;
}
.forgot-row a:hover {
    text-decoration: underline;
}
