.login-bg{--login-brand:#0e0584;--login-ink:#0b1230;background:#f7f8fc;min-height:100vh;display:flex}.login-left{isolation:isolate;color:#fff;background:radial-gradient(circle at 13% 9%,#705fff6b,#0000 28%),radial-gradient(circle at 86% 82%,#2c4cff45,#0000 34%),linear-gradient(145deg,#060722 0%,#11094c 52%,#0e0584 100%);flex-direction:column;flex:1;justify-content:space-between;min-width:0;padding:clamp(42px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-left:before{content:"";z-index:-1;opacity:.16;background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 72%);mask-image:linear-gradient(to bottom right,#000,#0000 72%)}.login-left:after{content:"";z-index:-1;border:1px solid #ffffff24;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-160px;right:-120px;box-shadow:0 0 0 52px #ffffff06,0 0 0 104px #ffffff05}.login-product-identity{flex-direction:column;align-items:flex-start;gap:9px;display:inline-flex}.login-wordmark{max-width:min(290px,70vw);height:50px}.login-product-identity>span{color:#ffffffab;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600}.login-product-identity.is-compact{gap:5px}.login-product-identity.is-compact .login-wordmark{max-width:174px;height:32px}.login-product-identity.is-compact>span{color:#64748b;letter-spacing:.11em;font-size:9px}.login-brand{align-items:center;gap:16px;display:flex}.login-logo{flex:none;padding:7px;box-shadow:0 10px 30px #04062338}.login-bank{letter-spacing:.01em;margin:0;font-size:26px;font-weight:800}.login-tag{opacity:.72;margin:2px 0 0;font-size:13px}.login-brand.is-compact .login-bank{color:var(--login-ink);font-size:18px}.login-brand.is-compact .login-tag{color:#64748b;opacity:1;font-size:11px}.login-tagline{max-width:610px}.login-tagline h2{letter-spacing:-.045em;max-width:570px;margin:0 0 18px;font-size:clamp(38px,4vw,58px);font-weight:800;line-height:1.04}.login-tagline p{color:#ffffffad;max-width:520px;margin:0;font-size:16px;line-height:1.7}.login-features{grid-template-columns:repeat(2,minmax(180px,1fr));gap:13px 26px;max-width:560px;display:grid}.feature-item{color:#ffffffd1;align-items:center;gap:9px;font-size:13.5px;font-weight:500;display:flex}.feature-item svg{color:#a8a4ff;flex:none}.login-right{background:#fffffff0;justify-content:center;align-items:center;width:min(46vw,580px);min-width:460px;padding:46px clamp(34px,4vw,64px);display:flex;box-shadow:-28px 0 70px #0f172a14}.login-card{width:100%;max-width:420px}.login-mobile-brand{margin-bottom:34px;display:none}.login-header{margin-bottom:30px}.login-header h2{color:var(--login-ink);letter-spacing:-.025em;margin:0 0 6px;font-size:30px;font-weight:800}.login-header p{color:#64748b;margin:0;font-size:14px}.login-security-icon{color:#fff;background:linear-gradient(135deg,#2820bd,#0e0584);border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:18px;display:grid;box-shadow:0 10px 24px #0e058438}.alert{border-radius:11px;margin-bottom:20px;padding:12px 15px;font-size:13px}.alert--error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3}.login-form{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field label{color:#1e293b;font-size:12.5px;font-weight:700}.field input,.login-form>input{color:#0f172a;background:#fff;border:1.5px solid #dbe1eb;border-radius:11px;outline:none;width:100%;min-height:48px;padding:12px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.field input::placeholder{color:#94a3b8}.field input:hover{border-color:#b8c2d2}.field input:focus,.login-form>input:focus{border-color:#4c46d8;box-shadow:0 0 0 4px #4e46d81f}.input-wrap{position:relative}.input-wrap input{padding-right:66px}.toggle-pass{color:#5149bd;background:0 0;border:0;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:700;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.toggle-pass:hover{background:#f2f1ff}.btn-login,.login-btn{color:#fff;background:linear-gradient(135deg,#241bb7,#0e0584);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:7px;padding:12px 16px;font-size:14px;font-weight:750;transition:transform .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 9px 20px #0e05842e}.btn-login:hover:not(:disabled),.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0e058440}.btn-login:focus-visible,.login-btn:focus-visible{outline-offset:2px;outline:3px solid #5b53e047}.btn-login:disabled,.login-btn:disabled{opacity:.6;box-shadow:none}.btn-login--secondary{color:#15134e;box-shadow:none;background:#f2f1ff;border:1px solid #d8d5ff;margin-top:10px}.btn-login--secondary:hover:not(:disabled){box-shadow:none;background:#e8e6ff}.btn-login--sso{box-shadow:none;background:#27324a;margin-top:10px}.link-btn{font-weight:700}.login-guide{color:#26324a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;align-items:center;gap:11px;margin-top:13px;padding:11px 13px;font-size:12.5px;line-height:1.4;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.login-guide svg{color:#5149bd;flex:none}.login-guide:hover{background:#f4f3ff;border-color:#d6d2ff}.login-trust{color:#94a3b8;text-align:center;justify-content:center;align-items:flex-start;gap:6px;margin-top:18px;font-size:10.5px;line-height:1.45;display:flex}.login-trust svg{color:#16a34a;flex:none;margin-top:1px}@media (width<=1100px){.login-left{padding:46px 40px}.login-features{grid-template-columns:1fr}.login-right{min-width:430px;padding:40px}}@media (width<=860px){.login-bg{background:radial-gradient(circle at 20% 0,#eeecff,#0000 40%),#f7f8fc;min-height:100vh;padding:28px 18px;display:block}.login-left{display:none}.login-right{border:1px solid #dadeeacc;border-radius:22px;width:100%;min-width:0;min-height:calc(100vh - 56px);padding:36px clamp(22px,7vw,54px);box-shadow:0 22px 60px #0f172a1a}.login-card{max-width:430px}.login-mobile-brand{display:block}}@media (width<=480px){.login-bg{background:#fff;padding:0}.login-right{min-height:100vh;box-shadow:none;border:0;border-radius:0;align-items:flex-start;padding:30px 22px 34px}.login-mobile-brand{margin-bottom:30px}.login-product-identity.is-compact .login-wordmark{height:29px}.login-header{margin-bottom:24px}.login-header h2{font-size:27px}}@media (prefers-reduced-motion:reduce){.btn-login,.login-btn,.field input,.login-guide{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--primary);color:#fff;z-index:100;flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.layout.sidebar-closed .sidebar{width:60px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-height:70px;padding:20px 16px;display:flex}.brand{flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.brand-logo{object-fit:contain;width:38px;min-width:38px;height:38px;color:var(--primary);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:5px;font-size:18px;font-weight:800;display:flex;box-shadow:0 8px 20px #0000002e}.brand-text{min-width:0;overflow:hidden}.brand-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:750;display:block;overflow:hidden}.brand-sub{opacity:.58;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;display:block;overflow:hidden}.sidebar-toggle{color:#fff9;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;transition:color .15s;display:flex}.sidebar-toggle:hover{color:#fff}.sidebar-search{color:#ffffff94;background:#ffffff17;border:1px solid #ffffff21;border-radius:10px;align-items:center;gap:8px;height:40px;margin:12px 10px 4px;padding:0 10px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.sidebar-search:focus-within{color:#fff;background:#ffffff21;border-color:#93c5fdbf;box-shadow:0 0 0 3px #60a5fa29}.sidebar-search input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12.5px}.sidebar-search input::placeholder{color:#ffffff85}.sidebar-search input::-webkit-search-cancel-button{display:none}.sidebar-search button{color:#ffffffb8;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;display:grid}.sidebar-search button:hover{color:#fff;background:#ffffff1f}.sidebar-search kbd{color:#fff9;background:#00000029;border:1px solid #ffffff1f;border-radius:5px;padding:2px 5px;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.sidebar-search-collapsed{color:#ffffffb8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;place-items:center;width:40px;height:40px;margin:12px auto 4px;display:grid}.sidebar-search-collapsed:hover{color:#fff;background:#ffffff24}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.sidebar-search-empty{color:#ffffff8f;text-align:center;border:1px dashed #ffffff29;border-radius:10px;flex-direction:column;align-items:center;gap:5px;margin:18px 8px;padding:18px 10px;display:flex}.sidebar-search-empty strong{color:#ffffffd1;font-size:12px}.sidebar-search-empty span{font-size:10.5px;line-height:1.35}.nav-item{color:#ffffffb3;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex;overflow:hidden}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{color:#fff;background:var(--primary-light)}.nav-item--danger:hover{color:#fca5a5;background:#ef444426}.layout.sidebar-closed .nav-item span{display:none}.layout.sidebar-closed .nav-item{justify-content:center}.sidebar-footer{border-top:1px solid #ffffff1a;flex-direction:column;gap:2px;padding:8px 8px 16px;display:flex}.main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .2s;display:flex}.layout.sidebar-closed .main{margin-left:60px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;height:70px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left .page-title{color:var(--primary);font-size:18px;font-weight:700}.topbar-right{align-items:center;gap:8px;display:flex}.icon-btn{color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:8px;display:flex}.icon-btn:hover{background:var(--bg);color:var(--text)}.user-menu{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex;position:relative}.user-menu:hover{background:var(--bg)}.avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.user-role{color:var(--text-muted);font-size:11px}.dropdown{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:10px;min-width:160px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.dropdown a,.dropdown button{color:var(--text);text-align:left;background:0 0;border:none;width:100%;padding:10px 16px;font-size:13px;display:block}.dropdown a:hover,.dropdown button:hover{background:var(--bg)}.content{flex:1;padding:28px}
