:root{--color-primary:#3B82F6;--color-accent:#06B6D4;--color-gradient:linear-gradient(135deg,#3B82F6,#06B6D4);--color-gradient-hover:linear-gradient(135deg,#2563EB,#0891B2);--color-bg-primary:#FFFFFF;--color-bg-secondary:#F1F5F9;--color-bg-dark:#0F172A;--color-bg-dark-secondary:#1E293B;--color-text-primary:#0F172A;--color-text-secondary:#64748B;--color-text-muted:#94A3B8;--color-success:#10B981;--color-warning:#F59E0B;--color-error:#EF4444;--color-border:#E2E8F0;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:var(--color-text-primary)}.login-page,body,html{background:var(--color-bg-secondary)}.login-page{min-height:100vh;display:flex}.login-brand-section{flex:1 1;background:var(--color-gradient);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;position:relative;overflow:hidden}.login-brand-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 50%);animation:pulse 15s ease-in-out infinite}@keyframes pulse{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10%,10%) scale(1.1)}}.login-brand-content{position:relative;z-index:1;text-align:center;color:white}.login-brand-logo{width:80px;height:80px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:36px}.login-brand-title{font-size:36px;font-weight:700;margin-bottom:12px;letter-spacing:-.5px}.login-brand-subtitle{font-size:18px;opacity:.9;margin-bottom:48px}.login-brand-features{display:flex;flex-direction:column;gap:16px;text-align:left}.login-brand-feature{display:flex;align-items:center;gap:12px;font-size:15px;opacity:.95}.login-brand-feature-icon{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.login-form-section{width:520px;display:flex;flex-direction:column;justify-content:center;padding:48px 64px;background:white}.login-form-header{margin-bottom:40px}.login-form-title{font-size:28px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.login-form-desc{font-size:15px;color:var(--color-text-secondary)}.login-form-container{flex:1 1;display:flex;flex-direction:column}.role-selector{display:flex;gap:16px;margin-bottom:32px}.role-card{flex:1 1;padding:20px;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:center}.role-card:hover{border-color:var(--color-primary);background:rgba(59,130,246,.04)}.role-card.active{border-color:var(--color-primary);background:rgba(59,130,246,.08)}.role-card-icon{width:48px;height:48px;background:var(--color-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:white;font-size:20px}.role-card-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.role-card-desc{font-size:13px;color:var(--color-text-secondary)}.login-form-wrapper .ant-form-item-label>label{font-weight:500;color:var(--color-text-primary)}.login-form-wrapper .ant-input-affix-wrapper{padding:12px 16px;border-radius:var(--radius-md);border-color:var(--color-border)}.login-form-wrapper .ant-input-affix-wrapper:focus-within,.login-form-wrapper .ant-input-affix-wrapper:hover{border-color:var(--color-primary)}.login-form-wrapper .ant-input-affix-wrapper .ant-input-prefix{margin-right:12px;color:var(--color-text-muted)}.login-btn-gradient{height:48px;border-radius:var(--radius-md);background:var(--color-gradient);border:none;font-size:16px;font-weight:600;transition:all .2s ease}.login-btn-gradient:hover{background:var(--color-gradient-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.login-security-tip{margin-top:32px;padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;gap:12px}.login-security-tip-icon{color:var(--color-primary);font-size:18px}.login-security-tip-text{font-size:13px;color:var(--color-text-secondary)}.admin-sider{background:var(--color-bg-dark)!important}.admin-sider .ant-menu{background:transparent!important}.admin-sider .ant-menu-item{margin:4px 12px;border-radius:var(--radius-sm)}.admin-sider .ant-menu-item-selected{background:var(--color-gradient)!important}.admin-sider .ant-menu-item:hover:not(.ant-menu-item-selected){background:rgba(255,255,255,.08)!important}.admin-sider-logo{height:64px;border-bottom:1px solid rgba(255,255,255,.08);gap:10px}.admin-sider-logo,.admin-sider-logo-icon{display:flex;align-items:center;justify-content:center}.admin-sider-logo-icon{width:36px;height:36px;background:var(--color-gradient);border-radius:10px;color:white;font-size:18px}.admin-sider-logo-text{color:white;font-size:16px;font-weight:600}.admin-header{background:white!important;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.page-container{padding:24px;background:var(--color-bg-secondary);min-height:calc(100vh - 64px)}.card-container{background:white;border-radius:var(--radius-lg);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card-container:hover{box-shadow:var(--shadow-md)}.high-risk-btn{color:var(--color-error)!important}.high-risk-btn,.high-risk-btn:hover{border-color:var(--color-error)!important}.high-risk-btn:hover{background:var(--color-error)!important;color:white!important}.table-actions{display:flex;gap:8px}.status-active{color:var(--color-success)}.status-frozen{color:var(--color-error)}.status-pending{color:var(--color-warning)}.text-gradient{background:var(--color-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-gradient{background:var(--color-gradient)!important;border:none!important;color:white!important}.btn-gradient:hover{background:var(--color-gradient-hover)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}@media (max-width:1024px){.login-brand-section{display:none}.login-form-section{width:100%;padding:32px}}