:root{--primary:#6c63ff;--primary-dark:#574fd6;--primary-light:#7c74ff;--secondary:#ff6584;--accent:#0db08a;--bg:#f4f6fb;--bg2:#eaecf5;--bg3:#e0e3ef;--card:#fff;--card-hover:#f5f6ff;--border:#d4d8ee;--text:#1e1e3a;--text-dim:#6b7080;--text-muted:#9ca3af;--radius:16px;--radius-sm:10px;--radius-xs:6px;--shadow:0 8px 32px #6c63ff1f;--shadow-sm:0 4px 16px #00000014;--transition:.35s cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s ease;--success:#0db08a;--warning:#e09000;--danger:#e84560;--info:#6c63ff;--status-pending:#e09000;--status-processing:#6c63ff;--status-completed:#0db08a;--status-failed:#e84560;--topbar-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{background:var(--bg);height:100%;color:var(--text);font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 4px 16px #6c63ff59}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-light), var(--primary));transform:translateY(-1px);box-shadow:0 6px 24px #6c63ff80}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--primary);background:#6c63ff14}.btn-danger{color:var(--danger);background:#ff658426;border:1px solid #ff65844d}.btn-danger:hover:not(:disabled){background:#ff658440}.btn-sm{padding:6px 14px;font-size:13px}.btn-icon{color:var(--text-dim);background:#0000000d;border:none;border-radius:50%;padding:8px}.btn-icon:hover{color:var(--primary);background:#6c63ff1f}.form-input,.form-select,.form-textarea{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);transition:var(--transition-fast);outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff1f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-select option{background:var(--bg);color:var(--text)}.form-textarea{resize:vertical;min-height:72px}.form-label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.form-label.required:after{content:" *";color:var(--danger)}.form-group{flex-direction:column;gap:4px;display:flex}.form-error{color:var(--danger);margin-top:4px;font-size:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);padding:24px}.card:hover{background:var(--card-hover);border-color:#6c63ff4d}.divider{background:var(--border);height:1px;margin:16px 0}.badge{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.spinner{border:2px solid #6c63ff33;border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-view{pointer-events:none;opacity:0;transition:opacity var(--transition), transform var(--transition);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden;transform:translate(60px)}.page-view.active{opacity:1;pointer-events:all;transform:translate(0)}.text-dim{color:var(--text-dim)}.text-primary{color:var(--primary-light)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.gap-2{gap:8px}.flex{align-items:center;display:flex}.flex-1{flex:1}.w-full{width:100%}.rpt-page{align-items:stretch}.rpt-layout{width:100%;height:calc(100% - var(--topbar-height));margin-top:var(--topbar-height);display:flex;overflow:hidden}.upload-panel{border-right:1px solid var(--border);background:var(--bg2);flex-direction:column;flex-shrink:0;width:380px;display:flex;overflow-y:auto}.upload-section{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px}.upload-section:last-child{border-bottom:none;flex:1}.upload-section-title{color:var(--text);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.upload-section-icon{border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.form-panel{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.form-panel-header{border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;align-items:center;gap:14px;padding:18px 32px;display:flex}.form-panel-avatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.form-panel-title{color:var(--text);font-size:16px;font-weight:700}.form-panel-subtitle{color:var(--text-dim);margin-top:3px;font-size:13px}.form-body{flex:1;padding:28px 32px;overflow-y:auto}.rpt-form{grid-template-columns:1fr 1fr;gap:18px 24px;max-width:820px;display:grid}.rpt-form-full{grid-column:1/-1}.rpt-group{flex-direction:column;gap:7px;display:flex}.rpt-label{color:var(--text-dim);font-size:13px;font-weight:500}.rpt-label .req{color:var(--danger);margin-left:2px}.rpt-input,.rpt-select,.rpt-textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#00000008;border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:all .2s}.rpt-input:focus,.rpt-select:focus,.rpt-textarea:focus{border-color:var(--primary);background:#6c63ff0a;box-shadow:0 0 0 3px #6c63ff1a}.rpt-input::placeholder,.rpt-textarea::placeholder{color:var(--text-muted)}.rpt-input-group{border-radius:10px;align-items:stretch;width:100%;transition:box-shadow .2s;display:flex}.rpt-input-group:focus-within{box-shadow:0 0 0 3px #6c63ff1a}.rpt-input-prefix{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.3px;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0000000d;border-right:1px solid #0000000f;border-radius:10px 0 0 10px;flex-shrink:0;align-items:center;padding:0 12px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.rpt-input-group:focus-within .rpt-input-prefix{border-color:var(--primary);color:var(--primary);background:#6c63ff14}.rpt-input-suffix{border-left:none!important;border-radius:0 10px 10px 0!important}.rpt-input-group:focus-within .rpt-input-suffix{box-shadow:none!important}.date-entry-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.date-entry-row .rpt-input{flex:1;min-width:0}.date-entry-sep{color:var(--text-dim);flex-shrink:0;font-size:13px}.rpt-select option{background:var(--bg);color:var(--text)}.rpt-textarea{resize:vertical;min-height:88px;line-height:1.6}.rpt-input.is-error,.rpt-select.is-error,.rpt-textarea.is-error{border-color:var(--danger);background:#ff65840d}.conclusion-wrap{border:1px solid var(--border);background:#00000008;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px;width:100%;padding:10px 14px;font-size:14px;line-height:2;transition:all .2s;display:flex}.conclusion-wrap:focus-within{border-color:var(--primary);background:#6c63ff0a;box-shadow:0 0 0 3px #6c63ff1a}.conclusion-inner{color:var(--text);text-align:center;background:0 0;border:none;border-bottom:1px solid #0003;outline:none;padding:0 4px;font-family:inherit;font-size:14px}.conclusion-inner::placeholder{color:var(--text-muted);font-size:12px}.rpt-field-err{color:var(--danger);margin-top:-4px;font-size:12px}.dp__theme_light{--dp-background-color:#fff;--dp-text-color:var(--text);--dp-hover-color:#6c63ff14;--dp-hover-text-color:var(--primary);--dp-primary-color:#6c63ff;--dp-primary-text-color:#fff;--dp-border-color:var(--border);--dp-border-color-hover:#6c63ff;--dp-border-color-focus:#6c63ff;--dp-disabled-color:#0000002e;--dp-scroll-bar-background:#f4f6fb;--dp-scroll-bar-color:#00000026;--dp-icon-color:#0006}.form-footer{border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0;align-items:center;gap:12px;padding:14px 32px 18px;display:flex}.btn-submit{background:linear-gradient(135deg, var(--secondary), #d94e69);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 32px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #ff658459}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-reset{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:12px;padding:12px 22px;font-family:inherit;font-size:15px;transition:all .2s}.btn-reset:hover:not(:disabled){border-color:var(--primary);color:var(--primary-light)}.form-tip{color:var(--text-dim);margin-left:auto;font-size:12px}@media (width<=1280px){.upload-panel{width:320px}.form-body{padding:24px 20px}.rpt-form{max-width:100%}}@media (width<=1024px){.rpt-layout{flex-direction:column;overflow-y:auto}.upload-panel{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;flex-shrink:0;width:100%;overflow-y:visible}.upload-section{flex:1;min-width:0}.upload-section:last-child{border-bottom:none;border-left:1px solid var(--border);flex:1}.form-panel{flex:none;overflow:visible}.form-body{overflow:visible}}@media (width<=720px){.rpt-form{grid-template-columns:1fr}.upload-panel{flex-direction:column}.upload-section:last-child{border-left:none;border-top:1px solid var(--border)}.form-panel-header{padding:14px 16px}.form-body{padding:18px 16px}.form-footer{flex-wrap:wrap;padding:12px 16px}.form-tip{width:100%;margin-top:4px;margin-left:0}}.topbar[data-v-d15efb05]{height:var(--topbar-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:100;background:#ffffffe6;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-logo[data-v-d15efb05]{color:var(--primary);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.logo-icon[data-v-d15efb05]{background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.topbar-right[data-v-d15efb05]{align-items:center;gap:16px;display:flex}.btn-back[data-v-d15efb05]{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:14px;display:flex}.btn-back[data-v-d15efb05]:hover{border-color:var(--primary);color:var(--primary-light);background:#6c63ff1a}.topbar-username[data-v-d15efb05]{color:var(--text-dim);font-size:14px}.topbar-admin-badge[data-v-d15efb05]{color:var(--primary-light,#9d95ff);letter-spacing:.5px;background:#6c63ff2e;border:1px solid #6c63ff4d;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700}.topbar-avatar[data-v-d15efb05]{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;cursor:pointer;width:38px;height:38px;transition:var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:15px;font-weight:700;display:flex}.topbar-avatar[data-v-d15efb05]:hover{transform:scale(1.08);box-shadow:0 4px 16px #6c63ff66}.page-enter-from{opacity:0;transform:translate(30px)}.page-enter-active{transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.page-enter-to,.page-leave-from{opacity:1;transform:translate(0)}.page-leave-active{transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.page-leave-to{opacity:0;transform:translate(-30px)}.toast-container[data-v-5581eafb]{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.toast-item[data-v-5581eafb]{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;pointer-events:all;white-space:nowrap;border-radius:12px;align-items:center;gap:8px;max-width:480px;padding:13px 22px;font-size:14px;display:inline-flex;box-shadow:0 8px 32px #0006}.toast-success[data-v-5581eafb]{border-color:#43c6ac66}.toast-error[data-v-5581eafb]{border-color:#ff658466}.toast-warning[data-v-5581eafb]{border-color:#f0a50066}.toast-info[data-v-5581eafb]{border-color:#6c63ff66}.toast-icon[data-v-5581eafb]{flex-shrink:0;font-size:15px}.toast-msg[data-v-5581eafb]{flex:1;line-height:1.4}.toast-enter-from[data-v-5581eafb]{opacity:0;transform:translateY(20px)scale(.95)}.toast-enter-active[data-v-5581eafb]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter-to[data-v-5581eafb],.toast-leave-from[data-v-5581eafb]{opacity:1;transform:translateY(0)scale(1)}.toast-leave-active[data-v-5581eafb]{transition:all .25s cubic-bezier(.4,0,.2,1)}.toast-leave-to[data-v-5581eafb]{opacity:0;transform:translateY(10px)scale(.95)}#canvas-bg{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}
