:root{--jm-primary:#2f6bff;--jm-primary-deep:#1e49d8;--jm-cyan:#00d4c8;--jm-amber:#ffb020;--jm-ink:#0b1530;--jm-ink-soft:#16234a;--jm-text:#1b2745;--jm-text-2:#5a6a8f;--jm-text-3:#94a1bf;--jm-line:#e4eaf6;--jm-surface:#fff;--jm-bg:#f3f6fd;--jm-bg-deep:#ecf1fb;--jm-success:#0cb06f;--jm-danger:#f04452;--jm-warn:#f59e0b;--jm-grad-brand:linear-gradient(120deg,#2f6bff,#00d4c8);--jm-grad-hero:linear-gradient(180deg,#eef3ff,#f3f6fd 60%,#ecf1fb);--jm-grad-glow:radial-gradient(60% 80% at 70% 10%,rgba(47,107,255,.16) 0%,rgba(47,107,255,0) 60%),radial-gradient(50% 60% at 15% 90%,rgba(0,212,200,.14) 0%,rgba(0,212,200,0) 60%);--jm-font-display:"Outfit","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--jm-font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--jm-font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Courier New",monospace;--jm-radius-sm:8px;--jm-radius:14px;--jm-radius-lg:22px;--jm-shadow-sm:0 2px 8px rgba(22,35,74,.06);--jm-shadow:0 10px 30px rgba(22,35,74,.08);--jm-shadow-lg:0 24px 60px rgba(22,35,74,.14);--jm-ring:0 0 0 4px rgba(47,107,255,.14);--jm-dot-grid:radial-gradient(rgba(27,39,69,.1) 1px,transparent 0)}*,:after,:before{box-sizing:border-box}#app,body,html{height:100%;margin:0;padding:0}body{font-family:var(--jm-font-body);background:var(--jm-bg);color:var(--jm-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--jm-font-display);letter-spacing:.01em}::-moz-selection{background:rgba(47,107,255,.18)}::selection{background:rgba(47,107,255,.18)}:focus-visible{outline:2px solid var(--jm-primary);outline-offset:2px}a{color:var(--jm-primary);text-decoration:none}@keyframes jm-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes jm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jm-dash{to{stroke-dashoffset:-240}}@keyframes jm-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes jm-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.jm-fade-up{animation:jm-fade-up .7s cubic-bezier(.22,.8,.3,1) both}.jm-delay-1{animation-delay:.08s}.jm-delay-2{animation-delay:.18s}.jm-delay-3{animation-delay:.3s}.jm-delay-4{animation-delay:.44s}.jm-delay-5{animation-delay:.6s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.el-button{font-family:var(--jm-font-body);border-radius:var(--jm-radius-sm);font-weight:500;transition:all .2s ease}.el-button--primary{background:var(--jm-grad-brand);border:none;box-shadow:0 6px 16px rgba(47,107,255,.28)}.el-button--primary:focus,.el-button--primary:hover{background:linear-gradient(120deg,#4a80ff,#2be0d4);box-shadow:0 8px 22px rgba(47,107,255,.36);transform:translateY(-1px)}.el-button--default{background:var(--jm-surface);border-color:var(--jm-line);color:var(--jm-text-2)}.el-button--default:focus,.el-button--default:hover{border-color:var(--jm-primary);color:var(--jm-primary);background:#f5f8ff}.el-button--danger.is-plain{color:var(--jm-danger);border-color:rgba(240,68,82,.4);background:#fff}.el-input__inner{border-radius:var(--jm-radius-sm);border-color:var(--jm-line);transition:border-color .2s,box-shadow .2s}.el-input__inner:focus{border-color:var(--jm-primary);box-shadow:var(--jm-ring)}.el-dialog{border-radius:var(--jm-radius-lg);overflow:hidden;box-shadow:var(--jm-shadow-lg)}.el-dialog__header{border-bottom:1px solid var(--jm-line);padding:16px 24px}.el-dialog__title{font-family:var(--jm-font-display);font-weight:700;color:var(--jm-text)}.el-dialog__body{padding:24px}.el-dialog__footer{border-top:1px solid var(--jm-line);padding:14px 24px}.el-card{border:1px solid var(--jm-line);border-radius:var(--jm-radius);box-shadow:var(--jm-shadow-sm)}.el-tag{border-radius:6px;font-weight:500}.el-tag--success{background:rgba(12,176,111,.1);border-color:rgba(12,176,111,.25);color:var(--jm-success)}.el-message-box{border-radius:var(--jm-radius);box-shadow:var(--jm-shadow-lg)}.el-pagination.is-background .el-pager li:not(.disabled).active{background:var(--jm-primary)}.el-empty__description p{color:var(--jm-text-3)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.auth-panel{position:relative;background:var(--jm-ink);color:#fff;overflow:hidden;display:flex;align-items:center;padding:48px}.auth-panel__grid{position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.08) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(80% 80% at 40% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(80% 80% at 40% 40%,#000 40%,transparent 100%)}.auth-panel__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 44% at 82% 12%,rgba(47,107,255,.34),transparent 70%),radial-gradient(40% 42% at 8% 88%,rgba(0,212,200,.26),transparent 70%)}.auth-panel__content{position:relative;z-index:1;max-width:460px;width:100%;margin:0 auto;animation:jm-fade-up .8s cubic-bezier(.22,.8,.3,1) both}.auth-panel__brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--jm-font-display);font-weight:800;font-size:20px;color:#fff;margin-bottom:56px}.auth-panel__logo{width:38px;height:38px;border-radius:11px;background:var(--jm-grad-brand);display:grid;place-items:center;box-shadow:0 8px 18px rgba(47,107,255,.4)}.auth-panel__title{font-size:clamp(26px,2.6vw,36px);font-weight:800;line-height:1.4;margin:0 0 34px;color:#fff}.auth-panel__title .mono{font-family:var(--jm-font-mono);font-size:.82em;color:var(--jm-cyan)}.auth-panel__code{font-family:var(--jm-font-mono);font-size:13.5px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);border-radius:var(--jm-radius);padding:18px 20px;display:flex;flex-direction:column;gap:9px;backdrop-filter:blur(6px)}.auth-panel__code-line{display:flex;align-items:center;gap:10px;color:hsla(0,0%,100%,.72)}.auth-panel__code-line i{font-style:normal;font-weight:700;color:var(--jm-cyan);min-width:12px}.auth-panel__code-line em{font-style:normal;color:var(--jm-amber)}.auth-panel__code-line.cursor{color:#fff}.auth-panel__caret{width:8px;height:15px;margin-left:2px;background:var(--jm-cyan);animation:jm-blink 1.1s steps(1) infinite}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;position:relative;background:radial-gradient(50% 40% at 80% 8%,rgba(47,107,255,.07),transparent 70%),radial-gradient(40% 36% at 10% 92%,rgba(0,212,200,.07),transparent 70%),var(--jm-bg)}.auth-main:before{content:"";position:absolute;inset:0;background-image:var(--jm-dot-grid);background-size:26px 26px;opacity:.5;pointer-events:none}.auth-card{position:relative;z-index:1;width:420px;max-width:100%;padding:40px 40px 32px;background:var(--jm-surface);border:1px solid var(--jm-line);border-radius:var(--jm-radius-lg);box-shadow:var(--jm-shadow-lg)}.auth-card__kicker{font-family:var(--jm-font-mono);font-size:11px;letter-spacing:.3em;color:var(--jm-primary);margin:0 0 10px}.auth-card__title{font-size:26px;font-weight:800;color:var(--jm-ink);margin:0 0 6px}.auth-card__sub{font-size:13.5px;color:var(--jm-text-3);margin:0 0 28px}.auth-back{position:relative;z-index:1;margin-top:22px;font-size:13px;color:var(--jm-text-3);transition:color .2s}.auth-back:hover{color:var(--jm-primary)}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-panel{display:none}.auth-card{padding:32px 26px}}