        :root {
            --bg: #f4f7fb;
            --card: #ffffff;
            --text: #0f172a;
            --muted: #64748b;
            --line: #e2e8f0;
            --brand: #0f766e;
            --brand-dark: #115e59;
            --shadow: 0 20px 60px rgba(15, 23, 42, .12);
            --radius: 24px;
        }
        * { box-sizing: border-box; }
        body {
            margin: 0;
            font-family: Roboto, system-ui, sans-serif;
            background:
                radial-gradient(circle at top left, rgba(15,118,110,.12), transparent 28%),
                linear-gradient(180deg, #f8fbff 0%, var(--bg) 100%);
            min-height: 100vh;
            display: grid;
            place-items: center;
            color: var(--text);
            padding: 24px;
        }
        .wrap {
            width: 100%;
            max-width: 1120px;
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            background: rgba(255,255,255,.68);
            backdrop-filter: blur(18px);
            border: 1px solid rgba(255,255,255,.75);
            border-radius: 32px;
            overflow: hidden;
            box-shadow: var(--shadow);
        }
        .hero {
            padding: 56px;
            background: linear-gradient(160deg, #0f172a 0%, #0f766e 100%);
            color: white;
            position: relative;
        }
        .hero h1 { margin: 0 0 16px; font-size: 32px; line-height: 1.15; letter-spacing: .075em; }
        .hero p { margin: 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.7; max-width: 480px; }
        .badge {
            display: inline-flex;
            padding: 10px 14px;
            /*border-radius: 999px;
            background: rgba(255,255,255,.12);
            border: 1px solid rgba(255,255,255,.18);*/
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 22px;
        }
        .panel {
            background: var(--card);
            padding: 48px;
        }
        .eyebrow {
            font-size: 13px;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: var(--brand);
            font-weight: 700;
            margin-bottom: 10px;
        }
        h2 {
            margin: 0 0 10px;
            font-size: 30px;
        }
        .sub {
            margin: 0 0 28px;
            color: var(--muted);
            line-height: 1.6;
        }
        form { display: grid; gap: 16px; }
        label { font-size: 14px; font-weight: 600; padding-bottom:8px;}
        input[type="email"], input[type="password"] {
            width: 100%;
            padding: 14px 16px;
            border-radius: 8px;
            border: 1px solid var(--line);
            background: #fff;
            font-size: 15px;
            outline: none;
        }
        input:focus {
            border-color: rgba(15,118,110,.65);
            box-shadow: 0 0 0 4px rgba(15,118,110,.12);
        }
        .row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: var(--muted);
            font-size: 14px;
        }
        .btn {
            appearance: none;
            border: 0;
            padding: 15px 20px;
            border-radius: 8px;
            background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
            color: white;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            box-shadow: 0 14px 30px rgba(15,118,110,.24);
        }
        .btn:hover { transform: translateY(-1px); }
        .alert {
            padding: 14px 16px;
            border-radius: 7px;
            background: #fef2f2;
            color: #991b1b;
            border: 1px solid #fecaca;
            font-size: 14px;
        }

a {
    color: var(--brand-dark);
}

        @media (max-width: 900px) {
            .wrap { grid-template-columns: 1fr; }
            .hero, .panel { padding: 32px 24px; }
            .hero h1 { font-size: 28px; }
        }