.login-page[data-v-e70b1d27]{background:var(--bg);min-height:100vh;padding:var(--space-16);justify-content:center;align-items:center;display:flex}.login-card[data-v-e70b1d27]{width:100%;max-width:360px;padding:var(--space-24)}.login-title[data-v-e70b1d27]{text-align:center}.login-subtitle[data-v-e70b1d27]{margin:var(--space-8) 0 var(--space-24);color:var(--text-sub);text-align:center;font-size:14px}.form[data-v-e70b1d27]{gap:var(--space-12);flex-direction:column;display:flex}.login-error[data-v-e70b1d27]{padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, white);font-size:14px;line-height:1.5}@media (width<=767px){.login-page[data-v-e70b1d27]{padding:var(--space-12)}.login-card[data-v-e70b1d27]{max-width:92%}}:root{--primary:#8b7cf6;--primary-hover:#7a6af0;--primary-light:#b3a7ff;--success:#52c41a;--warning:#faad14;--danger:#ff4d4f;--info:#1677ff;--bg:#f5f6fa;--card:#fff;--disabled-bg:#f2f3f5;--mask:#00000073;--text:#1f2329;--text-sub:#86909c;--text-weak:#c0c4cc;--border:#e5e6eb;--border-weak:#f0f0f0;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--shadow-sm:0 2px 6px #0000000d;--shadow-md:0 6px 16px #00000014;--shadow-lg:0 10px 25px #0000001f;--header-height:64px;--sidebar-width:280px}html,body,#app{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px}.h1{font-size:20px;font-weight:600}.h2{font-size:18px;font-weight:600}.text{color:var(--text);font-size:14px}.text-sub{color:var(--text-sub);font-size:12px}@media (width<=767px){:root{--header-height:56px}}*,:before,:after{box-sizing:border-box}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}input,button,textarea,select{font:inherit;outline:none}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}*{-webkit-tap-highlight-color:transparent}body{color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 15%, transparent);border-radius:10px}::-webkit-scrollbar-track{background:0 0}.base-button[data-v-bb190ebc]{border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;width:auto;font-size:14px;transition:background .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.is-sm[data-v-bb190ebc]{min-height:32px;padding:0 var(--space-12)}.is-md[data-v-bb190ebc]{min-height:40px;padding:0 var(--space-16)}.is-lg[data-v-bb190ebc]{min-height:48px;padding:0 var(--space-24)}.is-block[data-v-bb190ebc]{width:100%}.is-primary[data-v-bb190ebc]{background:var(--primary);color:#fff}.is-primary[data-v-bb190ebc]:hover:not(:disabled){background:var(--primary-hover)}.is-secondary[data-v-bb190ebc]{border-color:var(--border);background:var(--card);color:var(--text)}.is-secondary[data-v-bb190ebc]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.is-success[data-v-bb190ebc]{background:var(--success);color:#fff}.is-warning[data-v-bb190ebc]{background:var(--warning);color:#fff}.is-danger[data-v-bb190ebc]{background:var(--danger);color:#fff}.is-text[data-v-bb190ebc]{padding-right:var(--space-8);padding-left:var(--space-8);color:var(--primary);background:0 0}.base-button[data-v-bb190ebc]:disabled{opacity:.55;cursor:not-allowed}@media (width<=767px){.is-sm[data-v-bb190ebc],.is-md[data-v-bb190ebc]{min-height:44px}}.base-input[data-v-bdc8463a]{width:100%;height:40px;padding:0 var(--space-12);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--text);outline:none;font-size:14px;transition:border-color .2s,box-shadow .2s}.base-input[data-v-bdc8463a]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 15%, transparent)}.base-input[data-v-bdc8463a]:disabled{background:var(--disabled-bg);color:var(--text-weak)}.base-card[data-v-278057ce]{border:1px solid var(--border-weak);border-radius:var(--radius-lg);background:var(--card);width:100%;box-shadow:var(--shadow-sm);padding:var(--space-16)}.is-form[data-v-278057ce]{max-width:420px}.is-content[data-v-278057ce]{max-width:none}.is-stat[data-v-278057ce]{min-height:96px}.is-resource[data-v-278057ce]{min-height:320px}.is-modal[data-v-278057ce]{max-width:480px;box-shadow:var(--shadow-lg)}.is-interactive[data-v-278057ce]{transition:transform .2s,box-shadow .2s}.is-interactive[data-v-278057ce]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.modal-mask[data-v-9c07d018]{z-index:1000;padding:var(--space-16);background:var(--mask);place-items:center;display:grid;position:fixed;inset:0}.modal-card[data-v-9c07d018]{flex-direction:column;max-width:480px;max-height:calc(100vh - 48px);display:flex}.modal-header[data-v-9c07d018]{justify-content:space-between;align-items:center;gap:var(--space-16);display:flex}.modal-header h3[data-v-9c07d018]{font-size:18px;font-weight:600}.modal-close[data-v-9c07d018]{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-sub);font-size:24px;line-height:1}.modal-close[data-v-9c07d018]:hover{background:var(--disabled-bg)}.modal-body[data-v-9c07d018]{margin-top:var(--space-24);padding-right:4px;overflow-y:auto}.modal-footer[data-v-9c07d018]{justify-content:flex-end;gap:var(--space-12);margin-top:var(--space-24);display:flex}@media (width<=767px){.modal-card[data-v-9c07d018]{max-width:92vw}}.status-tag[data-v-a2c096e3]{min-height:26px;padding:0 var(--space-8);border-radius:999px;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.is-default[data-v-a2c096e3]{background:var(--disabled-bg);color:var(--text-sub)}.is-primary[data-v-a2c096e3]{background:color-mix(in srgb, var(--primary) 14%, white);color:var(--primary-hover)}.is-success[data-v-a2c096e3]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 78%, black)}.is-warning[data-v-a2c096e3]{background:color-mix(in srgb, var(--warning) 15%, white);color:color-mix(in srgb, var(--warning) 70%, black)}.is-danger[data-v-a2c096e3]{background:color-mix(in srgb, var(--danger) 12%, white);color:var(--danger)}.empty-state[data-v-e9ab0618]{justify-items:center;gap:var(--space-8);padding:var(--space-24);color:var(--text-sub);text-align:center;display:grid}.empty-icon[data-v-e9ab0618]{background:var(--disabled-bg);border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.empty-state strong[data-v-e9ab0618]{color:var(--text);font-size:16px}.empty-state p[data-v-e9ab0618]{line-height:1.6}.empty-actions[data-v-e9ab0618]{margin-top:var(--space-8)}.page-layout[data-v-febcd20a]{width:100%;min-height:100%}.page-header[data-v-febcd20a]{justify-content:space-between;align-items:flex-start;gap:var(--space-16);margin-bottom:var(--space-24);display:flex}.page-header h1[data-v-febcd20a]{font-size:20px;font-weight:600}.page-header p[data-v-febcd20a]{margin-top:var(--space-8);color:var(--text-sub);line-height:1.5}.page-actions[data-v-febcd20a]{justify-content:flex-end;gap:var(--space-8);flex-wrap:wrap;display:flex}@media (width<=767px){.page-header[data-v-febcd20a]{margin-bottom:var(--space-16);flex-direction:column}.page-actions[data-v-febcd20a]{justify-content:flex-start;width:100%}}
