:root{--primary-blue:#1677ff;--primary-blue-hover:#1264db;--primary-blue-active:#0e50b2;--text-dark:#102a56;--text-secondary:#526789;--text-muted:#849bb9;--text-white:#fff;--bg-page:#f5faff;--bg-surface:#eaf4ff;--bg-card:#fff;--border-light:#d7e5f5;--border-subtle:#ebf3fc;--radius-sm:8px;--radius-md:11px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--font-sans:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--transition-fast:.16s cubic-bezier(.4, 0, .2, 1);--transition-normal:.26s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{zoom:1.15;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font-family:inherit;font-size:14px}button{cursor:pointer;background:0 0;border:none;transition:all .2s cubic-bezier(.4,0,.2,1)}a{color:inherit;text-decoration:none;transition:color .15s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.login-root-container{background-color:var(--bg-page);flex-direction:row;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.top-language-selector{z-index:20;opacity:0;animation:.4s ease-out .2s forwards animFadeIn;position:absolute;top:24px;right:36px}@keyframes animFadeIn{0%{opacity:0}to{opacity:1}}.lang-btn{background-color:var(--bg-card);border:1px solid var(--border-light);color:var(--text-dark);transition:all var(--transition-fast);border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;display:flex;box-shadow:0 1px 3px #102a560a}.lang-btn:hover{background-color:var(--bg-surface);border-color:#b5d2f2}.login-left-panel{background-color:var(--bg-page);border-right:1px solid var(--border-subtle);opacity:0;flex-direction:column;flex:0 0 45%;justify-content:space-between;min-width:0;max-width:45%;padding:56px 48px 0 64px;animation:.4s ease-out forwards animLeftPanel;display:flex;position:relative;overflow:hidden}@keyframes animLeftPanel{0%{opacity:0}to{opacity:1}}.dot-matrix-grid{opacity:0;pointer-events:none;grid-template-columns:repeat(6,4.5px);gap:12px;animation:.5s ease-out .3s forwards animFadeIn;display:grid;position:absolute;top:40px;right:48px}.dot-grid-point{background-color:var(--primary-blue);border-radius:50%;width:4.5px;height:4.5px}.left-panel-content{z-index:10;max-width:520px;margin-top:12px}.left-main-headline{color:var(--text-dark);letter-spacing:-.025em;opacity:0;margin:0;font-size:46px;font-weight:800;line-height:1.15;animation:.5s cubic-bezier(.22,1,.36,1) .1s forwards animHeadline;transform:translateY(20px)}@keyframes animHeadline{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.highlight-text{color:var(--primary-blue);font-weight:800}.headline-accent-bar{background-color:var(--primary-blue);opacity:0;border-radius:4px;width:0;height:4px;margin:18px 0 20px;animation:.35s cubic-bezier(.22,1,.36,1) .35s forwards animAccentBar}@keyframes animAccentBar{0%{opacity:0;width:0}to{opacity:1;width:48px}}.left-supporting-text{color:var(--text-secondary);opacity:0;margin:0 0 36px;font-size:17.5px;line-height:1.55;animation:.4s cubic-bezier(.22,1,.36,1) .45s forwards animDesc;transform:translateY(14px)}@keyframes animDesc{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.features-list{flex-direction:column;gap:22px;margin-bottom:28px;display:flex}.feature-item{opacity:0;align-items:flex-start;gap:16px;display:flex;transform:translate(-15px)}.feature-item-1{animation:.4s cubic-bezier(.22,1,.36,1) .55s forwards animFeatureItem}.feature-item-2{animation:.4s cubic-bezier(.22,1,.36,1) .65s forwards animFeatureItem}.feature-item-3{animation:.4s cubic-bezier(.22,1,.36,1) .75s forwards animFeatureItem}.feature-item-4{animation:.4s cubic-bezier(.22,1,.36,1) .85s forwards animFeatureItem}@keyframes animFeatureItem{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.feature-icon-box{background-color:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.feature-text{flex:1}.feature-title{color:var(--text-dark);margin:0 0 3px;font-size:16px;font-weight:700}.feature-desc{color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.45}.building-art-container{opacity:0;width:100%;animation:.5s ease-out .6s forwards animBuilding;transform:translateY(12px)}@keyframes animBuilding{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-right-panel{z-index:10;background-color:#fff;flex:0 0 55%;justify-content:center;align-items:center;max-width:55%;padding:48px 36px;display:flex;position:relative}.login-card{background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-light);opacity:0;width:100%;max-width:540px;padding:48px 44px 40px;animation:.55s cubic-bezier(.16,1,.3,1) .8s forwards animLoginCardPop;transform:scale(.94)translateY(18px);box-shadow:0 20px 45px -12px #102a5612,0 0 1px 1px #102a560a}@keyframes animLoginCardPop{0%{opacity:0;transform:scale(.94)translateY(18px)}to{opacity:1;transform:scale(1)translateY(0)}}.anim-card-item{opacity:0;transform:translateY(8px)}.card-top-icon-wrapper{text-align:center;margin-bottom:18px;animation:.3s cubic-bezier(.16,1,.3,1) .95s forwards animCardItem}.login-heading{color:var(--text-dark);text-align:center;letter-spacing:-.02em;margin:0 0 8px;font-size:34px;font-weight:800;animation:.3s cubic-bezier(.16,1,.3,1) 1.01s forwards animCardItem}.login-subheading{color:var(--text-secondary);text-align:center;margin:0 0 32px;font-size:15.5px;animation:.3s cubic-bezier(.16,1,.3,1) 1.07s forwards animCardItem}.form-group-email{animation:.3s cubic-bezier(.16,1,.3,1) 1.13s forwards animCardItem}.form-group-password{animation:.3s cubic-bezier(.16,1,.3,1) 1.19s forwards animCardItem}.forgot-password-row{justify-content:flex-end;margin-top:-6px;margin-bottom:2px;animation:.3s cubic-bezier(.16,1,.3,1) 1.25s forwards animCardItem;display:flex}.submit-signin-btn{background-color:var(--primary-blue);width:100%;height:54px;color:var(--text-white);border-radius:var(--radius-md);transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:9px;font-size:16px;font-weight:700;animation:.3s cubic-bezier(.16,1,.3,1) 1.31s forwards animCardItem;display:flex;box-shadow:0 4px 14px #1677ff47}.secure-access-card{background-color:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:flex-start;gap:14px;margin-top:4px;padding:14px 18px;animation:.3s cubic-bezier(.16,1,.3,1) 1.37s forwards animCardItem;display:flex}.policy-footer-text{color:var(--text-secondary);text-align:center;margin:24px 0 0;font-size:12px;line-height:1.5;animation:.3s cubic-bezier(.16,1,.3,1) 1.43s forwards animCardItem}@keyframes animCardItem{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-top-icon{background-color:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto;display:flex}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;display:flex}.input-label{color:var(--text-dark);margin-bottom:7px;font-size:14.5px;font-weight:600}.input-container{border:1.5px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-card);height:54px;transition:all var(--transition-fast);align-items:center;gap:12px;padding:0 16px;display:flex}.input-container:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 3.5px #1677ff24}.input-container.has-error{border-color:#ef4444;box-shadow:0 0 0 3.5px #ef44441f}.field-icon{flex-shrink:0}.text-input{width:100%;color:var(--text-dark);background:0 0;border:none;outline:none;font-size:15px;font-weight:500}.text-input::placeholder{color:var(--text-muted);font-weight:400}.password-toggle-btn{color:var(--text-secondary);transition:color var(--transition-fast);justify-content:center;align-items:center;padding:4px;display:flex}.password-toggle-btn:hover{color:var(--text-dark)}.field-error-text{color:#ef4444;margin-top:5px;font-size:12.5px;font-weight:600}.link-btn{color:var(--primary-blue);transition:color var(--transition-fast);font-size:13.5px;font-weight:600}.link-btn:hover{color:var(--primary-blue-hover);text-decoration:underline}.submit-signin-btn:hover:not(:disabled){background-color:var(--primary-blue-hover);transform:translateY(-1px);box-shadow:0 6px 18px #1677ff59}.submit-signin-btn:active:not(:disabled){background-color:var(--primary-blue-active);transform:translateY(0)}.submit-signin-btn:disabled{opacity:.75;cursor:not-allowed}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.secure-icon-box{background-color:#d9ebfd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.secure-text-content{flex:1}.secure-title{color:var(--text-dark);margin:0 0 2px;font-size:13.5px;font-weight:700}.secure-desc{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.45}.policy-link{color:var(--primary-blue);cursor:pointer;font-weight:600}.policy-link:hover{text-decoration:underline}.alert-box{border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:20px;padding:13px 16px;font-size:13.5px;line-height:1.45;display:flex}.alert-icon{flex-shrink:0;margin-top:2px}.success-alert{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.error-alert{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.warning-alert{color:#92400e;background-color:#fffbeb;border:1px solid #fef3c7}@media (width<=1280px){.login-left-panel{padding:48px 36px 0 44px}.left-main-headline{font-size:40px}.left-supporting-text{font-size:16px}}@media (width<=1024px){.login-root-container{flex-direction:row}.login-left-panel{flex:0 0 42%;max-width:42%;padding:36px 24px 0 32px}.left-main-headline{font-size:32px}.left-supporting-text{margin-bottom:24px;font-size:14.5px}.features-list{gap:16px}.login-right-panel{flex:0 0 58%;max-width:58%;padding:32px 20px}.login-card{padding:36px 28px 32px}}@media (width<=768px){.login-root-container{background-color:#fff;flex-direction:column}.login-left-panel{display:none}.login-right-panel{background-color:var(--bg-page);flex:100%;max-width:100%;min-height:100vh;padding:24px 16px}.login-card{border:1px solid var(--border-light);background-color:#fff;padding:36px 24px 28px;animation:.4s cubic-bezier(.16,1,.3,1) .1s forwards animLoginCardPop;box-shadow:0 8px 24px #102a560d}.top-language-selector{top:16px;right:16px}.login-heading{font-size:28px}}@media (prefers-reduced-motion:reduce){.login-left-panel,.left-main-headline,.headline-accent-bar,.left-supporting-text,.feature-item,.building-art-container,.login-card,.anim-card-item,.top-language-selector,.dot-matrix-grid{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.headline-accent-bar{width:48px!important}}.ambient-3d-glow-orb{filter:blur(80px);pointer-events:none;z-index:0;opacity:.35;border-radius:50%;animation:18s ease-in-out infinite alternate floatOrb;position:fixed}.ambient-orb-1{background:radial-gradient(circle,#6366f140 0%,#8b5cf60f 70%,#0000 100%);width:480px;height:480px;animation-duration:16s;top:-120px;right:-80px}.ambient-orb-2{background:radial-gradient(circle,#38bdf82e 0%,#6366f10a 70%,#0000 100%);width:540px;height:540px;animation-duration:22s;animation-delay:-5s;bottom:-150px;left:100px}.ambient-orb-3{background:radial-gradient(circle,#d946ef1f 0%,#8b5cf608 70%,#0000 100%);width:400px;height:400px;animation-duration:20s;animation-delay:-10s;top:40%;right:25%}@keyframes floatOrb{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-20px)scale(1.05)}to{transform:translate(-20px,30px)scale(.97)}}.custom-card,.card-3d-interactive{background:#fff;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),border-color .2s;position:relative}.custom-card:hover,.card-3d-interactive:hover{transform:translateY(-3px);box-shadow:0 16px 32px -8px #6366f11f,0 4px 12px -2px #0f172a0a;border-color:#6366f138!important}.table-row-hover{transition:background-color .15s}.table-row-hover:hover{background-color:#f8fafce6}.btn-3d-hover,.custom-btn{transition:all .18s cubic-bezier(.16,1,.3,1)}.btn-3d-hover:hover,.custom-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn-3d-hover:active,.custom-btn:active{filter:brightness(.98);transform:translateY(1px)}.sidebar-toggle-btn-3d{transition:all .2s cubic-bezier(.16,1,.3,1)}.sidebar-toggle-btn-3d:hover{transform:scale(1.06);box-shadow:0 4px 14px #6366f140!important}.sidebar-toggle-btn-3d:active{transform:scale(.96)}@keyframes modalEntrance{0%{opacity:0;transform:scale(.95)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-3d-content{animation:.22s cubic-bezier(.16,1,.3,1) forwards modalEntrance}.logo-3d-box:hover{transform:scale(1.04)}.nav-item-btn-3d:hover{background-color:#f1f5f9;transform:translate(3px)}.header-3d-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0!important}.page-fade-in{animation:.32s cubic-bezier(.16,1,.3,1) forwards pageFadeSlide}@keyframes pageFadeSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.interactive-card{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1),border-color .18s}.interactive-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -6px #0f172a14,0 4px 8px -2px #0f172a08}input,select,textarea{transition:border-color .18s,box-shadow .18s,background-color .18s}input:focus,select:focus,textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb1f!important}button{transition:all .18s cubic-bezier(.16,1,.3,1)}button:hover{filter:brightness(1.03)}button:active{transform:scale(.98)}tr{transition:background-color .14s}tr:hover{background-color:#f8fafcd9}.badge-pill{transition:transform .16s,box-shadow .16s}.badge-pill:hover{transform:scale(1.03)}
