.login-shell[data-v-f6d59944]{min-height:100vh;display:grid;grid-template-columns:2.2fr 1fr;background:#f8f9fc}.hero[data-v-f6d59944]{position:relative;background:radial-gradient(circle at 50% 40%,#42444d,#24262c 52%,#16191f);overflow:hidden}.hero[data-v-f6d59944]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 7px);opacity:.16}.hero-content[data-v-f6d59944]{position:relative;z-index:1;max-width:520px;margin:84px auto;color:#fff;text-align:left}.hero h1[data-v-f6d59944]{margin:0;font-size:54px;font-weight:500;letter-spacing:1px}.hero p[data-v-f6d59944]{margin:26px 0 0;display:inline-block;border:1px solid rgba(235,238,245,.25);border-radius:24px;padding:8px 26px;color:#dbe0eb;font-size:17px}.cube-wrap[data-v-f6d59944]{width:360px;height:280px;margin:90px auto 0;position:relative}.cube[data-v-f6d59944]{width:140px;height:140px;position:absolute;left:110px;top:56px;transform-style:preserve-3d;transform:rotateY(-22deg) rotateX(8deg);animation:float-f6d59944 4.8s ease-in-out infinite}.face[data-v-f6d59944]{position:absolute;width:140px;height:140px;background:linear-gradient(160deg,#f7f9ff2e,#5d65762e);border:1px solid rgba(214,222,240,.45);border-radius:4px;display:grid;place-items:center;font-size:38px;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.face-front[data-v-f6d59944]{transform:translateZ(68px)}.face-right[data-v-f6d59944]{transform:rotateY(90deg) translateZ(68px)}.face-top[data-v-f6d59944]{transform:rotateX(90deg) translateZ(68px)}.orbit[data-v-f6d59944]{position:absolute;width:58px;height:58px;border-radius:12px;border:1px solid rgba(225,231,243,.24);background:#ffffff14;display:grid;place-items:center;font-size:26px;color:#edf2ff}.o1[data-v-f6d59944]{left:56px;top:34px}.o2[data-v-f6d59944]{right:44px;top:40px}.o3[data-v-f6d59944]{left:56px;bottom:24px}.o4[data-v-f6d59944]{right:72px;bottom:12px;width:78px;height:78px;border-radius:50%}.form-wrap[data-v-f6d59944]{display:grid;place-items:center;background:#fff}.login-form[data-v-f6d59944]{width:min(380px,88%);display:grid;gap:16px}.login-form h2[data-v-f6d59944]{text-align:center;margin:0 0 18px;font-size:44px;color:#333845}.login-input[data-v-f6d59944]{height:48px;border:1px solid #343844;border-radius:4px;padding:0 14px;font-size:15px}.login-btn[data-v-f6d59944]{margin-top:4px;height:48px;border:0;border-radius:4px;background:#333640;color:#fff;font-size:34px;cursor:pointer}.login-btn[data-v-f6d59944]:disabled{opacity:.7;cursor:not-allowed}.error[data-v-f6d59944]{margin:0;color:#e45757;font-size:14px}.secure[data-v-f6d59944]{margin-top:12px;display:flex;align-items:center;gap:12px;color:#949daa;font-size:26px}.secure span[data-v-f6d59944]{flex:1;height:1px;background:#e0e4eb}@keyframes float-f6d59944{0%,to{transform:rotateY(-22deg) rotateX(8deg) translateY(0)}50%{transform:rotateY(-20deg) rotateX(9deg) translateY(-8px)}}@media (max-width: 1320px){.hero h1[data-v-f6d59944]{font-size:44px}.hero p[data-v-f6d59944]{font-size:14px}.login-form h2[data-v-f6d59944]{font-size:32px}.login-btn[data-v-f6d59944]{font-size:16px}.secure[data-v-f6d59944]{font-size:14px}}@media (max-width: 980px){.login-shell[data-v-f6d59944]{grid-template-columns:1fr}.hero[data-v-f6d59944]{min-height:320px}.hero-content[data-v-f6d59944]{margin:40px auto;text-align:center}.cube-wrap[data-v-f6d59944]{transform:scale(.84);margin-top:34px}.form-wrap[data-v-f6d59944]{padding:22px 0 36px}}.shell[data-v-e6b0a6d4]{--sidebar-width: 224px;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--jr-bg);transition:grid-template-columns .22s ease}.shell.collapsed[data-v-e6b0a6d4]{--sidebar-width: 68px}.sidebar[data-v-e6b0a6d4]{background:var(--jr-sidebar);color:#fff;border-right:1px solid rgba(148,163,184,.12);display:grid;grid-template-rows:auto 1fr;box-shadow:8px 0 28px #0f172a1f}.sidebar.collapsed[data-v-e6b0a6d4]{width:var(--sidebar-width)}.brand-wrap[data-v-e6b0a6d4]{text-align:center;padding:20px 12px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.avatar[data-v-e6b0a6d4]{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;border:1px solid rgba(148,163,184,.22);overflow:hidden;background:radial-gradient(circle at 30% 30%,#2a3042,#101521 62%,#04070e)}.avatar img[data-v-e6b0a6d4]{width:100%;height:100%;object-fit:cover}.brand-wrap h1[data-v-e6b0a6d4]{margin:0;font-size:24px;line-height:1.1;font-weight:700;letter-spacing:.4px}.brand-wrap p[data-v-e6b0a6d4]{margin:6px 0 0;font-size:12px;color:#e2e8f0b8}.menu[data-v-e6b0a6d4]{padding:0}.menu-item[data-v-e6b0a6d4],.group-title[data-v-e6b0a6d4],.submenu-item[data-v-e6b0a6d4]{width:100%;border:none;background:transparent;color:#c7cedb;text-align:left;cursor:pointer;font-size:13px;white-space:nowrap}.menu-item[data-v-e6b0a6d4],.group-title[data-v-e6b0a6d4]{height:46px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.menu-item[data-v-e6b0a6d4]{gap:10px}.menu-label[data-v-e6b0a6d4]{display:inline-flex;align-items:center}.group-left[data-v-e6b0a6d4]{display:inline-flex;align-items:center;gap:12px}.menu-item.active[data-v-e6b0a6d4],.group-title.active[data-v-e6b0a6d4],.submenu-item.active[data-v-e6b0a6d4]{background:#ffffff14;color:#fff}.menu-glyph[data-v-e6b0a6d4]{font-size:16px;color:#94a3b8;width:20px;text-align:center}.arrow[data-v-e6b0a6d4]{color:#7f8794;font-size:12px;transition:transform .2s ease}.arrow.open[data-v-e6b0a6d4]{transform:rotate(180deg)}.submenu[data-v-e6b0a6d4]{display:grid;border-top:1px solid rgba(255,255,255,.05)}.submenu-item[data-v-e6b0a6d4]{padding:0 52px;height:42px;display:flex;align-items:center;font-size:13px;color:#cbd5e1}.main-wrap[data-v-e6b0a6d4]{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr)}.topbar[data-v-e6b0a6d4]{background:#fff;border-bottom:1px solid var(--jr-line);display:flex;justify-content:space-between;align-items:center;padding:0 18px 0 20px;min-width:0}.top-left[data-v-e6b0a6d4],.top-right[data-v-e6b0a6d4]{display:flex;align-items:center;gap:14px}.collapse-btn[data-v-e6b0a6d4]{border:1px solid var(--jr-line);width:36px;height:36px;border-radius:10px;background:var(--jr-panel-soft);color:var(--jr-muted);cursor:pointer;font-size:13px}.title-wrap[data-v-e6b0a6d4]{display:inline-flex;align-items:center;gap:4px;color:var(--jr-text)}.title[data-v-e6b0a6d4]{font-size:16px;font-weight:700;letter-spacing:.2px}.expire[data-v-e6b0a6d4]{color:var(--jr-text-soft);font-size:13px}.expire.success[data-v-e6b0a6d4]{color:#0f766e}.expire.warn[data-v-e6b0a6d4]{color:#b45309}.expire.danger[data-v-e6b0a6d4]{color:#b91c1c}.expire.muted[data-v-e6b0a6d4]{color:var(--jr-text-soft)}.user-btn[data-v-e6b0a6d4]{border:none;background:transparent;color:var(--jr-text-soft);cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.content[data-v-e6b0a6d4]{padding:16px;min-width:0;min-height:0}@media (max-width: 900px){.shell[data-v-e6b0a6d4]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar[data-v-e6b0a6d4]{width:100%;max-height:45vh;overflow:auto}.main-wrap[data-v-e6b0a6d4]{grid-template-rows:auto 1fr}.topbar[data-v-e6b0a6d4]{padding:10px 12px;display:grid;gap:8px}.top-right[data-v-e6b0a6d4]{justify-content:space-between}}:root{--jr-bg: #f3f6fa;--jr-bg-soft: #f8fafc;--jr-panel: #ffffff;--jr-panel-soft: #f6f9fc;--jr-line: #d9e2ec;--jr-line-strong: #c8d4e2;--jr-text: #1f2937;--jr-text-soft: #475569;--jr-muted: #64748b;--jr-muted-soft: #94a3b8;--jr-sidebar: #0f172a;--jr-sidebar-active: #1e293b;--jr-primary: #2563eb;--jr-primary-strong: #1d4ed8;--jr-primary-soft: #eff6ff;--jr-success: #059669;--jr-success-soft: #ecfdf5;--jr-warning: #d97706;--jr-warning-soft: #fff7ed;--jr-danger: #dc2626;--jr-danger-soft: #fef2f2;--jr-dark-btn: #111827;--jr-shadow-sm: 0 10px 28px rgba(15, 23, 42, .06);--jr-shadow-md: 0 18px 36px rgba(15, 23, 42, .08);--jr-shadow-lg: 0 28px 64px rgba(15, 23, 42, .18);--jr-radius-sm: 8px;--jr-radius-md: 12px;--jr-radius-lg: 16px;--jr-control-height: 34px}@font-face{font-family:element-icons;src:url(/assets/fonts/element-icons.woff) format("woff"),url(/assets/fonts/element-icons.ttf) format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--jr-bg);color:var(--jr-text);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.iconfont{font-family:element-icons!important;font-style:normal;font-weight:400;line-height:1}.jr-page{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.jr-page>*{min-width:0}.jr-page.jr-table-page{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 84px);height:calc(100dvh - 84px);min-height:calc(100vh - 84px);min-height:calc(100dvh - 84px);overflow:hidden}.jr-page.jr-table-page .table-wrap{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto}.jr-page.jr-table-page .table-wrap .jr-scroll-x{min-height:0;overflow:auto;display:flex;flex-direction:column}.jr-page.jr-table-page .table-wrap .jr-scroll-x:after{content:"";flex:1 1 auto;min-height:0;border-top:1px solid #e0e6ef;background:#fff}.jr-page.jr-table-page .table-wrap .jr-table{height:auto;min-height:0}.jr-table-page .table-wrap{padding:0 14px 12px}.jr-table-page .grow{flex:1 1 240px;min-width:0}.jr-table-page .wide{min-width:220px;width:100%}.jr-table-page .toolbar-actions{align-items:center}.jr-table-page .toolbar-note{flex:1 1 320px;min-width:220px;margin-left:auto;color:var(--jr-muted);font-size:12px;line-height:1.6}.jr-table-page .goto{min-width:60px;width:60px}.jr-table-page .row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.jr-table-page .table-wrap.loading .jr-table th,.jr-table-page .table-wrap.loading .jr-table td{color:#bfc7d3}.loading-dot{width:12px;height:12px;border:2px solid #bdd4f5;border-top-color:#409eff;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:-2px;animation:spin 1s linear infinite}.flash-msg{position:fixed;top:86px;right:22px;z-index:75;max-width:min(460px,calc(100vw - 34px));padding:9px 13px;border-radius:8px;font-size:12px;line-height:1.5;color:#ecf6ff;background:#112134e6;border:1px solid rgba(139,181,219,.45);box-shadow:0 10px 30px #0a142338;pointer-events:none}.flash-msg.info{background:#103057e6;border-color:#65acef8c}.flash-msg.error{background:#571717eb;border-color:#f174748c}.flash-msg-enter-active,.flash-msg-leave-active{transition:opacity .18s ease,transform .18s ease}.flash-msg-enter-from,.flash-msg-leave-to{opacity:0;transform:translateY(-4px)}.jr-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;display:grid;place-items:center;z-index:120;padding:20px}.jr-modal-shell{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:hidden;background:#fff;border-radius:var(--jr-radius-lg);border:1px solid var(--jr-line);box-shadow:var(--jr-shadow-lg);display:grid;grid-template-rows:auto minmax(0,1fr)}.jr-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--jr-line)}.jr-modal-close{border:none;width:32px;height:32px;border-radius:10px;background:var(--jr-panel-soft);color:var(--jr-muted);cursor:pointer;font-size:18px}.jr-modal-body{padding:20px;overflow:auto}.jr-modal-msg{margin:0;color:var(--jr-text-soft);font-size:13px;line-height:1.6}.jr-modal-msg.error{color:#d35f5f}.jr-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-bottom:12px;color:var(--jr-text-soft);font-size:13px}.jr-events-title{margin:10px 0 8px;color:#3e4a61;font-weight:600}.jr-events-list{margin:0;padding-left:18px;max-height:220px;overflow:auto}.jr-events-list li{margin:6px 0;color:#4d5a70;font-size:13px}.jr-event-time{margin-left:8px;color:#8893a7}@keyframes spin{to{transform:rotate(360deg)}}.jr-panel{background:var(--jr-panel);border:1px solid var(--jr-line);border-radius:var(--jr-radius-md);box-shadow:var(--jr-shadow-sm)}.jr-toolbar{background:var(--jr-panel-soft);border:1px solid var(--jr-line);border-radius:var(--jr-radius-md);padding:14px;width:100%;min-width:0}.jr-toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.jr-toolbar-row+.jr-toolbar-row{margin-top:8px}.jr-field{display:inline-flex;align-items:center;gap:8px;color:var(--jr-text-soft);font-size:13px}.jr-field label{font-size:13px;font-weight:600;color:var(--jr-text-soft);white-space:nowrap}.jr-input,.jr-select{height:var(--jr-control-height);min-width:190px;border:1px solid var(--jr-line-strong);border-radius:10px;padding:0 12px;color:var(--jr-text);background:#fff;outline:none;font-size:13px;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.jr-input::placeholder{color:#a0adbd}.jr-input:focus,.jr-select:focus{border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb1a}.jr-select{padding-right:32px}.jr-btn{height:var(--jr-control-height);border-radius:10px;border:1px solid var(--jr-line-strong);padding:0 14px;color:var(--jr-text-soft);background:#fff;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.jr-btn:hover{box-shadow:0 6px 16px #0f172a0f}.jr-btn:not(.jr-btn-dark):not(.jr-btn-warning):not(.jr-btn-danger):not(.jr-btn-success):not(.jr-btn-black):hover{border-color:#afbdd0;background:#fbfdff}.jr-btn-dark{background:var(--jr-dark-btn);border-color:var(--jr-dark-btn);color:#fff}.jr-btn-dark:hover{border-color:#232732;background:#232732}.jr-btn-warning{background:var(--jr-warning);border-color:var(--jr-warning);color:#fff}.jr-btn-danger{background:var(--jr-danger);border-color:var(--jr-danger);color:#fff}.jr-btn-success{background:var(--jr-success);border-color:var(--jr-success);color:#fff}.jr-btn-black{background:#0a0b10;border-color:#0a0b10;color:#fff}.jr-btn.disabled,.jr-btn:disabled{color:#a6afbd;border-color:#e2e8f0;background:#f8fafc;cursor:not-allowed;box-shadow:none}.jr-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid;padding:5px 10px;font-size:12px;line-height:1.2}.jr-chip.success{color:var(--jr-success);border-color:#b7e4d2;background:var(--jr-success-soft)}.jr-chip.info{color:var(--jr-primary);border-color:#bfd4fb;background:var(--jr-primary-soft)}.jr-chip.warn{color:var(--jr-warning);border-color:#f1c891;background:var(--jr-warning-soft)}.jr-chip.danger{color:var(--jr-danger);border-color:#f4b9b9;background:var(--jr-danger-soft)}.jr-chip.muted{color:var(--jr-muted);border-color:#d6dee8;background:#f6f8fb}.jr-tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;line-height:1.2;font-weight:600}.jr-tag.success{color:var(--jr-success);border:1px solid #b7e4d2;background:var(--jr-success-soft)}.jr-tag.gray{color:var(--jr-muted);border:1px solid #dde5ef;background:#f6f8fc}.jr-tag.warn{color:var(--jr-warning);border:1px solid #f1d0a5;background:var(--jr-warning-soft)}.jr-tag.danger{color:var(--jr-danger);border:1px solid #f3c1c1;background:var(--jr-danger-soft)}.jr-scroll-x{overflow-x:auto}.jr-table{width:100%;border-collapse:collapse;min-width:1160px;background:#fff}.jr-table thead tr{background:#f7f9fc}.jr-table th,.jr-table td{border-bottom:1px solid #e0e6ef;text-align:left;padding:12px 10px;font-size:13px;line-height:1.5;color:var(--jr-text-soft);vertical-align:middle}.jr-table th{font-weight:600;color:#526072}.jr-table .empty{text-align:center;color:#959eac;padding:28px 10px}.jr-op-link{border:none;background:none;color:var(--jr-primary);cursor:pointer;padding:0;font-size:13px;font-weight:600}.jr-op-link.warn{color:#e6a23c}.jr-op-link.danger{color:#f56c6c}.jr-op-link.muted{color:#c0c4cc;cursor:not-allowed}.jr-pagination{display:flex;justify-content:flex-end;gap:10px;align-items:center;color:var(--jr-text-soft);font-size:13px;padding:14px 0 2px}.jr-page-size{min-width:100px}.jr-page-index{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:10px;border:1px solid #b8cef7;background:var(--jr-primary);color:#fff;font-weight:600}.jr-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.jr-summary-card{position:relative;overflow:hidden;min-height:118px;padding:18px 20px;display:grid;align-content:start;gap:8px;border-radius:var(--jr-radius-lg);border:1px solid var(--jr-line);box-shadow:var(--jr-shadow-md)}.jr-summary-card:after{content:"";position:absolute;right:-26px;top:-26px;width:96px;height:96px;border-radius:50%;background:#ffffff75}.jr-summary-card .summary-label,.jr-summary-card .label{position:relative;z-index:1;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#1e293bb8}.jr-summary-card .summary-value,.jr-summary-card .value{position:relative;z-index:1;font-size:32px;font-weight:700;line-height:1.1;color:#172033}.jr-summary-card .summary-note,.jr-summary-card .note{position:relative;z-index:1;font-size:12px;line-height:1.55;color:#475569e0}.jr-summary-card.ink{background:linear-gradient(180deg,#fff,#f6f8fb)}.jr-summary-card.blue{background:linear-gradient(180deg,#eef5ff,#dceafd)}.jr-summary-card.green{background:linear-gradient(180deg,#edf9f2,#dcf3e8)}.jr-summary-card.amber{background:linear-gradient(180deg,#fff7ea,#ffedd2)}.jr-summary-card .summary-value.mono,.jr-summary-card .value.mono{font-size:24px}@media (max-width: 1320px){.jr-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jr-input,.jr-select,.jr-btn,.jr-field,.jr-field label,.jr-chip,.jr-table th,.jr-table td,.jr-pagination,.jr-op-link,.jr-tag{font-size:13px}.jr-summary-card{min-height:104px;padding:14px;border-radius:var(--jr-radius-md)}.jr-summary-card .summary-value,.jr-summary-card .value{font-size:28px}.jr-table-page .wide{min-width:180px}}@media (max-width: 900px){.jr-summary-grid{grid-template-columns:1fr}.jr-input,.jr-select{min-width:140px}.jr-table-page .toolbar-note{margin-left:0}.jr-detail-grid{grid-template-columns:1fr}.jr-table-page .row-actions{align-items:flex-start}}
