:root{--primary-color:#1e60eb;--primary-hover:#164ec4;--primary-light:#f0f6ff;--text-main:#1e293b;--text-muted:#64748b;--text-white:#fff;--border-radius-lg:16px;--border-radius-md:8px;--shadow-card:0 15px 35px #00000008, 0 5px 15px #00000005;--shadow-focus:0 0 0 3px #1e60eb26;--transition-smooth:all .2s ease-in-out}.login-page-container{width:100vw;height:100vh;min-height:100vh;max-height:100vh;font-family:var(--font-sans), system-ui, sans-serif;box-sizing:border-box;background-color:#fff;grid-template-columns:1.15fr .85fr;margin:0;padding:0;display:grid;overflow:hidden}.login-banner{color:var(--text-white);box-sizing:border-box;background:linear-gradient(135deg,#091a3c 0%,#174894 45%,#64b5f6 100%);flex-direction:column;justify-content:space-between;height:100%;padding:4rem 4.5rem;display:flex;position:relative;overflow:hidden}.banner-shapes{z-index:1;pointer-events:none;opacity:.7;background-image:radial-gradient(#ffffff26 1px,#0000 0);background-position:-6px -6px;background-size:24px 24px;width:100%;height:100%;position:absolute;top:0;left:0}.banner-header{z-index:2;align-items:center;display:flex;position:relative}.logo-text-banner{letter-spacing:-.01em;font-size:1.15rem;font-weight:800}.logo-text-banner .logo-iam{color:#38bdf8}.logo-text-banner .logo-econtract{color:#fff;margin-left:2px}.banner-content{z-index:2;max-width:620px;margin:auto 0;position:relative}.banner-title{letter-spacing:-.02em;color:#fff;margin-bottom:1.5rem;font-size:2.75rem;font-weight:800;line-height:1.25;position:relative;top:10px}.banner-title span{color:#38bdf8}.banner-desc{color:#ffffffd9;margin-bottom:3rem;font-size:1.05rem;line-height:1.6;position:relative;top:10px}.premium-features-container{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.feature-glass-box{border-radius:var(--border-radius-lg);transition:var(--transition-smooth);background:#fff;border:none;padding:1.75rem 1.5rem;box-shadow:0 10px 25px #0000000d}.feature-glass-box:hover{transform:translateY(-2px);box-shadow:0 15px 30px #00000014}.feature-badge-icon{color:var(--primary-color);background:#1e60eb14;border-radius:10px;margin-bottom:.75rem;padding:10px;font-size:1.35rem;display:inline-block}.feature-glass-box h4{color:#1e293b;letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.feature-glass-box p{color:#64748b;margin:0;font-size:.85rem;line-height:1.5}.banner-footer{z-index:2;color:#fffc;justify-content:space-between;align-items:center;font-size:.85rem;display:flex;position:relative}.banner-footer-links{gap:1.5rem;display:flex}.banner-footer-links a{color:#fffc;transition:var(--transition-smooth);text-decoration:none}.banner-footer-links a:hover{color:#fff;text-decoration:underline}.login-form-panel{box-sizing:border-box;background-color:#fcfcfc;justify-content:center;align-items:center;height:100%;padding:3rem;display:flex;position:relative}.login-form-wrapper{border-radius:var(--border-radius-lg);box-sizing:border-box;background:#fff;border:1px solid #f1f5f9;width:100%;max-width:440px;padding:2.25rem 2.5rem;box-shadow:0 20px 40px #0f172a0a,0 1px 3px #0f172a05}.login-form-header{text-align:center;margin-bottom:1.5rem}.form-header-logo{letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.35rem;font-weight:800;display:inline-block}.form-header-logo .logo-iam{color:var(--primary-color)}.form-header-logo .logo-econtract{color:#1e293b}.login-form-title{color:#0f172a;letter-spacing:-.01em;margin-bottom:.35rem;font-size:1.6rem;font-weight:700}.login-form-subtitle{color:var(--text-muted);font-size:.85rem;font-weight:500}.subtitle-line{background-color:var(--primary-color);border-radius:2px;width:32px;height:3px;margin:10px auto 0}.custom-input-group{margin-bottom:1rem}.custom-input-label{color:#334155;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.custom-input{transition:var(--transition-smooth);background-color:#fff!important;border-color:#d1d5db!important;border-radius:6px!important;padding:8px 12px!important;font-size:.9rem!important}.custom-input .ant-input-prefix{color:#94a3b8;margin-right:8px;font-size:1rem}.custom-input input{color:#1e293b;font-weight:500}.custom-input::placeholder{color:#94a3b8}.custom-input:hover{border-color:#94a3b8!important}.custom-input:focus,.custom-input-focused{border-color:var(--primary-color)!important;box-shadow:var(--shadow-focus)!important}.form-controls-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.85rem;display:flex}.form-controls-row .ant-checkbox-wrapper{color:#475569;font-size:.85rem;font-weight:500}.form-controls-row .ant-checkbox-checked .ant-checkbox-inner{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important}.forgot-password-link{color:var(--primary-color);transition:var(--transition-smooth);font-size:.85rem;font-weight:600;text-decoration:none}.forgot-password-link:hover{color:var(--primary-hover);text-decoration:underline}.btn-login-submit{width:100%;height:44px!important;transition:var(--transition-smooth)!important;background:linear-gradient(90deg,#1d62f0 0%,#3b82f6 100%)!important;border:none!important;border-radius:6px!important;font-size:.9rem!important;font-weight:700!important;box-shadow:0 4px 12px -2px #1e60eb40!important}.btn-login-submit:hover{box-shadow:0 5px 14px -2px #1e60eb4d!important}.custom-divider{margin:1.15rem 0!important}.custom-divider .ant-divider-inner-text{color:#94a3b8!important;font-size:.775rem!important;font-weight:500!important}.btn-usb-token{width:100%;color:#1e60eb!important;height:40px!important;transition:var(--transition-smooth)!important;background-color:#fff!important;border:1px solid #1e60eb!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;gap:6px!important;font-size:.875rem!important;font-weight:600!important;display:flex!important}.btn-usb-token:hover{background-color:var(--primary-light)!important;border-color:var(--primary-hover)!important;color:var(--primary-hover)!important}.form-footer-helpers{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.8rem;line-height:1.5}.form-footer-helpers strong{color:#1e60eb}@media (max-width:1024px){.login-page-container{grid-template-columns:1fr}.login-banner{display:none}.login-form-panel{background-color:#f8fafc;padding:1.5rem}}@media (max-width:480px){.login-form-wrapper{padding:1.75rem 1.25rem}.login-form-panel{padding:1rem}}
