:root{
            --navy:#0D1B2A;
            --blue-dark:#123E7A;
            --blue:#2563EB;
            --teal:#00BFA6;
            --graphite:#1F2937;
            --gray:#6B7280;
            --light:#F1F5F9;
            --white:#FFFFFF;
            --danger-bg:#FEE2E2;
            --danger:#B91C1C;
            --danger-border:#FECACA;
        }

        *{
            box-sizing:border-box;
            margin:0;
            padding:0;
            font-family:Arial, Helvetica, sans-serif;
        }

        body{
            min-height:100vh;
            background:
                radial-gradient(circle at top left, rgba(37,99,235,.22), transparent 34%),
                radial-gradient(circle at bottom right, rgba(0,191,166,.24), transparent 34%),
                linear-gradient(135deg, #071525 0%, #0D1B2A 48%, #123E7A 100%);
            display:flex;
            align-items:center;
            justify-content:center;
            padding:24px;
            overflow-x:hidden;
        }

        .login-wrapper{
            width:100%;
            max-width:1080px;
            min-height:620px;
            display:grid;
            grid-template-columns:1.08fr .92fr;
            background:rgba(255,255,255,.08);
            border:1px solid rgba(255,255,255,.14);
            border-radius:30px;
            overflow:hidden;
            box-shadow:0 30px 90px rgba(0,0,0,.35);
            backdrop-filter:blur(18px);
        }

        .brand-side{
            position:relative;
            padding:46px;
            color:#fff;
            display:flex;
            flex-direction:column;
            justify-content:space-between;
            overflow:hidden;
        }

        .brand-side::before{
            content:"";
            position:absolute;
            width:520px;
            height:520px;
            right:-190px;
            bottom:-210px;
            background:radial-gradient(circle, rgba(0,191,166,.38), transparent 68%);
            pointer-events:none;
        }

        .brand-side::after{
            content:"";
            position:absolute;
            width:360px;
            height:360px;
            left:-180px;
            top:-160px;
            background:radial-gradient(circle, rgba(37,99,235,.35), transparent 68%);
            pointer-events:none;
        }

        .brand-top,
        .brand-content,
        .brand-bottom{
            position:relative;
            z-index:2;
        }

        .brand-top{
            display:flex;
            align-items:center;
            gap:14px;
        }

        .brand-icon{
            width:56px;
            height:56px;
            border-radius:16px;
            background:#fff;
            display:flex;
            align-items:center;
            justify-content:center;
            box-shadow:0 12px 32px rgba(0,0,0,.22);
            overflow:hidden;
        }

        .brand-icon img{
            width:100%;
            height:100%;
            object-fit:contain;
            padding:6px;
        }

        .brand-name{
            line-height:1.05;
        }

        .brand-name img{
            height: 34px;
            display: block;
        }
        .brand-name strong{
            font-size:24px;
            letter-spacing:-.5px;
            display:block;
        }

        .brand-name span{
            font-size:11px;
            letter-spacing:2.4px;
            text-transform:uppercase;
            color:rgba(255,255,255,.64);
        }

        .brand-content{
            max-width:520px;
            margin-top:60px;
        }

        .badge{
            display:inline-flex;
            align-items:center;
            gap:8px;
            background:rgba(255,255,255,.1);
            border:1px solid rgba(255,255,255,.14);
            color:rgba(255,255,255,.86);
            padding:8px 12px;
            border-radius:999px;
            font-size:13px;
            margin-bottom:22px;
        }

        .badge-dot{
            width:8px;
            height:8px;
            border-radius:50%;
            background:var(--teal);
            box-shadow:0 0 0 6px rgba(0,191,166,.14);
        }

        .brand-content h1{
            font-size:48px;
            line-height:1.05;
            letter-spacing:-1.6px;
            margin-bottom:18px;
        }

        .brand-content h1 span{
            color:var(--teal);
        }

        .brand-content p{
            color:rgba(255,255,255,.72);
            font-size:16px;
            line-height:1.7;
            max-width:460px;
        }

        .features{
            margin-top:32px;
            display:grid;
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap:14px;
        }

        .feature{
            background:rgba(255,255,255,.08);
            border:1px solid rgba(255,255,255,.12);
            border-radius:18px;
            padding:16px;
        }

        .feature-icon{
            width:34px;
            height:34px;
            border-radius:11px;
            background:linear-gradient(135deg, var(--blue), var(--teal));
            display:flex;
            align-items:center;
            justify-content:center;
            margin-bottom:10px;
            font-size:17px;
        }

        .feature strong{
            display:block;
            font-size:14px;
            margin-bottom:4px;
        }

        .feature span{
            display:block;
            font-size:12px;
            color:rgba(255,255,255,.62);
            line-height:1.4;
        }

        .brand-bottom{
            color:rgba(255,255,255,.5);
            font-size:12px;
            margin-top:36px;
        }

        .form-side{
            background:rgba(255,255,255,.96);
            display:flex;
            align-items:center;
            justify-content:center;
            padding:42px;
        }

        .login-box{
            width:100%;
            max-width:390px;
        }

        .mobile-logo{
            display:none;
            text-align:center;
            margin-bottom:28px;
        }

        .mobile-logo img{
            max-width:220px;
            width:70%;
            height:auto;
        }

        .login-box h2{
            font-size:30px;
            letter-spacing:-.8px;
            color:var(--navy);
            margin-bottom:8px;
        }

        .login-box .subtitle{
            color:var(--gray);
            margin-bottom:28px;
            font-size:15px;
            line-height:1.5;
        }

        .error{
            display:none;
            margin-bottom:18px;
            background:var(--danger-bg);
            color:var(--danger);
            border:1px solid var(--danger-border);
            padding:13px 14px;
            border-radius:14px;
            font-size:14px;
            line-height:1.4;
        }

        .field{
            margin-bottom:18px;
        }

        .field label{
            display:block;
            margin-bottom:9px;
            font-size:13px;
            color:var(--graphite);
            font-weight:700;
        }

        .input-wrap{
            position:relative;
        }

        .input-icon{
            position:absolute;
            left:15px;
            top:50%;
            transform:translateY(-50%);
            color:#94A3B8;
            font-size:16px;
            pointer-events:none;
        }

        .field input{
            width:100%;
            height:50px;
            border:1px solid #DDE3EA;
            border-radius:14px;
            padding:0 15px 0 44px;
            font-size:15px;
            color:var(--navy);
            background:#F8FAFC;
            outline:none;
            transition:.2s ease;
        }

        .field input::placeholder{
            color:#9CA3AF;
        }

        .field input:focus{
            border-color:var(--teal);
            background:#fff;
            box-shadow:0 0 0 4px rgba(0,191,166,.12);
        }

        .login-options{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            margin:4px 0 22px;
            font-size:13px;
            color:var(--gray);
        }

        .remember{
            display:flex;
            align-items:center;
            gap:8px;
            user-select:none;
        }

        .remember input{
            accent-color:var(--teal);
        }

        .login-options a{
            color:var(--blue-dark);
            text-decoration:none;
            font-weight:700;
        }

        .login-options a:hover{
            color:var(--teal);
        }

        .btn{
            width:100%;
            height:52px;
            border:none;
            border-radius:15px;
            background:linear-gradient(135deg, var(--blue-dark), var(--blue) 48%, var(--teal));
            color:#fff;
            font-size:15px;
            font-weight:800;
            cursor:pointer;
            transition:.2s ease;
            box-shadow:0 14px 28px rgba(37,99,235,.22);
        }

        .btn:hover{
            transform:translateY(-1px);
            box-shadow:0 18px 34px rgba(37,99,235,.28);
        }

        .btn:active{
            transform:translateY(0);
        }

        .btn:disabled{
            opacity:.72;
            cursor:not-allowed;
            transform:none;
        }

        .security-note{
            margin-top:22px;
            padding:14px;
            border-radius:16px;
            background:#F1F5F9;
            color:#64748B;
            font-size:12px;
            line-height:1.5;
            text-align:center;
        }

        .security-note strong{
            color:var(--navy);
        }

        @media(max-width:900px){
            .login-wrapper{
                grid-template-columns:1fr;
                max-width:470px;
                min-height:auto;
            }

            .brand-side{
                display:none;
            }

            .form-side{
                padding:34px 24px;
            }

            .mobile-logo{
                display:block;
            }

            .login-box h2,
            .login-box .subtitle{
                text-align:center;
            }
        }

        @media(max-width:480px){
            body{
                padding:14px;
            }

            .login-wrapper{
                border-radius:24px;
            }

            .form-side{
                padding:30px 20px;
            }

            .login-box h2{
                font-size:26px;
            }

            .login-options{
                flex-direction:column;
                align-items:flex-start;
            }
        }
