:root {
            --bg: #0a0a0a;
            --bg-soft: #141414;
            --text: #f7f7f7;
            --line: #2f2f2f;
            --card: rgba(255, 255, 255, 0.04);
            --accent: #ffffff;
        }
        * { box-sizing: border-box; }
        body {
            margin: 0;
            min-height: 100vh;
            font-family: 'Space Grotesk', sans-serif;
            color: var(--text);
            background:
                radial-gradient(circle at 20% 15%, rgba(255,255,255,0.14) 0 8%, transparent 28%),
                radial-gradient(circle at 90% 80%, rgba(255,255,255,0.09) 0 12%, transparent 34%),
                linear-gradient(135deg, #000 0%, #151515 100%);
            display: grid;
            place-items: center;
            padding: 24px;
        }
        .panel {
            width: min(940px, 100%);
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            border: 1px solid var(--line);
            background: var(--card);
            backdrop-filter: blur(8px);
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 24px 70px rgba(0,0,0,0.65);
        }
        .hero {
            padding: 44px;
            border-right: 1px solid var(--line);
            position: relative;
        }
        .hero h1 {
            font-family: 'Syne', sans-serif;
            font-size: clamp(2rem, 4vw, 3.6rem);
            line-height: 1;
            margin: 0 0 16px;
            text-transform: uppercase;
        }
        .hero p { color: #cdcdcd; max-width: 34ch; }
        .tag {
            display: inline-block;
            font-size: .75rem;
            letter-spacing: .14em;
            text-transform: uppercase;
            border: 1px solid #fff;
            padding: 8px 12px;
            margin-bottom: 24px;
        }
        .form {
            padding: 44px;
            display: grid;
            gap: 14px;
            align-content: center;
        }
        label { font-size: .9rem; color: #ddd; }
        input {
            width: 100%;
            background: #0f0f0f;
            color: #fff;
            border: 1px solid #303030;
            border-radius: 12px;
            padding: 13px 14px;
            outline: none;
        }
        input:focus { border-color: #fff; }
        .btn {
            width: 100%;
            border: 1px solid #fff;
            border-radius: 12px;
            padding: 14px;
            background: linear-gradient(135deg, #fff 0%, #f0f0f0 100%);
            color: #000;
            font-weight: 700;
            cursor: pointer;
            transition: .18s ease;
            box-shadow: 0 8px 24px rgba(255,255,255,0.2);
        }
        .btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 32px rgba(255,255,255,0.3);
        }
        .btn-link {
            display: block;
            text-align: center;
            border: 1px solid #8f8f8f;
            border-radius: 12px;
            padding: 12px;
            color: #f2f2f2;
            text-decoration: none;
            font-weight: 600;
            background: #1b1b1b;
            transition: .18s ease;
        }
        .btn-link:visited {
            color: #f2f2f2;
            border-color: #8f8f8f;
        }
        .btn-link:hover {
            border-color: #b5b5b5;
            color: #ffffff;
            background: #232323;
        }
        .btn-google {
            display: block;
            text-align: center;
            border: 1px solid #dadce0;
            border-radius: 12px;
            padding: 12px;
            color: #111;
            text-decoration: none;
            font-weight: 600;
            background: #ffffff;
            transition: .18s ease;
        }
        .btn-google:visited {
            color: #111;
            border-color: #dadce0;
        }
        .btn-google:hover {
            border-color: #ffffff;
            color: #111;
            background: #ffffff;
            transform: translateY(-2px);
            box-shadow: 0 10px 24px rgba(255,255,255,0.2);
        }
        .error {
            margin: 0;
            color: #fff;
            background: #2a2a2a;
            border: 1px solid #4a4a4a;
            border-radius: 10px;
            padding: 10px 12px;
            font-size: .9rem;
        }
        @media (max-width: 840px) {
            .panel { grid-template-columns: 1fr; }
            .hero { border-right: 0; border-bottom: 1px solid var(--line); }
        }