*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
        html,body{height:100%;overflow:hidden}
        body{
            font-family:'Segoe UI',Arial,Helvetica,sans-serif;
            color:#0b2a4a;
            background:#f0f2f5;
        }

        .login-bg{
            position:fixed;inset:0;
            background:linear-gradient(135deg,#0b2a4a 0%,#1f4e79 50%,#2aa84a 100%);
            z-index:0;
        }
        .bg-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
        .bg-shape{
            position:absolute;border-radius:50%;
            background:rgba(255,255,255,.06);
            animation:drift 8s ease-in-out infinite;
        }
        .bg-shape:nth-child(1){width:400px;height:400px;top:-100px;left:-100px;animation-delay:0s}
        .bg-shape:nth-child(2){width:250px;height:250px;top:15%;right:-60px;animation-delay:1.5s;animation-duration:10s}
        .bg-shape:nth-child(3){width:180px;height:180px;bottom:15%;left:10%;animation-delay:3s;animation-duration:12s}
        .bg-shape:nth-child(4){width:120px;height:120px;top:8%;left:45%;animation-delay:2s;animation-duration:9s}
        .bg-shape:nth-child(5){width:300px;height:300px;bottom:-80px;right:15%;animation-delay:4s;animation-duration:11s}
        .bg-shape:nth-child(6){width:160px;height:160px;top:50%;left:60%;animation-delay:2.5s;animation-duration:13s}
        @keyframes drift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-35px) scale(1.05)}}

        .login-wrapper{
            position:relative;z-index:1;
            display:flex;align-items:center;justify-content:center;
            min-height:100vh;padding:20px;
        }
        .login-container{
            display:grid;
            grid-template-columns:1fr 1fr;
            max-width:900px;width:100%;
            background:#fff;border-radius:24px;
            box-shadow:0 20px 60px rgba(0,0,0,.2);
            overflow:hidden;
            animation:slideUp .6s ease both;
        }
        @keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}

        .login-panel{
            background:linear-gradient(135deg,rgba(11,42,74,.95),rgba(31,78,121,.9));
            padding:50px 40px;
            display:flex;flex-direction:column;justify-content:center;
            position:relative;overflow:hidden;
        }
        .login-panel::before{
            content:'';position:absolute;
            width:250px;height:250px;border-radius:50%;
            background:rgba(42,168,74,.15);
            top:-60px;right:-80px;
        }
        .login-panel::after{
            content:'';position:absolute;
            width:180px;height:180px;border-radius:50%;
            background:rgba(255,255,255,.05);
            bottom:-40px;left:-40px;
        }
        .panel-badge{
            display:inline-flex;align-items:center;gap:8px;
            background:rgba(255,255,255,.12);backdrop-filter:blur(6px);
            border:1px solid rgba(255,255,255,.2);
            padding:6px 16px;border-radius:30px;
            color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;
            width:fit-content;margin-bottom:24px;
        }
        .panel-logo{
            width:140px;height:140px;border-radius:20px;
            background:rgba(255,255,255,.08);
            display:flex;align-items:center;justify-content:center;
            margin-bottom:28px;position:relative;z-index:1;
        }
        .panel-logo img{width:120px;height:auto;object-fit:contain}
        .login-panel h2{
            font-size:clamp(22px,3vw,28px);font-weight:800;
            color:#fff;margin:0 0 12px;position:relative;z-index:1;
        }
        .login-panel h2 span{
            background:linear-gradient(90deg,#5dd879,#a0f0b0);
            -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
        }
        .login-panel p{
            font-size:15px;color:rgba(255,255,255,.8);line-height:1.7;
            margin:0 0 28px;position:relative;z-index:1;
        }
        .panel-features{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}
        .panel-feature{
            display:flex;align-items:center;gap:12px;
            color:rgba(255,255,255,.85);font-size:14px;font-weight:500;
        }
        .panel-feature-icon{
            width:36px;height:36px;border-radius:10px;
            background:rgba(255,255,255,.1);
            display:flex;align-items:center;justify-content:center;
            font-size:16px;flex-shrink:0;
        }

        .login-form-wrapper{
            padding:50px 40px;
            display:flex;flex-direction:column;justify-content:center;
        }
        .form-header{text-align:center;margin-bottom:28px}
        .form-header-top{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
        .form-header-top h1{margin:0}
        .form-header h1{font-size:26px;font-weight:800;color:#0b2a4a;margin:0 0 6px}
        .form-header p{font-size:14px;color:#6b7b8c;margin:0}
        .client-lang-switch{display:inline;padding:0;margin:0;background:none;border:none;box-shadow:none}
        .client-lang-switch a.client-lang-link{display:inline!important;padding:0!important;margin:0!important;background:none!important;border:none!important;box-shadow:none!important;border-radius:0!important;text-decoration:none!important;color:#0b2a4a!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;opacity:1!important}
        .client-lang-sep{display:inline;margin:0 2px;color:#64748b!important;font-size:14px;font-weight:400;opacity:1!important}
        .client-lang-switch a.client-lang-link.is-active{color:#0b2a4a!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px}
        .client-lang-switch a.client-lang-link:hover{color:#1f4e79!important;background:none!important;text-decoration:underline!important}

        .login-alert{
            background:#fde8e8;border:1px solid #f8b4b4;
            color:#a61b1b;padding:12px 16px;border-radius:12px;
            margin-bottom:20px;font-weight:600;font-size:14px;text-align:center;
            animation:shake .4s ease;
        }
        @keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

        .form-group{margin-bottom:18px}
        .form-group label{
            display:block;margin-bottom:6px;
            font-weight:700;font-size:13px;color:#0b2a4a;
        }
        .input-wrapper{position:relative}
        .input-wrapper input{
            width:100%;padding:13px 14px 13px 44px;
            border:2px solid #e5e8ef;border-radius:12px;
            background:#f7f9fc;font-size:15px;
            transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
            outline:none;color:#0b2a4a;
        }
        .input-wrapper input:focus{
            border-color:#1f4e79;background:#fff;
            box-shadow:0 0 0 4px rgba(31,78,121,.08);
        }
        .input-icon{
            position:absolute;left:14px;top:50%;transform:translateY(-50%);
            width:20px;height:20px;opacity:.4;pointer-events:none;
        }
        .input-icon svg{width:20px;height:20px;fill:#6b7b8c}

        .login-submit{
            width:100%;padding:14px;
            background:linear-gradient(135deg,#1f4e79,#0b2a4a);
            color:#fff;border:none;border-radius:12px;
            font-size:15px;font-weight:700;cursor:pointer;
            transition:transform .2s ease,box-shadow .2s ease;
            display:flex;align-items:center;justify-content:center;gap:8px;
            margin-top:8px;
        }
        .login-submit:hover{
            transform:translateY(-2px);
            box-shadow:0 8px 25px rgba(31,78,121,.3);
        }
        .login-submit:active{transform:translateY(0)}
        .login-submit svg{width:18px;height:18px}

        .form-footer{
            margin-top:24px;text-align:center;
            font-size:12px;color:#9aa5b4;
        }
        .form-back{
            margin-top:16px;text-align:center;
        }
        .form-back a{
            color:#1f4e79;text-decoration:none;font-weight:600;font-size:13px;
            display:inline-flex;align-items:center;gap:4px;
            transition:color .2s ease;
        }
        .form-back a:hover{color:#2aa84a}
        .form-back a svg{width:14px;height:14px}

        .toggle-password{
            position:absolute;right:12px;top:50%;transform:translateY(-50%);
            background:none;border:none;cursor:pointer;opacity:.4;padding:4px;
            transition:opacity .2s ease;
        }
        .toggle-password:hover{opacity:.7}
        .toggle-password svg{width:20px;height:20px;fill:#6b7b8c}

        @media(max-width:768px){
            html,body{overflow:auto}
            .login-bg{position:fixed}
            .login-wrapper{align-items:flex-start;padding:16px}
            .login-container{
                grid-template-columns:1fr;
                max-width:440px;
                border-radius:20px;
            }
            .login-panel{
                padding:36px 28px;
                text-align:center;align-items:center;
            }
            .panel-badge{margin-left:auto;margin-right:auto}
            .panel-features{display:none}
            .login-form-wrapper{padding:36px 28px}
        }
        @media(max-width:400px){
            .login-panel{padding:28px 20px}
            .login-form-wrapper{padding:28px 20px}
        }
