/* ── Login Page ─────────────────────────────────── */
* { margin: 0; padding: 0; box-sizing: border-box; }

        * { margin:0; padding:0; box-sizing:border-box; }
        body { font-family:'Plus Jakarta Sans',sans-serif; min-height:100vh; display:flex; background:#f1f5f9; }

        /* Left Panel */
        .login-left {
            flex:1; text-align:center; display:flex; flex-direction:column;
            justify-content:center; padding:4rem; color:#fff;
            position:relative; overflow:hidden;
            background:linear-gradient(135deg,#0f172a,#1e293b,#2563eb);
        }
        .login-left::before {
            content:''; position:absolute; top:-50%; right:-30%; width:80%; height:200%;
            background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);
            transform:rotate(25deg); pointer-events:none;
        }
        .logo-area { margin-bottom:2rem; }
        .logo-area img { border-radius:5px; background:#fff; padding:5px; }
        .login-left h1 { font-size:32px; font-weight:700; margin-bottom:10px; }
        .highlight { color:#93c5fd; }
        .tagline { font-size:18px; color:#dbeafe; margin-bottom:30px; }
        .description { font-size:16px; line-height:1.8; color:#e2e8f0; margin-bottom:35px; }

        /* Right Panel */
        .login-right { width:480px; display:flex; align-items:center; justify-content:center; padding:3rem; }
        .login-box { width:100%; max-width:360px; }
        .logo-mobile { display:none; text-align:center; margin-bottom:1.5rem; }
        .logo-mobile img { height:60px; }
        .login-box h2 { font-size:1.5rem; font-weight:800; color:#0f172a; margin-bottom:.3rem; }
        .login-box .sub { font-size:.85rem; color:#64748b; margin-bottom:2rem; }

        /* Tabs */
        .login-tabs { display:flex; margin-bottom:1.5rem; background:#f1f5f9; border-radius:10px; padding:3px; }
        .login-tab { flex:1; padding:.55rem; text-align:center; font-size:.82rem; font-weight:700; color:#64748b; cursor:pointer; border-radius:8px; transition:all .2s; }
        .login-tab.active { background:#fff; color:#0d1b2a; box-shadow:0 1px 3px rgba(0,0,0,.08); }
        .login-tab:hover:not(.active) { color:#334155; }
        .tab-content { display:none; }
        .tab-content.active { display:block; }

        /* Form */
        .form-group { margin-bottom:1.25rem; }
        .form-group label { display:block; font-size:.78rem; font-weight:600; color:#374151; margin-bottom:.35rem; }
        .form-group input[type="email"],
        .form-group input[type="password"] { width:100%; padding:.7rem .9rem; border:1.5px solid #d1d5db; border-radius:10px; font-size:.88rem; font-family:inherit; transition:border-color .2s; }
        .form-group input:focus { outline:none; border-color:#1e3a5f; box-shadow:0 0 0 3px rgba(30,58,95,.08); }

        /* Remember + Forgot */
        .remember-row { display:flex; align-items:center; gap:.4rem; margin-bottom:1.25rem; }
        .remember-row input { accent-color:#1e3a5f; }
        .remember-row label { font-size:.78rem; color:#64748b; cursor:pointer; }
        .forgot-link { margin-left:auto; font-size:.78rem; color:#1e40af; text-decoration:none; }
        .forgot-link:hover { text-decoration:underline; }

        /* Button */
        .btn { width:100%; padding:.75rem; background:linear-gradient(135deg,#0f172a,#2563eb); color:#fff; border:none; border-radius:10px; font-size:.9rem; font-weight:700; cursor:pointer; transition:opacity .2s; font-family:inherit; }
        .btn:hover { opacity:.9; }

        /* Alerts */
        .alert-error { background:#fee2e2; color:#991b1b; padding:.6rem .85rem; border-radius:8px; font-size:.8rem; margin-bottom:1rem; border:1px solid #fecaca; }
        .alert-info { background:#dbeafe; color:#1e40af; padding:.6rem .85rem; border-radius:8px; font-size:.8rem; margin-bottom:1rem; border:1px solid #bfdbfe; }

        /* Footer */
        .otp-hint { text-align:center; margin-top:.75rem; font-size:.75rem; color:#94a3b8; }
        .footer-text { text-align:center; margin-top:1.5rem; font-size:.75rem; color:#94a3b8; }

        /* Responsive */
        @media(max-width:900px) {
            .login-left { display:none; }
            .login-right { width:100%; }
            .logo-mobile { display:block; }
        }
   