*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,sans-serif}.layout{display:flex;min-height:100vh;background:#edeef3}.sidebar{width:160px;background:#fff;border-radius:0 16px 16px 0;padding:0;display:flex;flex-direction:column;box-shadow:2px 0 12px #0000000a;position:fixed;top:0;left:0;bottom:0;z-index:100}.logo{padding:20px 16px 16px;display:flex;align-items:center;gap:8px}.logo-img{width:28px;height:28px;border-radius:6px}.logo-text{font-size:16px;font-weight:700;color:#333}nav{flex:1;padding:0 8px;overflow-y:auto}.nav-section-title{padding:14px 12px 6px;font-size:11px;font-weight:600;color:#999;letter-spacing:1px;-webkit-user-select:none;user-select:none}.nav-section-title:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:2px;border-radius:8px;color:#666;text-decoration:none;font-size:14px;transition:all .2s;position:relative}.nav-item:hover{background:#f0f1f8;color:#333}.nav-item.router-link-exact-active,.nav-item.router-link-active[href="/testing"],.nav-item.router-link-active[href="/requirements"],.nav-item.router-link-active[href="/tasks"],.nav-item.router-link-active[href="/versions"],.nav-item.router-link-active[href="/servers"],.nav-item.router-link-active[href="/project-details"],.nav-item.router-link-active[href="/external-apis"],.nav-item.router-link-active[href="/project-management"],.nav-item.router-link-active[href="/flowchart"],.nav-item.router-link-active[href="/dev-management"],.nav-item.router-link-active[href="/stage-templates"]{background:#f0f1f8;color:#5c6bc0;font-weight:500}.nav-item.router-link-exact-active:before,.nav-item.router-link-active[href="/testing"]:before,.nav-item.router-link-active[href="/requirements"]:before,.nav-item.router-link-active[href="/tasks"]:before,.nav-item.router-link-active[href="/versions"]:before,.nav-item.router-link-active[href="/servers"]:before,.nav-item.router-link-active[href="/project-details"]:before,.nav-item.router-link-active[href="/external-apis"]:before,.nav-item.router-link-active[href="/project-management"]:before,.nav-item.router-link-active[href="/flowchart"]:before,.nav-item.router-link-active[href="/dev-management"]:before,.nav-item.router-link-active[href="/stage-templates"]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:#5c6bc0;border-radius:0 2px 2px 0}.nav-icon{width:16px;height:16px;flex-shrink:0}.token-rank-nav-label{white-space:nowrap;font-size:13px}.nav-group{margin-bottom:2px}.nav-group-title{width:100%;border:none;background:transparent;cursor:pointer;font:inherit;font-size:14px;font-weight:400;color:#666;text-align:left}.nav-group-title:hover{background:#f0f1f8;color:#333}.nav-group-title.active{background:transparent;color:#666;font-weight:400}.nav-caret{width:14px;height:14px;margin-left:auto;transition:transform .2s;opacity:.55}.nav-group.open .nav-caret{transform:rotate(180deg)}.nav-sub{padding:0 0 4px}.nav-sub-item{padding-left:28px!important;font-size:13px!important;font-weight:400!important;margin-bottom:1px}.nav-sub-icon{width:14px;height:14px;flex-shrink:0;filter:grayscale(1) opacity(.55)}.nav-sub-item:hover .nav-sub-icon,.nav-sub-item.router-link-active .nav-sub-icon{filter:none;opacity:1}.nav-badge{background:#e74c3c;color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;margin-left:auto}.sidebar-bottom{padding:12px 8px;border-top:1px solid #f0f0f5}.settings-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:none;border-radius:8px;color:#666;font-size:14px;cursor:pointer;transition:all .2s}.settings-btn:hover{background:#f0f1f8;color:#333}.main-area{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:160px}.topbar{height:64px;background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:50}.breadcrumb{font-size:16px;font-weight:500;color:#333}.topbar-center{flex:1;display:flex;justify-content:flex-start;align-items:center;padding-left:24px}.topbar-right{display:flex;align-items:center;gap:16px}.user-name{font-size:14px;color:#666}.btn-logout{padding:4px 12px;font-size:12px;color:#999;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer}.btn-logout:hover{color:#e53935;border-color:#e53935}.topbar-avatar{width:28px;height:28px;border-radius:50%;cursor:pointer;image-rendering:pixelated;object-fit:cover}.avatar-grid{display:flex;flex-wrap:wrap;gap:8px}.avatar-option{width:48px;height:48px;border-radius:8px;cursor:pointer;border:2px solid transparent;image-rendering:pixelated;object-fit:cover;transition:all .15s}.avatar-option:hover{border-color:#bbb}.avatar-option.selected{border-color:#333;box-shadow:0 0 0 2px #333}.profile-input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.profile-input:focus{border-color:#5c6bc0}.btn-profile-save{background:#333;color:#fff;border:none;padding:6px 18px;border-radius:6px;cursor:pointer;font-size:13px}.btn-profile-save:hover{background:#555}.log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.log-modal{background:#fff;border-radius:12px;width:720px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.log-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f5}.log-header h3{font-size:16px;font-weight:600;color:#333}.log-close{background:none;border:none;font-size:22px;color:#999;cursor:pointer;line-height:1}.log-close:hover{color:#333}.log-body{flex:1;overflow-y:auto;padding:0}.log-table{width:100%;border-collapse:collapse;font-size:13px}.log-table th{background:#fafafa;padding:10px 12px;text-align:left;color:#888;font-weight:500;border-bottom:1px solid #f0f0f5;position:sticky;top:0}.log-table td{padding:10px 12px;border-bottom:1px solid #f5f5f5;color:#555}.log-table tr:hover td{background:#fafbff}.nav-item.router-link-active[href="/canvas"]{background:#f0f1f8;color:#5c6bc0;font-weight:500}.nav-item.router-link-active[href="/canvas"]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:#5c6bc0;border-radius:0 2px 2px 0}.content{flex:1;padding:0 16px 16px;overflow-y:auto}.login-page[data-v-3724df31]{display:flex;height:100vh;background:#f0f0f5}.login-left[data-v-3724df31]{flex:1;background:#f5f5fa;display:flex;flex-direction:column;padding:30px 40px}.left-header[data-v-3724df31]{display:flex;justify-content:space-between;align-items:center}.brand[data-v-3724df31]{display:flex;align-items:center;gap:8px}.brand-logo[data-v-3724df31]{width:32px;height:32px;border-radius:8px}.brand-name[data-v-3724df31]{font-size:18px;font-weight:700;color:#333}.btn-toggle[data-v-3724df31]{padding:6px 20px;border:1px solid #5c6bc0;color:#5c6bc0;background:transparent;border-radius:6px;cursor:pointer;font-size:13px}.btn-toggle[data-v-3724df31]:hover{background:#5c6bc0;color:#fff}.form-area[data-v-3724df31]{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;margin:0 auto;width:100%}.form-area h2[data-v-3724df31]{font-size:26px;font-weight:600;color:#333;margin-bottom:30px}.form-box[data-v-3724df31]{display:flex;flex-direction:column;gap:16px}.form-field[data-v-3724df31]{position:relative}.form-field input[data-v-3724df31]{width:100%;padding:12px 14px;border:none;border-radius:8px;background:#fff;font-size:14px;outline:none;box-shadow:0 1px 4px #0000000a}.form-field input[data-v-3724df31]:focus{box-shadow:0 0 0 2px #5c6bc04d}.eye[data-v-3724df31]{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.btn-submit[data-v-3724df31]{width:100%;padding:12px;background:#5c6bc0;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;letter-spacing:4px;margin-top:8px}.btn-submit[data-v-3724df31]:hover{background:#4a5ab9}.btn-submit[data-v-3724df31]:disabled{opacity:.6;cursor:not-allowed}.remember-field[data-v-3724df31]{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-field input[data-v-3724df31]{width:14px;height:14px;cursor:pointer}.hint[data-v-3724df31]{color:#999;font-size:12px;text-align:center;margin-top:8px}.err[data-v-3724df31]{color:#e53935;font-size:13px;text-align:center;margin-top:12px}.success[data-v-3724df31]{color:#43a047;font-size:13px;text-align:center;margin-top:12px}.login-right[data-v-3724df31]{flex:1;background:linear-gradient(135deg,#5c6bc0,#7986cb);display:flex;align-items:center;justify-content:center}.right-content[data-v-3724df31]{text-align:center;color:#fff}.right-logo[data-v-3724df31]{width:80px;height:80px;border-radius:20px;margin-bottom:20px;padding:6px;background:#fff}.right-content h1[data-v-3724df31]{font-size:36px;font-weight:700;margin-bottom:10px;letter-spacing:4px}.right-content p[data-v-3724df31]{font-size:16px;opacity:.8;letter-spacing:2px}@media (max-width: 768px){.login-right[data-v-3724df31]{display:none}}.home[data-v-a5ad965e]{padding:20px}.loading[data-v-a5ad965e]{text-align:center;padding:80px 0;color:#999}.kpi-grid[data-v-a5ad965e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.kpi-card[data-v-a5ad965e]{background:#fff;border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s}.kpi-card[data-v-a5ad965e]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.kpi-icon[data-v-a5ad965e]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon svg[data-v-a5ad965e]{width:22px;height:22px}.kpi-value[data-v-a5ad965e]{font-size:26px;font-weight:700;color:#333;line-height:1.2}.kpi-label[data-v-a5ad965e]{font-size:13px;color:#888;margin-top:2px}.chart-grid[data-v-a5ad965e]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.chart-card[data-v-a5ad965e]{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 2px 8px #0000000a}.chart-title[data-v-a5ad965e]{font-size:15px;font-weight:600;color:#333;margin-bottom:8px;padding-left:8px;border-left:3px solid #5c6bc0}.chart[data-v-a5ad965e]{height:240px}.ops-log[data-v-a5ad965e]{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.ops-log[data-v-a5ad965e]::-webkit-scrollbar{width:6px}.ops-log[data-v-a5ad965e]::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.ops-shortcuts[data-v-a5ad965e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.shortcut-btn[data-v-a5ad965e]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:8px;background:#f8f9fc;color:#5c6bc0;text-decoration:none;font-size:13px;transition:all .2s}.shortcut-btn[data-v-a5ad965e]:hover{background:#eef0fa;transform:translateY(-1px)}.shortcut-btn svg[data-v-a5ad965e]{width:24px;height:24px}.bottom-grid[data-v-a5ad965e]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.card[data-v-a5ad965e]{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 2px 8px #0000000a}.card-header[data-v-a5ad965e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f0f0f5}.card-title[data-v-a5ad965e]{font-size:15px;font-weight:600;color:#333}.card-more[data-v-a5ad965e]{font-size:12px;color:#5c6bc0;text-decoration:none}.card-more[data-v-a5ad965e]:hover{text-decoration:underline}.card-hint[data-v-a5ad965e]{font-size:12px;color:#bbb}.log-list[data-v-a5ad965e],.task-list[data-v-a5ad965e],.req-list[data-v-a5ad965e]{display:flex;flex-direction:column;gap:8px}.log-item[data-v-a5ad965e],.task-item[data-v-a5ad965e],.req-item[data-v-a5ad965e]{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:6px;font-size:13px;transition:background .15s}.log-item[data-v-a5ad965e]:hover,.task-item[data-v-a5ad965e]:hover,.req-item[data-v-a5ad965e]:hover{background:#f8f9fc}.log-user[data-v-a5ad965e]{color:#5c6bc0;font-weight:500;min-width:60px}.log-action[data-v-a5ad965e]{color:#333;min-width:70px}.log-target[data-v-a5ad965e]{color:#888;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-time[data-v-a5ad965e]{color:#aaa;font-size:12px}.task-status[data-v-a5ad965e]{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.st-未开始[data-v-a5ad965e]{background:#f0f1f8;color:#5c6bc0}.st-进行中[data-v-a5ad965e]{background:#e8f5e9;color:#26a69a}.st-已完成[data-v-a5ad965e]{background:#fff8e1;color:#ffca28}.task-name[data-v-a5ad965e]{flex:1;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-end[data-v-a5ad965e]{color:#aaa;font-size:12px;flex-shrink:0}.req-item[data-v-a5ad965e]{cursor:pointer}.req-no[data-v-a5ad965e]{color:#5c6bc0;font-size:12px;font-weight:500;min-width:90px}.req-title[data-v-a5ad965e]{flex:1;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-pri[data-v-a5ad965e]{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.pri-P0[data-v-a5ad965e]{background:#fdecea;color:#e74c3c}.pri-P1[data-v-a5ad965e]{background:#fff3e0;color:#ff9800}.pri-P2[data-v-a5ad965e]{background:#fff8e1;color:#ffca28}.pri-P3[data-v-a5ad965e]{background:#f0f1f8;color:#90a4ae}.req-status[data-v-a5ad965e]{font-size:12px;color:#888;min-width:60px;text-align:right}.welcome[data-v-a5ad965e]{background:linear-gradient(135deg,#5c6bc0,#7986cb);border-radius:12px;padding:24px 28px;display:flex;align-items:center;gap:16px;color:#fff;margin-bottom:18px;box-shadow:0 4px 12px #5c6bc040}.welcome-avatar[data-v-a5ad965e]{width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.welcome-hi[data-v-a5ad965e]{font-size:20px;font-weight:600;margin-bottom:4px}.welcome-sub[data-v-a5ad965e]{font-size:13px;opacity:.9}.empty[data-v-a5ad965e]{text-align:center;color:#bbb;font-size:13px;padding:24px 0}@media (max-width: 900px){.chart-grid[data-v-a5ad965e],.bottom-grid[data-v-a5ad965e],.risk-grid[data-v-a5ad965e]{grid-template-columns:1fr}}.section-card[data-v-a5ad965e]{background:var(--card-bg, #fff);border:1px solid var(--border, #eee);border-radius:10px;padding:16px 18px;margin-bottom:16px}.section-header[data-v-a5ad965e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title[data-v-a5ad965e]{font-size:15px;font-weight:600;color:var(--text, #333)}.section-more[data-v-a5ad965e]{font-size:12px;color:#888;text-decoration:none}.section-more[data-v-a5ad965e]:hover{color:#333}.project-scroll[data-v-a5ad965e]{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.project-card[data-v-a5ad965e]{min-width:200px;padding:12px;border-radius:8px;background:#fafafa;border:1px solid #eee;border-left:3px solid #43a047}.project-card.ps-warning[data-v-a5ad965e]{border-left-color:#fb8c00}.project-card.ps-delayed[data-v-a5ad965e]{border-left-color:#e53935;background:#fff5f5}.project-top[data-v-a5ad965e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.project-name[data-v-a5ad965e]{font-size:13px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.stage-tag[data-v-a5ad965e]{font-size:11px;padding:2px 6px;border-radius:4px;background:#e3f2fd;color:#1976d2}.progress-bar[data-v-a5ad965e]{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-a5ad965e]{height:100%;background:linear-gradient(90deg,#66bb6a,#43a047);transition:width .3s}.project-bottom[data-v-a5ad965e]{display:flex;justify-content:space-between;font-size:11px;color:#888}.delivery-date[data-v-a5ad965e]{color:#666}.member-table[data-v-a5ad965e]{width:100%;border-collapse:collapse;font-size:13px}.member-table th[data-v-a5ad965e]{text-align:left;padding:8px 12px;background:#f5f5f5;color:#666;font-weight:500;font-size:12px;border-bottom:1px solid #e0e0e0}.member-table td[data-v-a5ad965e]{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.member-table tr.ms-fighting[data-v-a5ad965e]{background:#f1f8e9}.member-table tr.ms-struggling[data-v-a5ad965e]{background:#fffde7}.member-table tr.ms-crashing[data-v-a5ad965e]{background:#ffebee}.th-sub[data-v-a5ad965e]{font-size:11px;font-weight:400;color:#999}.member-cell[data-v-a5ad965e]{display:flex;align-items:center;gap:8px}.member-avatar[data-v-a5ad965e]{width:24px;height:24px;border-radius:4px;image-rendering:pixelated;object-fit:cover}.bug-count[data-v-a5ad965e]{display:inline-block;background:#e53935;color:#fff;font-size:11px;padding:1px 6px;border-radius:10px}.completion-bar[data-v-a5ad965e]{position:relative;width:80px;height:16px;background:#e0e0e0;border-radius:8px;overflow:hidden}.completion-fill[data-v-a5ad965e]{position:absolute;left:0;top:0;height:100%;background:#66bb6a;transition:width .3s}.completion-text[data-v-a5ad965e]{position:relative;z-index:1;font-size:11px;color:#333;line-height:16px;text-align:center;display:block}.status-tag[data-v-a5ad965e]{font-size:11px;padding:2px 8px;border-radius:10px}.status-tag.st-fighting[data-v-a5ad965e]{background:#e8f5e9;color:#2e7d32}.status-tag.st-normal[data-v-a5ad965e]{background:#e3f2fd;color:#1565c0}.status-tag.st-struggling[data-v-a5ad965e]{background:#fff8e1;color:#f57c00}.status-tag.st-crashing[data-v-a5ad965e]{background:#ffebee;color:#c62828}.risk-grid[data-v-a5ad965e]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.risk-card[data-v-a5ad965e]{background:var(--card-bg, #fff);border:1px solid var(--border, #eee);border-radius:10px;padding:14px}.risk-header[data-v-a5ad965e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.risk-title[data-v-a5ad965e]{font-size:14px;font-weight:600;color:#333}.risk-count[data-v-a5ad965e]{background:#e53935;color:#fff;font-size:11px;padding:1px 8px;border-radius:10px}.risk-list[data-v-a5ad965e]{max-height:200px;overflow-y:auto}.risk-item[data-v-a5ad965e]{padding:8px 0;border-bottom:1px dashed #f0f0f0}.risk-item[data-v-a5ad965e]:last-child{border-bottom:none}.risk-item.delayed .risk-item-name[data-v-a5ad965e]{color:#c62828}.risk-item-name[data-v-a5ad965e]{font-size:12px;color:#333;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-item-meta[data-v-a5ad965e]{display:flex;justify-content:space-between;font-size:11px;color:#888}.overdue-days[data-v-a5ad965e]{color:#e53935}.sev-critical[data-v-a5ad965e]{color:#e53935;font-weight:600}.sev-serious[data-v-a5ad965e]{color:#fb8c00;font-weight:600}.sev-normal[data-v-a5ad965e],.sev-cosmetic[data-v-a5ad965e]{color:#888}.view-tabs[data-v-a5ad965e]{display:inline-flex;background:#fff;border-radius:10px;padding:4px;gap:4px;box-shadow:0 2px 8px #0000000a}.tab-item[data-v-a5ad965e]{padding:6px 24px;font-size:14px;color:#888;border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.tab-item[data-v-a5ad965e]:hover{color:#5c6bc0}.tab-item.active[data-v-a5ad965e]{background:linear-gradient(135deg,#5c6bc0,#7986cb);color:#fff;font-weight:500;box-shadow:0 2px 8px #5c6bc04d}.first-screen-grid[data-v-a5ad965e]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;align-items:stretch}.first-screen-grid .grid-col[data-v-a5ad965e]{display:flex;flex-direction:column;min-width:0;margin-bottom:0}.first-screen-grid .grid-col .section-header[data-v-a5ad965e]{margin-bottom:14px;flex-shrink:0}.first-screen-grid .grid-content[data-v-a5ad965e]{flex:1;min-height:0}.count-badge[data-v-a5ad965e]{display:inline-block;min-width:22px;height:20px;line-height:20px;padding:0 6px;margin-left:8px;background:linear-gradient(135deg,#ff7043,#ff8a65);color:#fff;border-radius:10px;font-size:12px;font-weight:600;text-align:center}.pending-list[data-v-a5ad965e]{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.pending-row-item[data-v-a5ad965e]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#fafafa;border-left:3px solid #ddd;cursor:pointer;transition:all .2s}.pending-row-item[data-v-a5ad965e]:hover{background:#f0f0f5;transform:translate(2px)}.pending-row-item.pi-leave[data-v-a5ad965e]{border-left-color:#ff9800}.pending-row-item.pi-task_link[data-v-a5ad965e]{border-left-color:#5c6bc0}.pending-row-item .pending-type[data-v-a5ad965e]{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.pending-row-item .pending-row-info[data-v-a5ad965e]{flex:1;overflow:hidden}.pending-row-item .pending-row-title[data-v-a5ad965e]{font-size:13px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.pending-row-item .pending-row-meta[data-v-a5ad965e]{font-size:11px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-arrow[data-v-a5ad965e]{color:#ccc;font-size:18px;flex-shrink:0}.kpi-grid-2x3[data-v-a5ad965e]{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:14px}.kpi-grid-2x3 .kpi-card[data-v-a5ad965e]{margin-bottom:0}.ops-shortcuts-vertical[data-v-a5ad965e]{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:14px}.ops-shortcuts-vertical .shortcut-btn[data-v-a5ad965e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 8px;background:#fff;border-radius:12px;color:#555;border:1px solid #f0f0f0;box-shadow:0 2px 8px #0000000a;transition:all .2s;text-decoration:none;min-height:0}.ops-shortcuts-vertical .shortcut-btn[data-v-a5ad965e]:hover{background:linear-gradient(135deg,#eef0fa,#f5f5fa);border-color:#c5cae9;color:#5c6bc0;transform:translateY(-2px);box-shadow:0 6px 16px #5c6bc01f}.ops-shortcuts-vertical .shortcut-btn svg[data-v-a5ad965e]{width:28px;height:28px;flex-shrink:0}.ops-shortcuts-vertical .shortcut-btn span[data-v-a5ad965e]{font-size:13px;font-weight:500;text-align:center}.risk-grid-2[data-v-a5ad965e]{grid-template-columns:repeat(2,1fr)}.risk-grid-2 .risk-card[data-v-a5ad965e]{background:linear-gradient(135deg,#fff,#fafafa)}.risk-grid-2 .risk-card .risk-header[data-v-a5ad965e]{background:linear-gradient(90deg,#f5f5f5,#fafafa);margin:-14px -14px 10px;padding:10px 14px;border-radius:10px 10px 0 0}.project-card[data-v-a5ad965e]{border-left:3px solid transparent;border-image:linear-gradient(180deg,#66bb6a,#43a047) 1}.project-card.ps-warning[data-v-a5ad965e]{border-image:linear-gradient(180deg,#ffa726,#fb8c00) 1}.project-card.ps-delayed[data-v-a5ad965e]{border-image:linear-gradient(180deg,#ef5350,#e53935) 1}.status-tag.st-fighting[data-v-a5ad965e]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.status-tag.st-normal[data-v-a5ad965e]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.status-tag.st-struggling[data-v-a5ad965e]{background:linear-gradient(135deg,#fff8e1,#ffecb3);color:#f57c00}.status-tag.st-crashing[data-v-a5ad965e]{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}.modal-mask[data-v-a5ad965e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-a5ad965e]{background:#fff;border-radius:12px;width:560px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-lg[data-v-a5ad965e]{width:720px}.modal-header[data-v-a5ad965e]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#fff,#fafafa);border-radius:12px 12px 0 0}.modal-header h3[data-v-a5ad965e]{margin:0;font-size:16px;font-weight:600;color:#333}.modal-close[data-v-a5ad965e]{font-size:24px;color:#999;cursor:pointer;line-height:1}.modal-close[data-v-a5ad965e]:hover{color:#333}.modal-body[data-v-a5ad965e]{padding:16px 20px;overflow-y:auto;flex:1}.pending-item[data-v-a5ad965e]{padding:14px;border-radius:10px;background:#fafafa;margin-bottom:10px;border-left:3px solid #ddd;transition:all .2s}.pending-item[data-v-a5ad965e]:hover{background:#f5f5f5}.pending-item.pi-leave[data-v-a5ad965e]{border-left-color:#ff9800}.pending-item.pi-task_link[data-v-a5ad965e]{border-left-color:#5c6bc0}.pending-row[data-v-a5ad965e]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.pending-type[data-v-a5ad965e]{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.type-leave[data-v-a5ad965e]{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.type-task[data-v-a5ad965e]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.pending-title[data-v-a5ad965e]{font-size:14px;font-weight:500;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-meta[data-v-a5ad965e]{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#888;margin-bottom:10px}.pending-actions[data-v-a5ad965e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn[data-v-a5ad965e]{font-size:12px;padding:6px 14px;border-radius:6px;border:none;cursor:pointer;transition:all .2s;font-weight:500}.btn-approve[data-v-a5ad965e]{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff}.btn-approve[data-v-a5ad965e]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #43a0474d}.btn-reject[data-v-a5ad965e]{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff}.btn-reject[data-v-a5ad965e]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #e539354d}.btn-confirm[data-v-a5ad965e]{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#fff}.btn-confirm[data-v-a5ad965e]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #2196f34d}.btn-dismiss[data-v-a5ad965e]{background:#f5f5f5;color:#888;border:1px solid #e0e0e0}.btn-dismiss[data-v-a5ad965e]:hover{background:#eee}.btn-link[data-v-a5ad965e]{font-size:12px;color:#5c6bc0;text-decoration:none;margin-left:auto;padding:6px 8px}.btn-link[data-v-a5ad965e]:hover{text-decoration:underline}.link-select[data-v-a5ad965e]{font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid #ddd;background:#fff;color:#333;min-width:200px;outline:none}.link-select[data-v-a5ad965e]:focus{border-color:#5c6bc0}.kpi-icon[data-v-a5ad965e]{box-shadow:0 4px 12px #0000001a}@media (max-width: 1100px){.first-screen-grid[data-v-a5ad965e]{grid-template-columns:1fr;gap:12px}.pending-list[data-v-a5ad965e]{max-height:240px}.kpi-grid-2x3[data-v-a5ad965e],.ops-shortcuts-vertical[data-v-a5ad965e]{grid-template-rows:auto}}@media (max-width: 700px){.risk-grid-2[data-v-a5ad965e]{grid-template-columns:1fr}.view-tabs[data-v-a5ad965e]{width:100%;justify-content:center}.kpi-grid-2x3[data-v-a5ad965e]{grid-template-columns:1fr;grid-template-rows:repeat(6,auto)}}.dashboard[data-v-cb10c775]{width:100%}.card[data-v-cb10c775]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a}.card-header[data-v-cb10c775]{padding:16px 20px;border-bottom:1px solid #f0f0f5}.card-title[data-v-cb10c775]{font-size:16px;font-weight:500;color:#333}.card-body[data-v-cb10c775]{padding:20px}.section[data-v-cb10c775]{margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid #f5f5fa}.section[data-v-cb10c775]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title[data-v-cb10c775]{font-size:18px;font-weight:600;color:#333;margin-bottom:16px}.subsection[data-v-cb10c775]{margin-bottom:20px;padding-left:8px}.subsection-title[data-v-cb10c775]{font-size:15px;font-weight:500;color:#555;margin-bottom:10px}.paragraph[data-v-cb10c775]{font-size:14px;color:#666;line-height:1.7;margin-bottom:10px}.warning-text[data-v-cb10c775]{font-size:14px;color:#e53935;font-weight:700;margin-bottom:10px}.paragraph.small[data-v-cb10c775]{font-size:13px;color:#888;font-style:italic}.list[data-v-cb10c775]{font-size:14px;color:#666;line-height:1.9;margin:8px 0 12px 16px}.list li[data-v-cb10c775]{margin-bottom:8px}.rule-box[data-v-cb10c775]{background:#fafbff;border-radius:10px;padding:16px 18px;margin-top:12px}.rule-title[data-v-cb10c775]{font-size:14px;font-weight:500;color:#5c6bc0;margin-bottom:8px}.data-table[data-v-cb10c775]{width:100%;border-collapse:collapse;margin:12px 0}.data-table th[data-v-cb10c775],.data-table td[data-v-cb10c775]{border:1px solid #e0e2e8;padding:10px 12px;text-align:left;font-size:13px}.data-table th[data-v-cb10c775]{background:#f7f8fc;font-weight:500;color:#555}.data-table td[data-v-cb10c775]{color:#666;line-height:1.6}.highlight[data-v-cb10c775]{color:#e53935!important}.red[data-v-cb10c775]{color:#e53935;font-weight:600}.highlight-box[data-v-cb10c775]{background:#fff5f5;border:1px solid #ffcdd2}.flow-steps[data-v-cb10c775]{display:flex;align-items:flex-start;gap:8px;margin:16px 0;overflow-x:auto;padding-bottom:8px}.flow-step[data-v-cb10c775]{display:flex;align-items:flex-start;gap:10px;background:#f7f8fc;border-radius:10px;padding:12px 14px;min-width:140px;flex-shrink:0}.step-num[data-v-cb10c775]{width:28px;height:28px;border-radius:50%;background:#e53935;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.step-content h4[data-v-cb10c775]{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}.step-content p[data-v-cb10c775]{font-size:12px;color:#888;margin:0;line-height:1.5}.flow-arrow[data-v-cb10c775]{color:#e53935;font-size:20px;font-weight:700;align-self:center;flex-shrink:0}.toc[data-v-cb10c775]{background:#f7f8fc;border-radius:10px;padding:16px 20px;margin-bottom:28px}.toc-title[data-v-cb10c775]{font-size:15px;font-weight:600;color:#333;margin-bottom:10px}.toc-list[data-v-cb10c775]{display:flex;flex-direction:column;gap:6px 0}.toc-item[data-v-cb10c775]{font-size:14px;color:#555;text-decoration:none;padding:4px 0;transition:color .2s}.toc-item[data-v-cb10c775]:hover{color:#333;text-decoration:underline}.toc-highlight[data-v-cb10c775]{color:#e53935!important;font-weight:600}.toc-highlight[data-v-cb10c775]:hover{color:#c62828!important}.example-image[data-v-cb10c775]{width:100%;max-width:900px;border-radius:8px;display:block;margin-top:8px}.req-page[data-v-9d792fa9]{padding:0}.toolbar[data-v-9d792fa9]{margin-bottom:16px;display:flex;gap:8px}.btn[data-v-9d792fa9]{padding:8px 16px;border-radius:6px;border:none;cursor:pointer;font-size:13px}.btn-primary[data-v-9d792fa9]{background:#333;color:#fff}.btn-primary[data-v-9d792fa9]:hover{background:#555}.btn-collect[data-v-9d792fa9]{background:#fff;color:#333;border:1px solid #ddd}.btn-collect[data-v-9d792fa9]:hover{background:#f5f5f5}.btn-default[data-v-9d792fa9]{background:#f5f5f5;color:#666;border:1px solid #ddd}.card[data-v-9d792fa9]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.table[data-v-9d792fa9]{width:100%;border-collapse:collapse;font-size:13px}.table th[data-v-9d792fa9]{background:#fafafa;padding:10px 12px;text-align:left;color:#888;font-weight:500;border-bottom:1px solid #f0f0f5}.table td[data-v-9d792fa9]{padding:10px 12px;border-bottom:1px solid #f5f5f5;color:#555}.table tr:hover td[data-v-9d792fa9]{background:#fafbff}.table tr.child-row td[data-v-9d792fa9]{background:#fcfcfe}.name-cell[data-v-9d792fa9]{font-weight:500;color:#333}.submitted-tag[data-v-9d792fa9]{display:inline-block;font-size:11px;font-weight:500;color:#4caf50;background:#e8f5e9;padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}.attachment-tag[data-v-9d792fa9]{display:inline-block;font-size:11px;font-weight:500;color:#5c6bc0;background:#eef0ff;padding:1px 6px;border-radius:4px;margin-left:4px;vertical-align:middle}.child-prefix[data-v-9d792fa9]{color:#bbb}.children-badge[data-v-9d792fa9]{font-size:11px;color:#999;background:#f5f5f5;padding:1px 6px;border-radius:4px;margin-left:6px}.children-badge.clickable[data-v-9d792fa9]{color:#5c6bc0;background:#e8eaf6;cursor:pointer}.children-badge.clickable[data-v-9d792fa9]:hover{background:#c5cae9}.empty[data-v-9d792fa9]{text-align:center;color:#999;padding:60px 0}.type-tag[data-v-9d792fa9]{font-size:11px;padding:2px 8px;border-radius:4px}.type-new[data-v-9d792fa9]{background:#e8f5e9;color:#2e7d32}.type-iteration[data-v-9d792fa9]{background:#fff3e0;color:#ef6c00}.priority-tag[data-v-9d792fa9]{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.p-P0[data-v-9d792fa9]{background:#ffebee;color:#c62828}.p-P1[data-v-9d792fa9]{background:#fff3e0;color:#e65100}.p-P2[data-v-9d792fa9]{background:#e8f5e9;color:#2e7d32}.p-P3[data-v-9d792fa9]{background:#f5f5f5;color:#999}.action-cell[data-v-9d792fa9]{white-space:nowrap}.btn-link[data-v-9d792fa9]{background:none;border:none;color:#5c6bc0;cursor:pointer;font-size:12px;padding:2px 6px}.btn-link[data-v-9d792fa9]:hover{text-decoration:underline}.btn-danger[data-v-9d792fa9]{color:#e53935}.btn-iteration[data-v-9d792fa9]{color:#ef6c00}.btn-share[data-v-9d792fa9]{color:#2e7d32}.btn-detail[data-v-9d792fa9]{color:#1565c0}.btn-pdf[data-v-9d792fa9]{color:#5c6bc0}.modal-mask[data-v-9d792fa9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding-top:40px}.modal[data-v-9d792fa9]{background:#fff;border-radius:12px;width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-lg[data-v-9d792fa9]{width:900px}.modal-header[data-v-9d792fa9]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f5}.modal-header h3[data-v-9d792fa9]{font-size:16px;font-weight:600;color:#333}.modal-close[data-v-9d792fa9]{background:none;border:none;font-size:22px;color:#999;cursor:pointer}.modal-close[data-v-9d792fa9]:hover{color:#333}.modal-body[data-v-9d792fa9]{flex:1;overflow-y:auto;padding:16px 20px}.modal-footer[data-v-9d792fa9]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f5}.form-section[data-v-9d792fa9]{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f5}.form-section[data-v-9d792fa9]:last-child{border-bottom:none}.form-upload-area[data-v-9d792fa9]{display:flex;align-items:center;gap:8px;padding:12px;border:1px dashed #ccc;border-radius:6px;cursor:pointer;color:#999;font-size:13px;transition:border-color .2s}.form-upload-area[data-v-9d792fa9]:hover{border-color:#5c6bc0;color:#5c6bc0}.form-file-list[data-v-9d792fa9]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.form-file-item[data-v-9d792fa9]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f5ff;border-radius:4px;font-size:13px}.form-file-name[data-v-9d792fa9]{flex:1;color:#333}.form-file-remove[data-v-9d792fa9]{background:none;border:none;color:#999;cursor:pointer;font-size:16px}.form-file-remove[data-v-9d792fa9]:hover{color:#e53935}.section-label[data-v-9d792fa9]{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.form-group[data-v-9d792fa9]{margin-bottom:12px}.form-group label[data-v-9d792fa9]{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group input[data-v-9d792fa9],.form-group textarea[data-v-9d792fa9],.form-group select[data-v-9d792fa9]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.form-group input[data-v-9d792fa9]:focus,.form-group textarea[data-v-9d792fa9]:focus,.form-group select[data-v-9d792fa9]:focus{border-color:#5c6bc0}.form-select[data-v-9d792fa9]{width:100%}.form-row[data-v-9d792fa9]{display:flex;gap:12px}.form-row .form-group[data-v-9d792fa9],.flex-1[data-v-9d792fa9]{flex:1}.required[data-v-9d792fa9]{color:#e53935}.dynamic-list[data-v-9d792fa9]{display:flex;flex-direction:column;gap:6px}.dynamic-item[data-v-9d792fa9]{display:flex;align-items:center;gap:6px}.inline-input[data-v-9d792fa9]{padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;outline:none}.inline-input[data-v-9d792fa9]:focus{border-color:#5c6bc0}.inline-input.short[data-v-9d792fa9]{width:80px}.inline-input.flex-1[data-v-9d792fa9]{flex:1}.inline-select[data-v-9d792fa9]{padding:6px 4px;border:1px solid #ddd;border-radius:4px;font-size:12px;outline:none;width:60px}.inline-check[data-v-9d792fa9]{font-size:12px;color:#666;white-space:nowrap;display:flex;align-items:center;gap:2px}.arrow[data-v-9d792fa9]{color:#999;font-size:14px;flex-shrink:0}.flow-step[data-v-9d792fa9]{width:20px;height:20px;background:#f0f0f5;border-radius:50%;text-align:center;line-height:20px;font-size:11px;color:#666;flex-shrink:0}.btn-remove[data-v-9d792fa9]{width:22px;height:22px;border-radius:50%;border:1px solid #ddd;background:#fff;color:#999;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.btn-remove[data-v-9d792fa9]:hover{border-color:#e53935;color:#e53935}.btn-add[data-v-9d792fa9]{background:none;border:1px dashed #ccc;color:#5c6bc0;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.btn-add[data-v-9d792fa9]:hover{border-color:#5c6bc0}.share-card-body[data-v-9d792fa9]{display:flex;flex-direction:column;align-items:center}.share-card[data-v-9d792fa9]{text-align:center;width:100%;max-width:320px;padding:36px 32px;background:#fff;border-radius:16px;box-sizing:border-box}.share-card-top[data-v-9d792fa9]{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:28px}.share-card-logo[data-v-9d792fa9]{width:48px;height:48px;border-radius:10px}.share-brand-name[data-v-9d792fa9]{font-size:22px;font-weight:700;color:#333}.share-brand-desc[data-v-9d792fa9]{font-size:14px;color:#888;margin-top:4px}.share-qr-wrap[data-v-9d792fa9]{display:flex;justify-content:center;margin-bottom:20px}.share-qr-canvas[data-v-9d792fa9]{border-radius:8px}.share-card-url[data-v-9d792fa9]{font-size:11px;color:#bbb;word-break:break-all;line-height:1.5}.share-actions[data-v-9d792fa9]{display:flex;gap:10px;margin-top:20px}.btn-save-img[data-v-9d792fa9]{background:#fff;color:#333;border:1px solid #ddd;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;white-space:nowrap}.btn-save-img[data-v-9d792fa9]:hover{background:#f5f5f5}.hint[data-v-9d792fa9]{font-size:12px;color:#999;font-weight:400}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.dp-mask[data-v-e70808e4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.dp-modal[data-v-e70808e4]{background:var(--card-bg, #fff);border-radius:12px;width:90vw;max-width:1100px;height:88vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #00000040;overflow:hidden}.dp-header[data-v-e70808e4]{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border, #eee);background:var(--sidebar-bg, #f9f9f9);flex-shrink:0}.dp-title-wrap[data-v-e70808e4]{display:flex;align-items:center;gap:10px;min-width:0}.dp-title[data-v-e70808e4]{font-size:14px;font-weight:600;color:var(--text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.dp-type-tag[data-v-e70808e4]{font-size:10px;padding:2px 8px;border-radius:8px;font-weight:500;flex-shrink:0}.type-pdf[data-v-e70808e4]{background:#ffebee;color:#c62828}.type-md[data-v-e70808e4]{background:#e3f2fd;color:#1565c0}.type-docx[data-v-e70808e4],.type-doc[data-v-e70808e4]{background:#e8f5e9;color:#2e7d32}.type-image[data-v-e70808e4]{background:#fff3e0;color:#e65100}.dp-actions[data-v-e70808e4]{display:flex;align-items:center;gap:8px;flex-shrink:0}.dp-btn[data-v-e70808e4]{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:var(--text, #333);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.dp-btn[data-v-e70808e4]:hover{border-color:#555;background:var(--sidebar-bg, #f5f5f5)}.dp-close[data-v-e70808e4]{font-size:22px;padding:0 10px;line-height:1;border:none;background:none;color:#999}.dp-close[data-v-e70808e4]:hover{color:#333;background:var(--sidebar-bg, #f5f5f5)}.dp-body[data-v-e70808e4]{flex:1;overflow:auto;background:var(--card-bg, #fff);position:relative}.dp-iframe[data-v-e70808e4]{width:100%;height:100%;border:none}.dp-image-wrap[data-v-e70808e4]{width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.dp-image[data-v-e70808e4]{max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 2px 12px #0000001a}.dp-md-content[data-v-e70808e4]{padding:32px 48px;font-size:14px;color:var(--text, #333);line-height:1.7;max-width:880px;margin:0 auto}.dp-md-content[data-v-e70808e4] h1,.dp-md-content[data-v-e70808e4] h2,.dp-md-content[data-v-e70808e4] h3{margin:20px 0 10px;color:var(--text, #333);font-weight:600}.dp-md-content[data-v-e70808e4] h1{font-size:22px;border-bottom:2px solid var(--border, #eee);padding-bottom:8px}.dp-md-content[data-v-e70808e4] h2{font-size:18px}.dp-md-content[data-v-e70808e4] h3{font-size:15px}.dp-md-content[data-v-e70808e4] p{margin:8px 0}.dp-md-content[data-v-e70808e4] ul,.dp-md-content[data-v-e70808e4] ol{margin:8px 0;padding-left:24px}.dp-md-content[data-v-e70808e4] li{margin:4px 0}.dp-md-content[data-v-e70808e4] code{background:var(--sidebar-bg, #f5f5f5);padding:2px 6px;border-radius:3px;font-size:13px;font-family:monospace}.dp-md-content[data-v-e70808e4] pre{background:#0d1117;padding:14px 16px;border-radius:8px;overflow-x:auto;margin:12px 0;border:1px solid #1f2329}.dp-md-content[data-v-e70808e4] pre code{background:none;padding:0;color:#c9d1d9;font-size:13px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.dp-md-content[data-v-e70808e4] blockquote{margin:10px 0;padding:8px 14px;border-left:4px solid var(--border, #d0d7de);background:var(--sidebar-bg, #f6f8fa);color:#57606a;border-radius:0 6px 6px 0}.dp-md-content[data-v-e70808e4] blockquote p{margin:4px 0}.dp-md-content[data-v-e70808e4] a{color:#0969da;text-decoration:none;border-bottom:1px solid rgba(9,105,218,.3)}.dp-md-content[data-v-e70808e4] a:hover{border-bottom-color:#0969da}.dp-md-content[data-v-e70808e4] hr{border:none;border-top:1px solid var(--border, #d0d7de);margin:18px 0}.dp-md-content[data-v-e70808e4] strong{font-weight:600}.dp-md-content[data-v-e70808e4] table{width:100%;border-collapse:collapse;margin:12px 0}.dp-md-content[data-v-e70808e4] th,.dp-md-content[data-v-e70808e4] td{border:1px solid var(--border, #eee);padding:8px 12px;text-align:left}.dp-md-content[data-v-e70808e4] th{background:var(--sidebar-bg, #f9f9f9);font-weight:600}.dp-md-content[data-v-e70808e4] img{max-width:100%;height:auto}.dp-loading[data-v-e70808e4]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#888;font-size:13px}.dp-spinner[data-v-e70808e4]{width:32px;height:32px;border:3px solid var(--border, #eee);border-top-color:#333;border-radius:50%;animation:dp-spin-e70808e4 .8s linear infinite}@keyframes dp-spin-e70808e4{to{transform:rotate(360deg)}}.dp-error[data-v-e70808e4]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#999;font-size:13px}.dp-error svg[data-v-e70808e4]{color:#ccc}.task-hall[data-v-8b7566bd]{display:flex;flex-direction:column;height:calc(100vh - 100px);gap:12px}.hall-topbar[data-v-8b7566bd]{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.view-switch[data-v-8b7566bd]{display:flex;gap:4px;background:#fff;border-radius:8px;padding:4px;box-shadow:0 1px 4px #0000000a}.view-btn[data-v-8b7566bd]{background:transparent;color:#666;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.view-btn.active[data-v-8b7566bd]{background:#333;color:#fff}.view-btn[data-v-8b7566bd]:hover:not(.active){background:#f0f0f5}.topbar-actions[data-v-8b7566bd]{display:flex;gap:8px;align-items:center}.btn-history[data-v-8b7566bd]{background:#f0f0f5;color:#333;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.btn-history[data-v-8b7566bd]:hover{background:#e0e0e8}.btn-add[data-v-8b7566bd]{background:#333;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:4px}.btn-add[data-v-8b7566bd]:hover{background:#555}.btn-drawer[data-v-8b7566bd]{background:#f0f0f5;color:#333;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:4px}.btn-drawer[data-v-8b7566bd]:hover{background:#e0e0e8}.monster-view[data-v-8b7566bd]{flex:1;display:flex;gap:0;min-height:0;position:relative;border-radius:12px;overflow:hidden;background-image:url(/man/left_panel_bg.jpg);background-size:100% 130%;background-position:bottom center;background-repeat:no-repeat}.left-panel[data-v-8b7566bd]{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:0;position:relative;z-index:1;background:transparent}.left-panel-bg[data-v-8b7566bd]{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;filter:brightness(.7)}.left-panel-content[data-v-8b7566bd]{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;height:100%;padding:12px}.user-coverflow[data-v-8b7566bd]{background:#00000080;border:2px solid #fff;border-radius:12px;padding:12px;box-shadow:none;height:280px;display:flex;flex-direction:column}.coverflow-head[data-v-8b7566bd]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.coverflow-title[data-v-8b7566bd]{font-size:13px;font-weight:500;color:#ffffffb3;flex-shrink:0}.coverflow-search[data-v-8b7566bd]{flex:1;padding:4px 8px;border:1px solid rgba(255,255,255,.15);border-radius:4px;font-size:12px;outline:none;background:#ffffff14;color:#ffffffe6}.coverflow-search[data-v-8b7566bd]::placeholder{color:#fff6}.coverflow-search[data-v-8b7566bd]:focus{border-color:#5da9f8;background:#ffffff1f}.coverflow-reset[data-v-8b7566bd]{background:#ffffff14;color:#ffffffb3;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.coverflow-reset[data-v-8b7566bd]:hover{background:#d32f2f;color:#fff}.coverflow-stage[data-v-8b7566bd]{flex:1;position:relative;perspective:1000px;perspective-origin:50% 50%;overflow:hidden;outline:none;display:flex;align-items:center;justify-content:center}.coverflow-track[data-v-8b7566bd]{position:relative;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.22,.61,.36,1);width:110px;height:140px}.user-cover-item[data-v-8b7566bd]{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:10px;cursor:pointer;transition:opacity .3s,border-color .2s;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;padding:10px 6px;gap:4px;box-sizing:border-box}.user-cover-item.active[data-v-8b7566bd],.user-cover-item.matched[data-v-8b7566bd]{border-color:#ffb300;box-shadow:0 0 0 2px #ffb300,0 4px 12px #ffb3004d;background:#ffb3001f}.uc-avatar[data-v-8b7566bd]{width:56px;height:56px;border-radius:50%;background:#ffffff1a;overflow:hidden;display:flex;align-items:center;justify-content:center}.uc-avatar-img[data-v-8b7566bd]{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.uc-avatar-fallback[data-v-8b7566bd]{font-size:22px;font-weight:600;color:#fff9}.uc-name[data-v-8b7566bd]{font-size:13px;font-weight:500;color:#ffffffe6;text-align:center}.uc-role[data-v-8b7566bd]{font-size:10px;color:#ffffffb3;background:#ffffff1a;padding:1px 6px;border-radius:8px}.cover-nav[data-v-8b7566bd]{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:8px;z-index:10}.cover-btn[data-v-8b7566bd]{background:#ffffff1f;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);padding:2px 8px;border-radius:4px;cursor:pointer;font-size:12px}.cover-btn[data-v-8b7566bd]:hover{background:#ffffff38;color:#fff}.cover-counter[data-v-8b7566bd]{font-size:11px;color:#ffffffb3;background:#0006;padding:2px 8px;border-radius:4px}.info-panel[data-v-8b7566bd]{flex:1;background:#00000080;border:2px solid #fff;border-radius:12px;padding:14px;box-shadow:none;overflow-y:auto;display:flex;flex-direction:column}.info-personal[data-v-8b7566bd]{display:flex;flex-direction:column;gap:12px;height:100%}.info-card[data-v-8b7566bd]{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.info-avatar[data-v-8b7566bd]{width:60px;height:60px;border-radius:12px;background:#ffffff14;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-avatar-img[data-v-8b7566bd]{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.info-avatar-fallback[data-v-8b7566bd]{font-size:24px;font-weight:600;color:#fff9}.info-meta[data-v-8b7566bd]{flex:1;min-width:0}.info-hp[data-v-8b7566bd]{display:flex;align-items:center;gap:8px}.info-hp-label[data-v-8b7566bd]{font-size:11px;font-weight:600;color:#ffffffb3;flex-shrink:0}.info-hp-bar[data-v-8b7566bd]{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;height:14px}.info-hp-cell[data-v-8b7566bd]{background:#e53935;border-radius:3px;box-shadow:inset 0 0 0 1px #00000026}.info-name[data-v-8b7566bd]{font-size:16px;font-weight:600;color:#ffffffe6;margin-bottom:2px}.info-role[data-v-8b7566bd]{font-size:11px;color:#ffffffb3;background:#ffffff1a;padding:2px 8px;border-radius:8px;display:inline-block}.info-stats[data-v-8b7566bd]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.info-stat-item[data-v-8b7566bd]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.info-stat-num[data-v-8b7566bd]{font-size:20px;font-weight:700;color:#ffffffe6}.info-stat-lbl[data-v-8b7566bd]{font-size:11px;color:#ffffff8c}.info-stat-divider[data-v-8b7566bd]{width:1px;height:30px;background:#ffffff1a}.info-task-list[data-v-8b7566bd]{flex:1;display:flex;flex-direction:column;gap:6px;min-height:0}.info-task-title[data-v-8b7566bd]{font-size:12px;color:#fff9;font-weight:500}.info-task-items[data-v-8b7566bd]{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.info-task-row[data-v-8b7566bd]{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#ffffff0f;border-radius:6px;cursor:pointer;font-size:12px;transition:background .15s}.info-task-row[data-v-8b7566bd]:hover{background:#ffffff1f}.info-task-name[data-v-8b7566bd]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffe6}.info-task-date[data-v-8b7566bd]{font-size:11px;color:#ffffff8c}.info-task-tag[data-v-8b7566bd]{font-size:10px;padding:1px 6px;border-radius:8px}.info-task-tag.overdue[data-v-8b7566bd]{color:#ff5252;background:#e5393533}.info-task-tag.urgent[data-v-8b7566bd]{color:#ffb74d;background:#fb8c0033}.info-task-tag.normal[data-v-8b7566bd]{color:#81c784;background:#43a04733}.info-task-tag.pending[data-v-8b7566bd]{color:#ffffffb3;background:#ffffff1a}.info-task-tag.done[data-v-8b7566bd]{color:#64b5f6;background:#1976d233}.info-team[data-v-8b7566bd]{display:flex;flex-direction:column;gap:14px;height:100%}.info-team-title[data-v-8b7566bd]{font-size:14px;font-weight:600;color:#ffffffe6;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.team-stat-grid[data-v-8b7566bd]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.team-stat-card[data-v-8b7566bd]{background:#ffffff0f;border-radius:8px;padding:12px;text-align:center}.team-stat-num[data-v-8b7566bd]{font-size:22px;font-weight:700;color:#ffffffe6}.team-stat-lbl[data-v-8b7566bd]{font-size:11px;color:#ffffff8c;margin-top:2px}.team-dist[data-v-8b7566bd]{display:flex;flex-direction:column;gap:6px}.team-dist-title[data-v-8b7566bd]{font-size:12px;color:#fff9;font-weight:500}.team-dist-item[data-v-8b7566bd]{display:flex;align-items:center;gap:6px;font-size:12px}.team-dist-label[data-v-8b7566bd]{width:50px;color:#fff9}.team-dist-bar-wrap[data-v-8b7566bd]{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.team-dist-bar[data-v-8b7566bd]{height:100%;transition:width .3s}.team-dist-bar.overdue[data-v-8b7566bd]{background:#e53935}.team-dist-bar.urgent[data-v-8b7566bd]{background:#fb8c00}.team-dist-bar.normal[data-v-8b7566bd]{background:#43a047}.team-dist-bar.pending[data-v-8b7566bd]{background:#bdbdbd}.team-dist-count[data-v-8b7566bd]{width:30px;text-align:right;color:#ffffffe6;font-weight:500}.empty-sm[data-v-8b7566bd]{text-align:center;color:#ffffff59;font-size:12px;padding:12px 0}.right-panel[data-v-8b7566bd]{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.monster-stage[data-v-8b7566bd]{flex:1;position:relative;perspective:1400px;perspective-origin:50% 30%;overflow:hidden;outline:none;background:transparent;border-radius:12px;box-shadow:none}.monster-track[data-v-8b7566bd]{position:absolute;left:70%;top:70%;width:0;height:0;transform-style:preserve-3d;transition:transform .5s ease}.monster-item[data-v-8b7566bd]{position:absolute;left:-120px;top:-140px;width:240px;height:280px;cursor:pointer;transition:opacity .3s,transform .4s ease;transform-style:preserve-3d;padding:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;background:transparent;border:none;border-radius:0;animation:monsterDrop-8b7566bd .6s cubic-bezier(.25,.8,.25,1) both,monsterBreathe-8b7566bd 3s ease-in-out .7s infinite}@keyframes monsterBreathe-8b7566bd{0%,to{margin-top:0}50%{margin-top:-6px}}@keyframes monsterDrop-8b7566bd{0%{margin-top:-500px;opacity:0}60%{opacity:1}to{margin-top:0;opacity:1}}.title-days[data-v-8b7566bd]{font-weight:600;color:#4a90d9;margin-right:2px}.title-days.days-overdue[data-v-8b7566bd]{color:#ff5252}.title-dispatcher[data-v-8b7566bd]{color:#ffffffb3;margin-right:2px}.classic-name .title-dispatcher[data-v-8b7566bd],.task-card-name .title-dispatcher[data-v-8b7566bd]{color:#888}.title-badge[data-v-8b7566bd]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:50%;padding:0 4px;font-size:11px;font-weight:700;color:#fff;background:#4a90d9;margin-right:3px;vertical-align:middle}.title-badge.badge-overdue[data-v-8b7566bd]{background:#ff5252}.monster-title-tag[data-v-8b7566bd]{font-size:13px;font-weight:500;color:#fff;background:#0009;padding:3px 10px;border-radius:12px;margin-bottom:4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:2}.monster-item.overdue .monster-title-tag[data-v-8b7566bd]{color:#ff5252}.monster-item.urgent .monster-title-tag[data-v-8b7566bd],.monster-item.normal .monster-title-tag[data-v-8b7566bd],.monster-item.pending .monster-title-tag[data-v-8b7566bd]{color:#fff}.monster-img-wrap[data-v-8b7566bd]{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;transform:scale(1.32)}.monster-img[data-v-8b7566bd]{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.85))}.hero-track[data-v-8b7566bd]{position:absolute;left:15%;top:70%;width:0;height:0;transform-style:preserve-3d;z-index:50}.hero-item[data-v-8b7566bd]{position:absolute;left:-100px;top:-170px;width:200px;height:260px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d;animation:monsterDrop-8b7566bd .6s cubic-bezier(.25,.8,.25,1) both,monsterBreathe-8b7566bd 3s ease-in-out .7s infinite}.hero-title-tag[data-v-8b7566bd]{font-size:13px;font-weight:600;color:#fff;background:#5da9f8d9;padding:3px 12px;border-radius:12px;margin-bottom:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 8px #5da9f866}.hero-img-wrap[data-v-8b7566bd]{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;transform:scale(.945)}.hero-img[data-v-8b7566bd]{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 16px rgba(0,0,0,.85))}.stage-nav[data-v-8b7566bd]{position:absolute;bottom:8px;right:12px;display:flex;align-items:center;gap:6px;z-index:10}.stage-tip-vertical[data-v-8b7566bd]{position:absolute;top:50%;right:8px;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;font-size:12px;color:#00000073;letter-spacing:2px;pointer-events:none;z-index:5;font-weight:500}.btn-all-tasks[data-v-8b7566bd]{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#000000b3;color:#fff;border:none;border-radius:16px;cursor:pointer;z-index:10;transition:background .15s,transform .15s}.btn-all-tasks[data-v-8b7566bd]:hover{background:#000000e0;transform:translateY(-50%) scale(1.05)}.btn-all-tasks svg[data-v-8b7566bd]{display:block}.btn-all-tasks-text[data-v-8b7566bd]{writing-mode:vertical-rl;text-orientation:upright;font-size:12px;letter-spacing:2px;font-weight:500}.tasks-drawer[data-v-8b7566bd]{position:absolute;top:0;right:0;bottom:0;width:70%;background:#141419f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;display:flex;flex-direction:column;box-shadow:-8px 0 24px #0003}.btn-drawer-close[data-v-8b7566bd]{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:4px;padding:6px 10px 6px 12px;background:#ffffff14;color:#fff;border:none;border-radius:14px;cursor:pointer;z-index:2;font-size:12px;transition:background .15s}.btn-drawer-close[data-v-8b7566bd]:hover{background:#ffffff2e}.btn-drawer-close-text[data-v-8b7566bd]{letter-spacing:1px}.drawer-header[data-v-8b7566bd]{width:100%;padding:14px 16px;color:#fff;font-size:15px;font-weight:600;letter-spacing:2px;border-bottom:1px solid rgba(255,255,255,.06);box-sizing:border-box;display:flex;justify-content:center;align-items:center;align-self:stretch;flex:0 0 auto}.drawer-count[data-v-8b7566bd]{font-size:12px;color:#ffffff80;font-weight:400}.drawer-body[data-v-8b7566bd]{flex:1;overflow-y:auto;padding:12px}.drawer-slide-enter-active[data-v-8b7566bd],.drawer-slide-leave-active[data-v-8b7566bd]{transition:transform .28s ease}.drawer-slide-enter-from[data-v-8b7566bd],.drawer-slide-leave-to[data-v-8b7566bd]{transform:translate(100%)}.all-tasks-stage[data-v-8b7566bd]{flex:1;position:relative;background:linear-gradient(180deg,#fafafa,#f0f0f5);border-radius:12px;overflow-y:auto;padding:12px}.all-tasks-grid[data-v-8b7566bd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.task-card-dark[data-v-8b7566bd]{background:transparent;color:#fff;border-radius:10px;padding:14px;display:flex;gap:14px;cursor:pointer;transition:transform .15s,background .15s;border:1px solid #ccc}.task-card-dark[data-v-8b7566bd]:hover{transform:translateY(-2px);border-color:#999}.task-card-img[data-v-8b7566bd]{width:66px;height:66px;flex-shrink:0}.task-card-monster[data-v-8b7566bd]{width:100%;height:100%;object-fit:contain}.task-card-body[data-v-8b7566bd]{flex:1;min-width:0}.task-card-name[data-v-8b7566bd]{font-size:15px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.task-card-desc[data-v-8b7566bd]{font-size:12px;color:#fff9;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.task-card-meta[data-v-8b7566bd]{display:flex;gap:8px;align-items:center;margin-bottom:4px}.task-card-field[data-v-8b7566bd]{font-size:12px;color:#ffffffbf}.task-card-field label[data-v-8b7566bd]{color:#ffffff80;margin-right:2px}.task-card-date[data-v-8b7566bd]{font-size:12px;color:#ffffff8c}.task-card-tag[data-v-8b7566bd]{font-size:11px;padding:2px 7px;border-radius:3px;background:#ffffff1f;color:#fff}.task-card-tag.overdue[data-v-8b7566bd]{background:#ff525240;color:#ff8a80}.task-card-tag.urgent[data-v-8b7566bd]{background:#ffab4040;color:#ffcc80}.task-card-tag.normal[data-v-8b7566bd]{background:#66bb6a40;color:#a5d6a7}.task-card-tag.pending[data-v-8b7566bd]{background:#90a4ae40;color:#cfd8dc}.task-card-people[data-v-8b7566bd]{font-size:12px;color:#ffffffb3}.classic-view[data-v-8b7566bd]{flex:1;display:flex;gap:12px;min-height:0}.classic-users[data-v-8b7566bd]{width:170px;flex-shrink:0;background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 4px #0000000a;overflow-y:auto;display:flex;flex-direction:column}.classic-users-title[data-v-8b7566bd]{font-size:13px;color:#666;font-weight:500;margin-bottom:10px;padding:0 4px}.classic-users-list[data-v-8b7566bd]{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0}.classic-user-item[data-v-8b7566bd]{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .15s}.classic-user-item[data-v-8b7566bd]:hover{background:#f0f0f5}.classic-user-item.active[data-v-8b7566bd]{background:#eaf3ff;box-shadow:inset 0 0 0 1px #5da9f8}.classic-user-avatar[data-v-8b7566bd]{width:36px;height:36px;border-radius:50%;background:#eee;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.classic-user-img[data-v-8b7566bd]{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.classic-user-fallback[data-v-8b7566bd]{font-size:14px;font-weight:600;color:#555}.classic-user-name[data-v-8b7566bd]{font-size:13px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classic-list[data-v-8b7566bd]{flex:1;background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 4px #0000000a;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.classic-row[data-v-8b7566bd]{display:grid;grid-template-columns:2fr 1fr 1fr 2fr .8fr;align-items:center;gap:8px;padding:10px 12px;background:#fafafa;border-radius:8px;cursor:pointer;font-size:13px;transition:background .15s}.classic-row[data-v-8b7566bd]:hover{background:#f0f0f5}.classic-row.classic-head[data-v-8b7566bd]{background:#f0f0f5;cursor:default;font-weight:600;color:#555;font-size:12px}.classic-row.classic-head[data-v-8b7566bd]:hover{background:#f0f0f5}.classic-name[data-v-8b7566bd]{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classic-dispatcher[data-v-8b7566bd]{color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classic-owner[data-v-8b7566bd]{color:#666}.classic-date[data-v-8b7566bd]{color:#999;font-size:12px}.classic-days[data-v-8b7566bd]{color:#666;font-weight:500}.classic-tag[data-v-8b7566bd]{font-size:11px;padding:2px 6px;border-radius:8px;text-align:center}.classic-tag.overdue[data-v-8b7566bd]{color:#d32f2f;background:#ffebee}.classic-tag.urgent[data-v-8b7566bd]{color:#f57c00;background:#fff3e0}.classic-tag.normal[data-v-8b7566bd]{color:#388e3c;background:#e8f5e9}.classic-tag.pending[data-v-8b7566bd]{color:#757575;background:#f0f0f5}.classic-tag.done[data-v-8b7566bd]{color:#1976d2;background:#e3f2fd}.drawer-mask[data-v-8b7566bd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:300;display:flex;justify-content:flex-end}.drawer[data-v-8b7566bd]{width:480px;background:#fff;height:100%;box-shadow:-8px 0 40px #0000001f;display:flex;flex-direction:column;animation:drawerIn-8b7566bd .3s ease}@keyframes drawerIn-8b7566bd{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header[data-v-8b7566bd]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f5}.drawer-header h3[data-v-8b7566bd]{font-size:16px;font-weight:500;color:#333}.drawer-body[data-v-8b7566bd]{flex:1;overflow-y:auto;padding:14px 18px}.drawer-filter[data-v-8b7566bd]{display:flex;gap:8px;margin-bottom:12px}.drawer-search[data-v-8b7566bd]{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none}.drawer-search[data-v-8b7566bd]:focus{border-color:#5c6bc0}.drawer-select[data-v-8b7566bd]{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;background:#fff}.drawer-list[data-v-8b7566bd]{display:flex;flex-direction:column;gap:6px}.drawer-row[data-v-8b7566bd]{display:grid;grid-template-columns:2fr 1fr 1fr .8fr .8fr;align-items:center;gap:8px;padding:10px 12px;background:#fafafa;border-radius:8px;cursor:pointer;font-size:13px;transition:background .15s}.drawer-row[data-v-8b7566bd]:hover{background:#f0f0f5}.drawer-name[data-v-8b7566bd]{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-owner[data-v-8b7566bd]{color:#666}.drawer-date[data-v-8b7566bd]{color:#999;font-size:12px}.empty-hint[data-v-8b7566bd]{text-align:center;color:#ccc;font-size:12px;padding:20px 0}.empty-grid[data-v-8b7566bd]{text-align:center;color:#ccc;padding:60px 0;font-size:14px}.status-tag[data-v-8b7566bd]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-tag.status-active[data-v-8b7566bd]{color:#555;background:#eee}.status-tag.status-done[data-v-8b7566bd]{color:#333;background:#ddd}.status-tag.status-rejected[data-v-8b7566bd]{color:#fff;background:#e74c3c}.modal-mask[data-v-8b7566bd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-8b7566bd]{background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000001f;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-8b7566bd]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f5;flex-shrink:0}.modal-header h3[data-v-8b7566bd]{font-size:16px;font-weight:500;color:#333}.modal-close[data-v-8b7566bd]{font-size:22px;color:#999;cursor:pointer}.modal-close[data-v-8b7566bd]:hover{color:#333}.modal-body[data-v-8b7566bd]{padding:18px 22px;flex:1;overflow-y:auto}.modal-footer[data-v-8b7566bd]{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #f0f0f5;flex-shrink:0}.form-group[data-v-8b7566bd]{margin-bottom:14px}.form-group label[data-v-8b7566bd]{display:block;font-size:13px;color:#666;margin-bottom:6px}.form-group input[data-v-8b7566bd],.form-group textarea[data-v-8b7566bd],.form-group select[data-v-8b7566bd],.form-select[data-v-8b7566bd]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.form-group input[data-v-8b7566bd]:focus,.form-group textarea[data-v-8b7566bd]:focus,.form-select[data-v-8b7566bd]:focus{border-color:#5c6bc0}.form-row[data-v-8b7566bd]{display:flex;gap:12px}.form-group.half[data-v-8b7566bd]{flex:1}.required[data-v-8b7566bd]{color:#e53935}.btn-cancel[data-v-8b7566bd]{background:#f0f0f5;color:#333;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px}.btn-confirm[data-v-8b7566bd]{background:#333;color:#fff;border:none;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px}.btn-confirm[data-v-8b7566bd]:hover{background:#555}.btn-confirm.btn-danger[data-v-8b7566bd]{background:#e74c3c}.btn-confirm.btn-danger[data-v-8b7566bd]:hover{background:#c0392b}.reject-confirm-mask[data-v-8b7566bd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:300}.reject-confirm-box[data-v-8b7566bd]{background:#fff;border-radius:12px;padding:24px;width:360px;text-align:center}.reject-confirm-box p[data-v-8b7566bd]{margin:0 0 20px;font-size:14px;color:#333;line-height:1.6}.reject-confirm-actions[data-v-8b7566bd]{display:flex;gap:12px;justify-content:center}.executor-checkboxes[data-v-8b7566bd]{display:flex;flex-wrap:wrap;gap:8px}.checkbox-item[data-v-8b7566bd]{display:flex;align-items:center;gap:4px;font-size:13px;color:#555;cursor:pointer}.checkbox-item input[data-v-8b7566bd]{accent-color:#333}.detail-row[data-v-8b7566bd]{display:flex;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f5f5fa;gap:12px}.detail-row.col[data-v-8b7566bd]{flex-direction:column}.detail-label[data-v-8b7566bd]{font-size:13px;color:#999;min-width:70px;flex-shrink:0}.detail-row span[data-v-8b7566bd]:not(.detail-label):not(.status-tag){font-size:13px;color:#333}.detail-row p[data-v-8b7566bd]{font-size:13px;color:#333;margin:4px 0 0;line-height:1.6}.att-item[data-v-8b7566bd]{display:flex;align-items:center;gap:8px;padding:2px 0}.att-item a[data-v-8b7566bd]{font-size:13px;color:#5c6bc0;text-decoration:none}.att-item a[data-v-8b7566bd]:hover{text-decoration:underline}.btn-link[data-v-8b7566bd]{background:#fff;border:1px solid #d0d0e0;color:#5c6bc0;font-size:12px;cursor:pointer;padding:2px 8px;border-radius:3px;text-decoration:none;transition:all .15s}.btn-link[data-v-8b7566bd]:hover{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.duration-display[data-v-8b7566bd]{padding:8px 10px;background:#f8f8fc;border:1px solid #e8e8f0;border-radius:6px;font-size:13px;color:#333}.datetime-split[data-v-8b7566bd]{display:flex;gap:8px}.datetime-split input[type=date][data-v-8b7566bd]{flex:3;min-width:150px}.datetime-split input[type=time][data-v-8b7566bd]{flex:2;min-width:90px}.att-list[data-v-8b7566bd]{margin-bottom:8px}.att-row[data-v-8b7566bd]{display:flex;align-items:center;gap:8px;padding:4px 0}.att-link[data-v-8b7566bd]{font-size:13px;color:#5c6bc0;text-decoration:none}.att-link[data-v-8b7566bd]:hover{text-decoration:underline}.att-del[data-v-8b7566bd]{color:#e53935;cursor:pointer;font-size:16px;line-height:1}.att-upload[data-v-8b7566bd]{display:flex;align-items:center;gap:8px}.btn-upload[data-v-8b7566bd]{background:#f0f0f5;color:#333;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.btn-upload[data-v-8b7566bd]:hover{background:#e0e0e8}.pending-hint[data-v-8b7566bd]{font-size:12px;color:#999}.history-table[data-v-8b7566bd]{width:100%;border-collapse:collapse;font-size:13px}.history-table th[data-v-8b7566bd]{text-align:left;padding:8px;background:#f8f8fc;color:#666;font-weight:500;border-bottom:1px solid #eee}.history-table td[data-v-8b7566bd]{padding:8px;border-bottom:1px solid #f5f5fa;color:#333}.link-btn[data-v-8b7566bd]{color:#5c6bc0;cursor:pointer;margin-right:8px}.link-btn[data-v-8b7566bd]:hover{text-decoration:underline}.link-btn.danger[data-v-8b7566bd]{color:#e53935}.ext-badge[data-v-8b7566bd]{position:absolute;top:6px;right:6px;background:#6a4b9c;color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:8px;line-height:1.4;z-index:2;box-shadow:0 1px 3px #6a4b9c66}.unmatched-hint[data-v-8b7566bd]{color:#e65100;font-size:12px;font-weight:500;background:#fff3e0;padding:1px 6px;border-radius:4px;border:1px dashed #ffa726}.ext-notice[data-v-8b7566bd]{background:#f3e8ff;border:1px solid #cfa3ff;border-left:3px solid #6a4b9c;padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:12px;color:#4a2c70;line-height:1.5}.ext-notice[data-v-8b7566bd]:before{content:"ⓘ ";font-weight:700}.ext-source-tag[data-v-8b7566bd]{background:#6a4b9c;color:#fff;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px}.btn-unmatched[data-v-8b7566bd]{background:#f0f0f5;color:#333;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;position:relative}.btn-unmatched[data-v-8b7566bd]:hover{background:#e0e0e8}.badge-count[data-v-8b7566bd]{display:inline-block;min-width:18px;height:18px;background:#e53935;color:#fff;font-size:11px;font-weight:700;border-radius:9px;padding:0 5px;margin-left:4px;line-height:18px;text-align:center}.unmatched-table .td-name[data-v-8b7566bd]{min-width:160px}.unmatched-table .td-phone[data-v-8b7566bd]{font-family:monospace;color:#555}.unmatched-table .td-ext-id[data-v-8b7566bd]{font-size:10px;color:#aaa;margin-top:2px;font-family:monospace}.unmatched-table .ext-badge[data-v-8b7566bd]{position:static;display:inline-block;margin-right:4px;vertical-align:middle}.assign-select[data-v-8b7566bd]{padding:4px 6px;font-size:12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;min-width:100px}.assign-select[data-v-8b7566bd]:focus{outline:none;border-color:#6a4b9c}.drawer-row .ext-badge[data-v-8b7566bd],.classic-row .ext-badge[data-v-8b7566bd]{position:static;display:inline-block;margin-right:4px;vertical-align:middle}.btn-kill[data-v-8b7566bd]{position:absolute;top:-8px;right:8px;background:#333;color:#fff;border:none;padding:3px 10px;border-radius:4px;font-size:11px;cursor:pointer;z-index:3}.btn-kill[data-v-8b7566bd]:hover{background:#111}.monster-item .ext-badge[data-v-8b7566bd]{top:-8px;left:8px}.toolbar[data-v-3b69dfac]{margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-bar[data-v-3b69dfac]{display:flex;align-items:center;gap:10px;margin-left:auto}.search-input[data-v-3b69dfac]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;width:220px;outline:none}.search-input[data-v-3b69dfac]:focus{border-color:#5c6bc0}.filter-select[data-v-3b69dfac]{min-width:160px}.filter-select-value[data-v-3b69dfac]{padding:8px 12px!important;font-size:13px!important;min-height:36px!important}.filter-select-value .placeholder[data-v-3b69dfac]{color:#999}.card[data-v-3b69dfac]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.table[data-v-3b69dfac]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-3b69dfac]{text-align:left;padding:14px 16px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-3b69dfac]{padding:12px 16px;border-bottom:1px solid #f5f5f5;color:#333}.table tbody tr[data-v-3b69dfac]:hover{background:#fafafa}.name-cell[data-v-3b69dfac]{font-weight:500}.link[data-v-3b69dfac]{color:#3498db;text-decoration:none;word-break:break-all}.link[data-v-3b69dfac]:hover{text-decoration:underline}.empty-text[data-v-3b69dfac]{color:#ccc}.empty[data-v-3b69dfac]{text-align:center;color:#999;padding:40px 0!important}.thumb[data-v-3b69dfac]{width:60px;height:40px;object-fit:cover;border-radius:4px;cursor:pointer;border:1px solid #eee}.thumb[data-v-3b69dfac]:hover{opacity:.8}.status-tag[data-v-3b69dfac]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;white-space:nowrap}.status-tag.dev[data-v-3b69dfac]{background:#f5f5f5;color:#999}.status-tag.demo[data-v-3b69dfac]{background:#e8f5e9;color:#4caf50}.status-tag.commercial[data-v-3b69dfac]{background:#e3f2fd;color:#2196f3}.id-cell[data-v-3b69dfac]{position:relative;padding-left:20px!important}.status-bar[data-v-3b69dfac]{position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:2px}.action-cell[data-v-3b69dfac]{white-space:nowrap}.btn-link[data-v-3b69dfac]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:4px 8px}.btn-link[data-v-3b69dfac]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-3b69dfac]{color:#e74c3c}.modal-mask[data-v-3b69dfac]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3b69dfac]{background:#fff;border-radius:12px;width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header[data-v-3b69dfac]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-3b69dfac]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-3b69dfac]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-close[data-v-3b69dfac]:hover{color:#333}.modal-body[data-v-3b69dfac]{padding:20px 24px}.modal-footer[data-v-3b69dfac]{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-group[data-v-3b69dfac]{margin-bottom:16px}.form-group label[data-v-3b69dfac]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-3b69dfac],.form-select[data-v-3b69dfac]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none}.form-group input[data-v-3b69dfac]:focus,.form-select[data-v-3b69dfac]:focus{border-color:#3498db}.required[data-v-3b69dfac]{color:#e74c3c}.upload-area[data-v-3b69dfac]{border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;outline:none}.upload-area[data-v-3b69dfac]:hover{border-color:#5c6bc0}.upload-hint[data-v-3b69dfac]{color:#999;font-size:13px}.preview-list[data-v-3b69dfac]{display:flex;gap:8px;flex-wrap:wrap}.preview-item[data-v-3b69dfac]{position:relative;width:64px;height:64px}.preview-item img[data-v-3b69dfac]{width:100%;height:100%;object-fit:cover;border-radius:6px;cursor:zoom-in}.preview-item .remove[data-v-3b69dfac]{position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:#ff4d4f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px}.btn-sm[data-v-3b69dfac]{border:none;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:12px}.btn-sm.btn-default[data-v-3b69dfac]{background:#f0f0f5;color:#333}.custom-select[data-v-3b69dfac]{position:relative;width:100%}.custom-select-value[data-v-3b69dfac]{width:100%;padding:8px 32px 8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;cursor:pointer;min-height:40px;background:#fff}.custom-select-value[data-v-3b69dfac]:hover{border-color:#3498db}.custom-select-arrow[data-v-3b69dfac]{font-size:10px;color:#999;position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.custom-select-dropdown[data-v-3b69dfac]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;max-height:240px;overflow-y:auto}.custom-select-option[data-v-3b69dfac]{padding:10px 12px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}.custom-select-option[data-v-3b69dfac]:hover{background:#f5f5f5}.custom-select-option.active[data-v-3b69dfac]{background:#e8f4fd}.ip-text[data-v-3b69dfac]{color:#999;font-size:13px}.btn[data-v-3b69dfac]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-3b69dfac]{background:#333;color:#fff}.btn-primary[data-v-3b69dfac]:hover{background:#555}.btn-default[data-v-3b69dfac]{background:#f5f5f5;color:#333}.btn-default[data-v-3b69dfac]:hover{background:#eee}.preview-overlay[data-v-3b69dfac]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out}.preview-full[data-v-3b69dfac]{max-width:90%;max-height:90%;border-radius:8px}.toolbar[data-v-04cb7d4f]{margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-bar[data-v-04cb7d4f]{display:flex;align-items:center;gap:10px;margin-left:auto}.search-input[data-v-04cb7d4f]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;width:200px;outline:none}.search-input[data-v-04cb7d4f]:focus{border-color:#5c6bc0}.filter-select-native[data-v-04cb7d4f]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;background:#fff;outline:none;min-width:110px}.card[data-v-04cb7d4f]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:auto}.table[data-v-04cb7d4f]{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;min-width:1080px}.table th[data-v-04cb7d4f]{text-align:left;padding:10px 8px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-04cb7d4f]{padding:10px 8px;border-bottom:1px solid #f5f5f5;color:#333;vertical-align:middle;overflow:hidden}.table tbody tr[data-v-04cb7d4f]:hover{background:#fafafa}.name-cell[data-v-04cb7d4f]{font-weight:500;white-space:nowrap}.col-idx[data-v-04cb7d4f]{width:44px}.col-status[data-v-04cb7d4f]{width:64px}.col-own[data-v-04cb7d4f]{width:52px}.col-ip[data-v-04cb7d4f]{width:128px}.col-os[data-v-04cb7d4f]{width:72px}.col-spec[data-v-04cb7d4f]{width:64px}.col-disk[data-v-04cb7d4f]{width:58px}.col-bt[data-v-04cb7d4f]{width:200px}.col-user[data-v-04cb7d4f]{width:80px}.col-pwd[data-v-04cb7d4f]{width:72px}.col-remark[data-v-04cb7d4f]{width:140px}.col-date[data-v-04cb7d4f]{width:96px;white-space:nowrap}.col-act[data-v-04cb7d4f]{width:168px}.ellipsis[data-v-04cb7d4f]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.link[data-v-04cb7d4f]{color:#3498db;text-decoration:none}.link[data-v-04cb7d4f]:hover{text-decoration:underline}.empty-text[data-v-04cb7d4f]{color:#ccc}.empty[data-v-04cb7d4f]{text-align:center;color:#999;padding:40px 0!important}.status-tag[data-v-04cb7d4f]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.status-tag.ok[data-v-04cb7d4f]{background:#e8f5e9;color:#43a047}.status-tag.idle[data-v-04cb7d4f]{background:#fff8e1;color:#f9a825}.status-tag.off[data-v-04cb7d4f]{background:#f5f5f5;color:#999}.own-tag[data-v-04cb7d4f]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.own-tag.test[data-v-04cb7d4f]{background:#e3f2fd;color:#1e88e5}.own-tag.prod[data-v-04cb7d4f]{background:#e8f5e9;color:#43a047}.own-tag.client[data-v-04cb7d4f]{background:#fce4ec;color:#e91e63}.action-cell[data-v-04cb7d4f]{white-space:nowrap}.btn[data-v-04cb7d4f]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-04cb7d4f]{background:#333;color:#fff}.btn-primary[data-v-04cb7d4f]:hover{background:#555}.btn-default[data-v-04cb7d4f]{background:#f5f5f5;color:#333}.btn-default[data-v-04cb7d4f]:hover{background:#eee}.btn-link[data-v-04cb7d4f]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-04cb7d4f]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-04cb7d4f]{color:#e74c3c}.modal-mask[data-v-04cb7d4f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-04cb7d4f]{background:#fff;border-radius:12px;width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.pwd-modal[data-v-04cb7d4f]{width:400px}.modal-header[data-v-04cb7d4f]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-04cb7d4f]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-04cb7d4f]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-body[data-v-04cb7d4f]{padding:18px 22px}.modal-footer[data-v-04cb7d4f]{padding:14px 22px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-row[data-v-04cb7d4f]{display:flex;gap:12px}.form-row .form-group[data-v-04cb7d4f]{flex:1}.form-group[data-v-04cb7d4f]{margin-bottom:14px}.form-group label[data-v-04cb7d4f]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-04cb7d4f],.form-select[data-v-04cb7d4f]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#fff}.form-group input[data-v-04cb7d4f]:focus,.form-select[data-v-04cb7d4f]:focus{border-color:#5c6bc0}.required[data-v-04cb7d4f]{color:#e74c3c}.pwd-box[data-v-04cb7d4f]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;padding:14px 16px;background:#f7f8fc;border-radius:8px;word-break:break-all;-webkit-user-select:all;user-select:all}.toolbar[data-v-117c7f6e]{margin-bottom:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.title-block[data-v-117c7f6e]{display:flex;flex-direction:column;gap:4px}.title-block h3[data-v-117c7f6e]{margin:0;font-size:16px;font-weight:600;color:#333}.sub[data-v-117c7f6e]{font-size:13px;color:#666;display:flex;align-items:center;gap:8px}.card[data-v-117c7f6e]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:auto}.table[data-v-117c7f6e]{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;min-width:900px}.table th[data-v-117c7f6e]{text-align:left;padding:12px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-117c7f6e]{padding:10px 12px;border-bottom:1px solid #f5f5f5;color:#333;overflow:hidden;vertical-align:middle}.table tbody tr[data-v-117c7f6e]:hover{background:#fafafa}.ellipsis[data-v-117c7f6e]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.link[data-v-117c7f6e]{color:#3498db;text-decoration:none}.link[data-v-117c7f6e]:hover{text-decoration:underline}.empty-text[data-v-117c7f6e]{color:#ccc}.empty[data-v-117c7f6e]{text-align:center;color:#999;padding:40px 0!important}.status-tag[data-v-117c7f6e]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.status-tag.ok[data-v-117c7f6e]{background:#e8f5e9;color:#43a047}.status-tag.idle[data-v-117c7f6e]{background:#fff8e1;color:#f9a825}.status-tag.off[data-v-117c7f6e]{background:#f5f5f5;color:#999}.action-cell[data-v-117c7f6e]{white-space:nowrap}.btn-link[data-v-117c7f6e]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-117c7f6e]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-117c7f6e]{color:#e74c3c}.btn[data-v-117c7f6e]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-117c7f6e]{background:#333;color:#fff}.btn-primary[data-v-117c7f6e]:hover{background:#555}.btn-default[data-v-117c7f6e]{background:#f5f5f5;color:#333}.btn-default[data-v-117c7f6e]:hover{background:#eee}.modal-mask[data-v-117c7f6e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-117c7f6e]{background:#fff;border-radius:12px;width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header[data-v-117c7f6e]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-117c7f6e]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-117c7f6e]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-body[data-v-117c7f6e]{padding:18px 22px}.modal-footer[data-v-117c7f6e]{padding:14px 22px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-group[data-v-117c7f6e]{margin-bottom:14px}.form-group label[data-v-117c7f6e]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-117c7f6e]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none}.form-group input[data-v-117c7f6e]:focus{border-color:#5c6bc0}.required[data-v-117c7f6e]{color:#e74c3c}.toolbar[data-v-4e424ab5]{margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-bar[data-v-4e424ab5]{display:flex;align-items:center;gap:10px;margin-left:auto}.search-input[data-v-4e424ab5]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;width:220px;outline:none}.search-input[data-v-4e424ab5]:focus{border-color:#5c6bc0}.filter-select-native[data-v-4e424ab5]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;background:#fff;outline:none;min-width:110px}.card[data-v-4e424ab5]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:auto}.table[data-v-4e424ab5]{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;min-width:1180px}.table th[data-v-4e424ab5]{text-align:left;padding:10px 8px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-4e424ab5]{padding:10px 8px;border-bottom:1px solid #f5f5f5;color:#333;vertical-align:middle;overflow:hidden}.table tbody tr[data-v-4e424ab5]:hover{background:#fafafa}.col-idx[data-v-4e424ab5]{width:44px}.col-name[data-v-4e424ab5]{width:120px}.col-url[data-v-4e424ab5]{width:140px}.col-clients[data-v-4e424ab5]{width:100px}.col-status[data-v-4e424ab5]{width:64px}.col-ip[data-v-4e424ab5]{width:120px}.col-git[data-v-4e424ab5]{width:140px}.col-branch[data-v-4e424ab5]{width:90px}.col-date[data-v-4e424ab5]{width:96px;white-space:nowrap}.col-act[data-v-4e424ab5]{width:168px}.name-cell[data-v-4e424ab5]{font-weight:500}.ellipsis[data-v-4e424ab5]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.link[data-v-4e424ab5]{color:#3498db;text-decoration:none}.link[data-v-4e424ab5]:hover{text-decoration:underline}.empty-text[data-v-4e424ab5]{color:#ccc}.empty[data-v-4e424ab5]{text-align:center;color:#999;padding:40px 0!important}.tag[data-v-4e424ab5]{display:inline-block;padding:1px 7px;margin:0 4px 2px 0;border-radius:8px;background:#eef0f8;color:#5c6bc0;font-size:12px}.status-tag[data-v-4e424ab5]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.status-tag.demo[data-v-4e424ab5]{background:#f5f5f5;color:#888}.status-tag.test[data-v-4e424ab5]{background:#fff8e1;color:#f9a825}.status-tag.online[data-v-4e424ab5]{background:#e8f5e9;color:#43a047}.action-cell[data-v-4e424ab5]{white-space:nowrap}.btn[data-v-4e424ab5]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-4e424ab5]{background:#333;color:#fff}.btn-primary[data-v-4e424ab5]:hover{background:#555}.btn-default[data-v-4e424ab5]{background:#f5f5f5;color:#333}.btn-default[data-v-4e424ab5]:hover{background:#eee}.btn-link[data-v-4e424ab5]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-4e424ab5]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-4e424ab5]{color:#e74c3c}.modal-mask[data-v-4e424ab5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-4e424ab5]{background:#fff;border-radius:12px;width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header[data-v-4e424ab5]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-4e424ab5]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-4e424ab5]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-body[data-v-4e424ab5]{padding:18px 22px}.modal-footer[data-v-4e424ab5]{padding:14px 22px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-row[data-v-4e424ab5]{display:flex;gap:12px}.form-row .form-group[data-v-4e424ab5]{flex:1}.form-group[data-v-4e424ab5]{margin-bottom:14px}.form-group label[data-v-4e424ab5]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-4e424ab5],.form-select[data-v-4e424ab5]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#fff}.form-group input[data-v-4e424ab5]:focus,.form-select[data-v-4e424ab5]:focus{border-color:#5c6bc0}.required[data-v-4e424ab5]{color:#e74c3c}.check-row[data-v-4e424ab5]{display:flex;gap:16px;flex-wrap:wrap;padding-top:4px}.check-item[data-v-4e424ab5]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#444;font-weight:400;cursor:pointer}.toolbar[data-v-02fed65c]{margin-bottom:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.title-block[data-v-02fed65c]{display:flex;flex-direction:column;gap:4px}.title-block h3[data-v-02fed65c]{margin:0;font-size:16px;font-weight:600;color:#333}.sub[data-v-02fed65c]{font-size:13px;color:#666}.card[data-v-02fed65c]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:auto}.table[data-v-02fed65c]{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed;min-width:960px}.table th[data-v-02fed65c]{text-align:left;padding:12px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-02fed65c]{padding:10px 12px;border-bottom:1px solid #f5f5f5;color:#333;overflow:hidden;vertical-align:middle}.table tbody tr[data-v-02fed65c]:hover{background:#fafafa}.ellipsis[data-v-02fed65c]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.link[data-v-02fed65c]{color:#3498db;text-decoration:none}.link[data-v-02fed65c]:hover{text-decoration:underline}.empty-text[data-v-02fed65c]{color:#ccc}.empty[data-v-02fed65c]{text-align:center;color:#999;padding:40px 0!important}.type-tag[data-v-02fed65c]{display:inline-block;padding:2px 8px;border-radius:8px;background:#eef0f8;color:#5c6bc0;font-size:12px}.action-cell[data-v-02fed65c]{white-space:nowrap}.btn-link[data-v-02fed65c]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-02fed65c]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-02fed65c]{color:#e74c3c}.btn[data-v-02fed65c]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-02fed65c]{background:#333;color:#fff}.btn-primary[data-v-02fed65c]:hover{background:#555}.btn-default[data-v-02fed65c]{background:#f5f5f5;color:#333}.btn-default[data-v-02fed65c]:hover{background:#eee}.modal-mask[data-v-02fed65c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-02fed65c]{background:#fff;border-radius:12px;width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header[data-v-02fed65c]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-02fed65c]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-02fed65c]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-body[data-v-02fed65c]{padding:18px 22px}.modal-footer[data-v-02fed65c]{padding:14px 22px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-row[data-v-02fed65c]{display:flex;gap:12px}.form-row .form-group[data-v-02fed65c]{flex:1}.form-group[data-v-02fed65c]{margin-bottom:14px}.form-group label[data-v-02fed65c]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-02fed65c],.form-select[data-v-02fed65c]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#fff}.form-group input[data-v-02fed65c]:focus,.form-select[data-v-02fed65c]:focus{border-color:#5c6bc0}.required[data-v-02fed65c]{color:#e74c3c}.toolbar[data-v-a964818e]{margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-bar[data-v-a964818e]{display:flex;align-items:center;gap:10px;margin-left:auto}.search-input[data-v-a964818e]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;width:240px;outline:none}.search-input[data-v-a964818e]:focus{border-color:#5c6bc0}.filter-select-native[data-v-a964818e]{padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;background:#fff;outline:none;min-width:110px}.card[data-v-a964818e]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;overflow:auto}.table[data-v-a964818e]{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;min-width:1100px}.table th[data-v-a964818e]{text-align:left;padding:10px 8px;background:#fafafa;color:#666;font-weight:500;border-bottom:1px solid #f0f0f0;white-space:nowrap}.table td[data-v-a964818e]{padding:10px 8px;border-bottom:1px solid #f5f5f5;color:#333;vertical-align:middle;overflow:hidden}.table tbody tr[data-v-a964818e]:hover{background:#fafafa}.col-idx[data-v-a964818e]{width:44px}.col-type[data-v-a964818e]{width:80px}.col-name[data-v-a964818e]{width:130px}.col-company[data-v-a964818e]{width:110px}.col-url[data-v-a964818e]{width:160px}.col-account[data-v-a964818e]{width:110px}.col-owner[data-v-a964818e]{width:100px}.col-remark[data-v-a964818e]{width:120px}.col-date[data-v-a964818e]{width:96px;white-space:nowrap}.col-act[data-v-a964818e]{width:110px}.name-cell[data-v-a964818e]{font-weight:500}.ellipsis[data-v-a964818e]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.link[data-v-a964818e]{color:#3498db;text-decoration:none}.link[data-v-a964818e]:hover{text-decoration:underline}.empty-text[data-v-a964818e]{color:#ccc}.empty[data-v-a964818e]{text-align:center;color:#999;padding:40px 0!important}.type-tag[data-v-a964818e]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.type-tag.sms[data-v-a964818e]{background:#e3f2fd;color:#1e88e5}.type-tag.ai[data-v-a964818e]{background:#f3e5f5;color:#8e24aa}.type-tag.oss[data-v-a964818e]{background:#e8f5e9;color:#43a047}.type-tag.pay[data-v-a964818e]{background:#fff3e0;color:#fb8c00}.type-tag.map[data-v-a964818e]{background:#e0f7fa;color:#00838f}.type-tag.push[data-v-a964818e]{background:#fce4ec;color:#e91e63}.type-tag.other[data-v-a964818e]{background:#f5f5f5;color:#888}.action-cell[data-v-a964818e]{white-space:nowrap}.btn[data-v-a964818e]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-a964818e]{background:#333;color:#fff}.btn-primary[data-v-a964818e]:hover{background:#555}.btn-default[data-v-a964818e]{background:#f5f5f5;color:#333}.btn-default[data-v-a964818e]:hover{background:#eee}.btn-link[data-v-a964818e]{background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;padding:2px 6px}.btn-link[data-v-a964818e]:hover{text-decoration:underline}.btn-link.btn-danger[data-v-a964818e]{color:#e74c3c}.modal-mask[data-v-a964818e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-a964818e]{background:#fff;border-radius:12px;width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-header[data-v-a964818e]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-a964818e]{margin:0;font-size:16px;font-weight:600}.modal-close[data-v-a964818e]{cursor:pointer;font-size:22px;color:#999;line-height:1}.modal-body[data-v-a964818e]{padding:18px 22px}.modal-footer[data-v-a964818e]{padding:14px 22px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.form-row[data-v-a964818e]{display:flex;gap:12px}.form-row .form-group[data-v-a964818e]{flex:1}.form-group[data-v-a964818e]{margin-bottom:14px}.form-group label[data-v-a964818e]{display:block;margin-bottom:6px;font-size:13px;color:#555;font-weight:500}.form-group input[data-v-a964818e],.form-select[data-v-a964818e]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#fff}.form-group input[data-v-a964818e]:focus,.form-select[data-v-a964818e]:focus{border-color:#5c6bc0}.required[data-v-a964818e]{color:#e74c3c}.testing-layout[data-v-999e7d63]{display:flex;gap:16px;height:calc(100vh - 96px)}.project-panel[data-v-999e7d63]{width:260px;flex-shrink:0;background:var(--card-bg, #fff);border-radius:12px;padding:14px 12px;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-999e7d63]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-title[data-v-999e7d63]{font-size:14px;font-weight:500;color:var(--text, #333)}.btn-add[data-v-999e7d63]{background:#333;color:#fff;border:none;width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;text-decoration:none}.btn-add[data-v-999e7d63]:hover{background:#555;color:#fff}.project-form[data-v-999e7d63]{margin-bottom:10px}.project-form input[data-v-999e7d63]{width:100%;padding:6px 8px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;outline:none;margin-bottom:6px;box-sizing:border-box;background:var(--card-bg, #fff);color:var(--text, #333)}.project-form input[data-v-999e7d63]:focus{border-color:#555}.linked-select[data-v-999e7d63]{width:100%;padding:6px 8px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:12px;outline:none;margin-bottom:6px;box-sizing:border-box;background:var(--card-bg, #fff);color:var(--text, #333)}.linked-select[data-v-999e7d63]:focus{border-color:#555}.project-form-btns[data-v-999e7d63]{display:flex;gap:6px}.btn-sm[data-v-999e7d63]{border:none;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:12px}.btn-sm.btn-primary[data-v-999e7d63]{background:#333;color:#fff}.btn-sm.btn-default[data-v-999e7d63]{background:var(--sidebar-bg, #f5f5f5);color:var(--text, #333)}.project-list[data-v-999e7d63]{flex:1;overflow-y:auto}.project-item[data-v-999e7d63]{display:flex;justify-content:space-between;align-items:center;padding:8px 6px;border-radius:8px;cursor:pointer;margin-bottom:4px;transition:background .15s}.project-item[data-v-999e7d63]:hover{background:var(--sidebar-bg, #f5f5f5)}.project-item.active[data-v-999e7d63]{background:var(--sidebar-bg, #f0f0f0);box-shadow:0 0 0 2px #555 inset}.project-item-main[data-v-999e7d63]{flex:1;overflow:hidden;min-width:0}.project-item-name[data-v-999e7d63]{font-size:13px;font-weight:500;color:var(--text, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-linked[data-v-999e7d63]{font-size:11px;color:#999;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item-actions[data-v-999e7d63]{display:none;gap:2px;flex-shrink:0;margin-left:4px}.project-item:hover .project-item-actions[data-v-999e7d63]{display:flex}.btn-item-edit[data-v-999e7d63],.btn-item-del[data-v-999e7d63]{border:none;background:transparent;cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px;color:#888}.btn-item-edit[data-v-999e7d63]:hover{color:#333;background:#0000000f}.btn-item-del[data-v-999e7d63]:hover{color:#e53935;background:#e5393514}.project-name[data-v-999e7d63]{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:var(--text, #333)}.project-actions[data-v-999e7d63]{display:none;gap:2px;flex-shrink:0}.project-item:hover .project-actions[data-v-999e7d63]{display:flex}.btn-tiny[data-v-999e7d63]{border:none;background:none;cursor:pointer;font-size:14px;color:#999;padding:0 2px;line-height:1}.btn-tiny[data-v-999e7d63]:hover{color:#5c6bc0}.btn-tiny.btn-danger[data-v-999e7d63]:hover{color:#ff4d4f}.empty-sm[data-v-999e7d63]{text-align:center;color:#ccc;font-size:13px;padding:24px 0}.bug-panel[data-v-999e7d63]{flex:1;min-width:0;display:flex;flex-direction:column}.card[data-v-999e7d63]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;flex:1;display:flex;flex-direction:column;overflow:hidden}.card-header[data-v-999e7d63]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f0f0f5;flex-shrink:0}.card-title[data-v-999e7d63]{font-size:15px;font-weight:500;color:#333}.table-wrapper[data-v-999e7d63]{flex:1;overflow-x:auto;overflow-y:auto}.table[data-v-999e7d63]{width:100%;border-collapse:collapse;min-width:980px}.table th[data-v-999e7d63]{padding:12px;font-size:12px;color:#999;font-weight:400;text-align:left;border-bottom:1px solid #f0f0f5;white-space:nowrap}.table td[data-v-999e7d63]{padding:12px;font-size:13px;color:#333;border-bottom:1px solid #f5f5fa}.table tr:last-child td[data-v-999e7d63]{border-bottom:none}.table tr:hover td[data-v-999e7d63]{background:#fafbff}.text-center[data-v-999e7d63]{text-align:center}.text-muted[data-v-999e7d63]{color:#999;font-size:12px}.wrap-cell[data-v-999e7d63]{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5}.thumb-list[data-v-999e7d63]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.thumb[data-v-999e7d63]{width:40px;height:40px;object-fit:cover;border-radius:4px;cursor:zoom-in}.status-tag[data-v-999e7d63]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.status-tag.open[data-v-999e7d63]{background:#e53935;color:#fff}.status-tag.fixing[data-v-999e7d63]{background:#e6f7ff;color:#1890ff}.status-tag.closed[data-v-999e7d63]{background:#f6ffed;color:#52c41a}.btn[data-v-999e7d63]{border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.btn-primary[data-v-999e7d63]{background:#333;color:#fff}.btn-primary[data-v-999e7d63]:hover{background:#555}.btn-primary[data-v-999e7d63]:disabled{opacity:.5}.btn-default[data-v-999e7d63]{background:#f0f0f5;color:#333}.btn-text[data-v-999e7d63]{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 6px}.btn-edit[data-v-999e7d63]{color:#5c6bc0}.btn-delete[data-v-999e7d63]{color:#ff4d4f}.empty[data-v-999e7d63]{text-align:center;color:#999;padding:60px;font-size:14px}.modal-mask[data-v-999e7d63]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-999e7d63]{background:#fff;border-radius:16px;width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0000001f}.modal-header[data-v-999e7d63]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0f0f5}.modal-header h3[data-v-999e7d63]{font-size:15px;font-weight:500;color:#333}.modal-close[data-v-999e7d63]{font-size:22px;color:#999;cursor:pointer}.modal-body[data-v-999e7d63]{padding:20px 22px}.modal-footer[data-v-999e7d63]{padding:14px 22px;border-top:1px solid #f0f0f5;display:flex;justify-content:flex-end;gap:10px}.form-group[data-v-999e7d63]{margin-bottom:14px}.form-group label[data-v-999e7d63]{display:block;margin-bottom:6px;font-size:13px;color:#333;font-weight:500}.required[data-v-999e7d63]{color:#ff4d4f}.form-group input[data-v-999e7d63],.form-group textarea[data-v-999e7d63]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none}.form-group input[data-v-999e7d63]:focus,.form-group textarea[data-v-999e7d63]:focus{border-color:#5c6bc0}.upload-area[data-v-999e7d63]{border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;outline:none}.upload-area[data-v-999e7d63]:hover{border-color:#5c6bc0}.upload-hint[data-v-999e7d63]{color:#999;font-size:13px}.preview-list[data-v-999e7d63]{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.preview-item[data-v-999e7d63]{position:relative;width:64px;height:64px}.preview-item img[data-v-999e7d63]{width:100%;height:100%;object-fit:cover;border-radius:6px;cursor:zoom-in}.preview-item .remove[data-v-999e7d63]{position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:#ff4d4f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px}.image-viewer[data-v-999e7d63]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.image-viewer img[data-v-999e7d63]{max-width:90%;max-height:90%;border-radius:4px}.id-cell[data-v-999e7d63]{position:relative;padding-left:14px!important}.severity-bar[data-v-999e7d63]{position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:2px}.quip[data-v-999e7d63]{color:#999;font-size:12px;font-weight:400}.form-select[data-v-999e7d63]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none;background:#fff}.form-select[data-v-999e7d63]:focus{border-color:#5c6bc0}.img-count[data-v-999e7d63]{color:#999;font-weight:400;font-size:12px}.tab-bar[data-v-999e7d63]{display:flex;gap:0;padding:0 22px;border-bottom:1px solid #f0f0f5}.tab-item[data-v-999e7d63]{padding:10px 20px;font-size:14px;cursor:pointer;color:#999;border-bottom:2px solid transparent;transition:all .2s}.tab-item.active[data-v-999e7d63]{color:#333;font-weight:500;border-bottom-color:#333}.tab-item[data-v-999e7d63]:hover{color:#333}.field-hint[data-v-999e7d63]{font-size:12px;color:#999;margin-bottom:8px}.steps-list[data-v-999e7d63]{display:flex;flex-direction:column;gap:6px}.step-row[data-v-999e7d63]{display:flex;align-items:center;gap:6px}.step-num[data-v-999e7d63]{font-size:13px;color:#999;min-width:20px;text-align:right}.step-input[data-v-999e7d63]{flex:1;padding:7px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none}.step-input[data-v-999e7d63]:focus{border-color:#5c6bc0}.step-remove[data-v-999e7d63]{border:none;background:none;color:#ccc;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.step-remove[data-v-999e7d63]:hover{color:#ff4d4f}.step-add[data-v-999e7d63]{border:none;background:none;color:#5c6bc0;font-size:13px;cursor:pointer;padding:4px 0;text-align:left;margin-top:2px}.step-add[data-v-999e7d63]:hover{text-decoration:underline}.type-tag[data-v-999e7d63]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.type-tag.function[data-v-999e7d63]{background:#e8eaf6;color:#5c6bc0}.type-tag.ui[data-v-999e7d63]{background:#fff3e0;color:#e67e22}.remark-cell[data-v-999e7d63]{font-size:12px;color:#666;max-width:180px}.action-cell[data-v-999e7d63]{position:relative;white-space:nowrap}.btn-handle[data-v-999e7d63]{color:#5c6bc0!important}.handle-menu[data-v-999e7d63]{position:absolute;right:0;top:100%;z-index:10;background:#fff;border-radius:10px;box-shadow:0 4px 20px #0000001f;width:220px;padding:6px 0;text-align:left}.handle-option[data-v-999e7d63]{padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.handle-option[data-v-999e7d63]:hover{background:#f5f5fa}.handle-label[data-v-999e7d63]{font-size:13px;font-weight:500;color:#333}.handle-desc[data-v-999e7d63]{font-size:11px;color:#999}.status-tag.verifying[data-v-999e7d63]{color:#fb8c00}.status-tag.closed[data-v-999e7d63]{color:#43a047}.canvas-page[data-v-6eaec96b]{padding:8px 0 24px}.page-header[data-v-6eaec96b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-left[data-v-6eaec96b]{display:flex;align-items:baseline;gap:12px}.header-left h2[data-v-6eaec96b]{font-size:18px;font-weight:600;color:#333}.subtitle[data-v-6eaec96b]{font-size:12px;color:#999}.btn-primary[data-v-6eaec96b]{padding:8px 16px;background:#333;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary[data-v-6eaec96b]:hover{background:#555}.btn-ghost[data-v-6eaec96b]{padding:8px 16px;background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px}.btn-ghost[data-v-6eaec96b]:hover{color:#333}.empty[data-v-6eaec96b]{text-align:center;color:#999;padding:80px 0}.empty-icon[data-v-6eaec96b]{font-size:48px;margin-bottom:12px}.canvas-grid[data-v-6eaec96b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.canvas-card[data-v-6eaec96b]{position:relative;background:#fff;border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:0 1px 4px #0000000a;transition:all .2s;border:1px solid #f0f0f5}.canvas-card[data-v-6eaec96b]:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.card-preview[data-v-6eaec96b]{height:120px;background:#fafbff;border-bottom:1px solid #f0f0f5;position:relative;padding:8px;display:flex;align-items:center;justify-content:center}.mini-grid[data-v-6eaec96b]{width:100%;height:100%;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);gap:2px}.mini-cell[data-v-6eaec96b]{background:#c8ccd6;border-radius:2px}.preview-empty[data-v-6eaec96b]{color:#c0c4cc;font-size:12px;position:absolute}.card-body[data-v-6eaec96b]{padding:10px 12px}.card-title[data-v-6eaec96b]{font-size:14px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.card-meta[data-v-6eaec96b]{font-size:12px;color:#999;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.readonly-tag[data-v-6eaec96b]{margin-left:auto;color:#888;background:#f3f4f8;padding:1px 6px;border-radius:3px;font-size:11px}.card-actions[data-v-6eaec96b]{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.canvas-card:hover .card-actions[data-v-6eaec96b]{opacity:1}.card-btn[data-v-6eaec96b]{width:26px;height:26px;padding:0;border:none;background:#ffffffeb;border-radius:6px;cursor:pointer;font-size:13px;box-shadow:0 1px 4px #00000014}.card-btn[data-v-6eaec96b]:hover{background:#fff}.card-btn.danger[data-v-6eaec96b]:hover{color:#e53935}.modal-overlay[data-v-6eaec96b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-6eaec96b]{background:#fff;border-radius:12px;width:420px;box-shadow:0 8px 32px #00000026}.modal-header[data-v-6eaec96b]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f5}.modal-header h3[data-v-6eaec96b]{font-size:15px;font-weight:600;color:#333}.modal-close[data-v-6eaec96b]{background:none;border:none;font-size:22px;color:#999;cursor:pointer;line-height:1}.modal-close[data-v-6eaec96b]:hover{color:#333}.modal-body[data-v-6eaec96b]{padding:20px}.form-row[data-v-6eaec96b]{display:flex;flex-direction:column;gap:6px}.form-row label[data-v-6eaec96b]{font-size:13px;color:#666}.modal-input[data-v-6eaec96b]{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none}.modal-input[data-v-6eaec96b]:focus{border-color:#5c6bc0}.modal-footer[data-v-6eaec96b]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f5}.editor-page[data-v-a9e3d218]{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:0 0 -16px}.toolbar[data-v-a9e3d218]{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 12px;border-radius:10px;box-shadow:0 1px 4px #0000000a;margin-bottom:8px}.tool-group[data-v-a9e3d218]{display:flex;align-items:center;gap:6px}.canvas-title[data-v-a9e3d218]{font-size:14px;font-weight:600;color:#333;margin-left:8px}.readonly-badge[data-v-a9e3d218]{margin-left:10px;font-size:11px;color:#888;background:#f3f4f8;padding:2px 8px;border-radius:3px;font-weight:400}.tool-btn[data-v-a9e3d218]{padding:6px 12px;background:#f5f6fa;color:#555;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.tool-btn[data-v-a9e3d218]:hover:not(:disabled){background:#ebedf3;color:#333}.tool-btn.active[data-v-a9e3d218]{background:#5c6bc0;color:#fff}.tool-btn.primary[data-v-a9e3d218]{background:#333;color:#fff}.tool-btn.primary[data-v-a9e3d218]:hover:not(:disabled){background:#555}.tool-btn[data-v-a9e3d218]:disabled{opacity:.4;cursor:not-allowed}.divider[data-v-a9e3d218]{width:1px;height:18px;background:#e0e0e8;margin:0 4px}.canvas-wrap[data-v-a9e3d218]{flex:1;overflow:auto;background:#edeef3;padding:24px;border-radius:10px}.canvas-area[data-v-a9e3d218]{position:relative;background-color:#fff;background-image:linear-gradient(to right,#ecedf2 1px,transparent 1px),linear-gradient(to bottom,#ecedf2 1px,transparent 1px);box-shadow:0 2px 12px #0000000f;cursor:crosshair;-webkit-user-select:none;user-select:none}.cell-block[data-v-a9e3d218]{position:absolute;background:#c8ccd6;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#2c3038;cursor:move;padding:6px 10px;box-sizing:border-box;transition:box-shadow .15s,background .15s;text-align:center;word-break:break-word;line-height:1.4}.cell-block[data-v-a9e3d218]:hover{background:#b8bcc7}.cell-block.selected[data-v-a9e3d218]{background:#a8b0c2;box-shadow:0 0 0 2px #5c6bc0}.cell-text[data-v-a9e3d218]{pointer-events:none;max-width:100%;white-space:pre-wrap;word-break:break-word;text-align:center}.cell-edit[data-v-a9e3d218]{width:100%;height:100%;border:none;outline:none;background:#fff;padding:6px 10px;box-sizing:border-box;font-size:13px;resize:none;text-align:center;font-family:inherit;line-height:1.4}.cell-actions[data-v-a9e3d218]{position:absolute;top:-14px;right:-8px;display:flex;gap:3px;z-index:5}.cell-btn[data-v-a9e3d218]{width:24px;height:24px;padding:0;border:none;background:#fff;color:#555;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.cell-btn[data-v-a9e3d218]:hover{background:#f5f5f5;color:#5c6bc0}.cell-btn.danger[data-v-a9e3d218]:hover{color:#e53935}.color-picker[data-v-a9e3d218]{position:absolute;top:22px;right:-8px;z-index:6;background:#fff;border-radius:8px;padding:6px;box-shadow:0 4px 14px #0000002e;display:grid;grid-template-columns:repeat(6,18px);gap:4px}.color-swatch[data-v-a9e3d218]{width:18px;height:18px;border-radius:4px;cursor:pointer;border:1px solid rgba(0,0,0,.06)}.color-swatch[data-v-a9e3d218]:hover{transform:scale(1.15)}.color-swatch.active[data-v-a9e3d218]{box-shadow:0 0 0 2px #5c6bc0}.select-frame[data-v-a9e3d218]{position:absolute;background:#5c6bc01f;border:1.5px dashed #5c6bc0;border-radius:4px;pointer-events:none}.pending-frame[data-v-a9e3d218]{position:absolute;background:#5c6bc014;border:2px dashed #5c6bc0;border-radius:6px;pointer-events:auto}.pending-actions[data-v-a9e3d218]{position:absolute;top:-14px;right:-4px;display:flex;gap:4px}.pending-btn[data-v-a9e3d218]{width:24px;height:24px;padding:0;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.pending-btn.confirm[data-v-a9e3d218]{background:#4caf50;color:#fff}.pending-btn.confirm[data-v-a9e3d218]:hover{background:#43a047}.pending-btn.cancel[data-v-a9e3d218]{background:#fff;color:#666}.pending-btn.cancel[data-v-a9e3d218]:hover{background:#f5f5f5;color:#e53935}.group-frame[data-v-a9e3d218]{position:absolute;border:2.5px solid #6b6f7a;border-radius:6px;background:transparent;pointer-events:auto;cursor:pointer;box-sizing:content-box;margin-left:-2.5px;margin-top:-2.5px}.group-name[data-v-a9e3d218]{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:#fff;padding:0 8px;line-height:18px;height:18px;font-size:12px;color:#555;font-weight:500;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;border-radius:3px;-webkit-user-select:none;user-select:none}.group-frame.active .group-name[data-v-a9e3d218]{color:#5c6bc0}.group-frame[data-v-a9e3d218]:hover{border-color:#5c6bc0}.group-frame.active[data-v-a9e3d218]{border-color:#5c6bc0;box-shadow:0 0 0 3px #5c6bc033}.export-frame[data-v-a9e3d218]{position:absolute;background:transparent;border:1.5px dashed #999;border-radius:4px;pointer-events:none}.status-bar[data-v-a9e3d218]{background:#fff;padding:6px 14px;border-radius:10px;font-size:12px;color:#888;margin-top:8px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 4px #0000000a}.dirty-tag[data-v-a9e3d218]{margin-left:auto;color:#e53935}.release-check-page[data-v-7d5b1cbd]{width:100%}.toolbar[data-v-7d5b1cbd]{margin-bottom:16px;display:flex;gap:8px}.btn[data-v-7d5b1cbd]{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:none;transition:all .15s}.btn-primary[data-v-7d5b1cbd]{background:#333;color:#fff}.btn-primary[data-v-7d5b1cbd]:hover{background:#555}.btn-default[data-v-7d5b1cbd]{background:#f5f5f5;color:#666;border:1px solid #e0e0e0}.btn-default[data-v-7d5b1cbd]:hover{background:#eee}.btn-text[data-v-7d5b1cbd]{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 6px}.btn-delete[data-v-7d5b1cbd]{color:#e53935}.btn-supplement[data-v-7d5b1cbd]{color:#3498db}.card[data-v-7d5b1cbd]{background:#fff;border-radius:10px;margin-bottom:12px;box-shadow:0 1px 4px #0000000a}.card-header[data-v-7d5b1cbd]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f5f5fa}.card-header-left[data-v-7d5b1cbd]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.card-header-right[data-v-7d5b1cbd]{display:flex;align-items:center;gap:10px;flex-shrink:0}.desc-text[data-v-7d5b1cbd]{font-size:13px;color:#999}.supplement-text[data-v-7d5b1cbd]{color:#3498db;font-size:12px}.time-text[data-v-7d5b1cbd]{font-size:12px;color:#999}.user-name[data-v-7d5b1cbd]{font-size:13px;color:#333;font-weight:500;margin-right:8px}.status-tag[data-v-7d5b1cbd]{font-size:12px;padding:2px 8px;border-radius:10px;flex-shrink:0}.tag-pending[data-v-7d5b1cbd]{background:#fff3e0;color:#e65100}.tag-done[data-v-7d5b1cbd]{background:#e8f5e9;color:#2e7d32}.card-body[data-v-7d5b1cbd]{padding:12px 16px}.screenshot-grid[data-v-7d5b1cbd]{display:flex;gap:8px;flex-wrap:wrap}.form-grid[data-v-7d5b1cbd]{max-width:none}.screenshot-item[data-v-7d5b1cbd]{width:100px;height:75px;border-radius:8px;overflow:hidden;position:relative;flex-shrink:0}.screenshot-item img[data-v-7d5b1cbd]{width:100%;height:100%;object-fit:cover}.screenshot-item.has-img[data-v-7d5b1cbd]{cursor:pointer;border:1px solid #eee}.screenshot-item.has-img:hover .remove-hint[data-v-7d5b1cbd]{opacity:1}.remove-hint[data-v-7d5b1cbd]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ef4444b3;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.upload-slot[data-v-7d5b1cbd]{border:2px dashed #ddd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;outline:none;cursor:text;transition:all .15s}.upload-slot[data-v-7d5b1cbd]:focus{border-color:#5c6bc0;background:#f5f6ff}.paste-tip[data-v-7d5b1cbd]{font-size:11px;color:#bbb;pointer-events:none}.upload-btn[data-v-7d5b1cbd]{display:inline-block;padding:4px 12px;font-size:12px;background:#f5f5f5;border:1px dashed #ccc;border-radius:4px;cursor:pointer;color:#666}.upload-btn[data-v-7d5b1cbd]:hover{border-color:#5c6bc0;color:#5c6bc0}.count-tip[data-v-7d5b1cbd]{font-size:12px;color:#999;margin-top:6px}.empty-text[data-v-7d5b1cbd]{color:#999;font-size:13px;padding:8px 0}.empty-state[data-v-7d5b1cbd]{text-align:center;color:#999;padding:60px 0;font-size:14px}.modal-overlay[data-v-7d5b1cbd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-7d5b1cbd]{background:#fff;border-radius:12px;width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-header[data-v-7d5b1cbd]{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #f0f0f5;gap:8px}.modal-header h3[data-v-7d5b1cbd]{font-size:16px;font-weight:600;color:#333;flex-shrink:0}.form-warning[data-v-7d5b1cbd]{font-size:12px;color:#e53935;margin:0}.modal-close[data-v-7d5b1cbd]{background:none;border:none;font-size:22px;color:#999;cursor:pointer;margin-left:auto}.modal-body[data-v-7d5b1cbd]{flex:1;overflow-y:auto;padding:16px 20px}.modal-footer[data-v-7d5b1cbd]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #f0f0f5}.form-group[data-v-7d5b1cbd]{margin-bottom:16px}.form-group label[data-v-7d5b1cbd]{display:block;font-size:13px;color:#666;margin-bottom:6px}.form-textarea[data-v-7d5b1cbd]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;resize:vertical;box-sizing:border-box;font-family:inherit}.form-textarea[data-v-7d5b1cbd]:focus{border-color:#5c6bc0}.preview-overlay[data-v-7d5b1cbd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:pointer}.preview-img[data-v-7d5b1cbd]{max-width:90vw;max-height:90vh;border-radius:8px}.leave-page[data-v-3aa63516]{display:flex;height:calc(100vh - 60px);gap:0}.user-panel[data-v-3aa63516]{width:220px;border-right:1px solid #eee;padding:16px 12px;overflow-y:auto;background:#fafafa}.panel-title[data-v-3aa63516]{font-size:15px;font-weight:600;margin-bottom:12px;color:#333}.user-card[data-v-3aa63516]{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;margin-bottom:4px;transition:background .15s}.user-card[data-v-3aa63516]:hover{background:#f0f0f0}.user-card.active[data-v-3aa63516]{background:#e8e8e8}.card-avatar[data-v-3aa63516]{width:36px;height:36px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#ddd;display:flex;align-items:center;justify-content:center}.avatar-img[data-v-3aa63516]{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.avatar-fallback[data-v-3aa63516]{font-size:14px;font-weight:600;color:#666}.card-info[data-v-3aa63516]{flex:1;min-width:0}.card-name[data-v-3aa63516]{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta[data-v-3aa63516]{font-size:11px;margin-top:2px;display:flex;align-items:center;gap:6px}.card-badge[data-v-3aa63516]{background:#e74c3c;color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 4px}.balance-pos[data-v-3aa63516]{color:#43a047}.balance-neg[data-v-3aa63516]{color:#e53935}.empty-hint[data-v-3aa63516]{color:#999;text-align:center;padding:20px;font-size:13px}.content-panel[data-v-3aa63516]{flex:1;padding:20px 24px;overflow-y:auto}.overview-header[data-v-3aa63516],.detail-header[data-v-3aa63516]{display:flex;align-items:center;gap:16px;margin-bottom:16px}.header-actions[data-v-3aa63516]{margin-left:auto;display:flex;gap:8px}.s-table[data-v-3aa63516]{width:100%;border-collapse:collapse;font-size:13px}.s-table th[data-v-3aa63516]{padding:10px 12px;background:#fafafa;border-bottom:2px solid #eee;text-align:left;font-weight:600;color:#666;font-size:12px}.s-table td[data-v-3aa63516]{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.s-table tr:hover td[data-v-3aa63516]{background:#fafafa}.status-tag[data-v-3aa63516]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.tag-ok[data-v-3aa63516]{background:#e8f5e9;color:#2e7d32}.tag-bad[data-v-3aa63516]{background:#ffebee;color:#c62828}.type-tag[data-v-3aa63516]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}.tag-passive[data-v-3aa63516]{background:#e3f2fd;color:#1565c0}.tag-active[data-v-3aa63516]{background:#fff3e0;color:#e65100}.tag-absent[data-v-3aa63516]{background:#ffebee;color:#c62828}.tag-leave[data-v-3aa63516]{background:#e8eaf6;color:#283593}.tag-active-leave[data-v-3aa63516]{background:#fff3e0;color:#e65100}.approval-tag[data-v-3aa63516]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px}.tag-pending[data-v-3aa63516]{background:#fff8e1;color:#f57f17}.tag-approved[data-v-3aa63516]{background:#e8f5e9;color:#2e7d32}.tag-rejected[data-v-3aa63516]{background:#ffebee;color:#c62828}.btn[data-v-3aa63516]{padding:6px 14px;border-radius:6px;border:none;font-size:13px;cursor:pointer;transition:opacity .15s}.btn[data-v-3aa63516]:hover{opacity:.85}.btn-primary[data-v-3aa63516]{background:#333;color:#fff;border:1px solid #333;border-radius:6px;cursor:pointer}.btn-secondary[data-v-3aa63516]{background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-default[data-v-3aa63516]{background:#fff;color:#666;border:1px solid #ddd}.btn-sm[data-v-3aa63516]{padding:4px 10px;font-size:12px;border-radius:6px}.btn-text[data-v-3aa63516]{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 6px}.btn-approve[data-v-3aa63516]{color:#43a047}.btn-reject[data-v-3aa63516]{color:#e53935}.btn-delete[data-v-3aa63516]{color:#999}.btn-delete[data-v-3aa63516]:hover{color:#e53935}.btn-detail[data-v-3aa63516]{color:#5c6bc0}.btn-detail[data-v-3aa63516]:hover{color:#3949ab}.detail-row[data-v-3aa63516]{display:flex;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f5f5f5}.detail-row[data-v-3aa63516]:last-child{border-bottom:none}.detail-label[data-v-3aa63516]{width:70px;flex-shrink:0;color:#999;font-size:13px}.detail-value[data-v-3aa63516]{flex:1;font-size:13px;color:#333}.detail-images[data-v-3aa63516]{display:flex;flex-wrap:wrap;gap:8px}.detail-img[data-v-3aa63516]{width:120px;height:90px;object-fit:cover;border-radius:6px;cursor:pointer;border:1px solid #eee}.stat-cards[data-v-3aa63516]{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.stat-card[data-v-3aa63516]{flex:1;min-width:140px;padding:14px 16px;background:#fafafa;border-radius:10px;border:1px solid #eee}.stat-label[data-v-3aa63516]{font-size:12px;color:#888;margin-bottom:4px}.stat-value[data-v-3aa63516]{font-size:22px;font-weight:700;color:#333}.stat-sub[data-v-3aa63516]{font-size:11px;color:#999;margin-top:2px}.stat-red[data-v-3aa63516]{color:#e53935}.card-ok[data-v-3aa63516]{border-color:#a5d6a7;background:#f1f8e9}.card-bad[data-v-3aa63516]{border-color:#ef9a9a;background:#fff3f0}.calendar-section[data-v-3aa63516]{margin-top:20px}.calendar-toolbar[data-v-3aa63516]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.calendar-label[data-v-3aa63516]{font-size:14px;font-weight:600}.calendar-grid[data-v-3aa63516]{overflow-x:auto}.cal-header[data-v-3aa63516],.cal-row[data-v-3aa63516]{display:flex}.cal-name-cell[data-v-3aa63516]{width:80px;min-width:80px;padding:6px 8px;font-size:12px;font-weight:500;border-bottom:1px solid #f0f0f0;display:flex;align-items:center}.cal-day-cell[data-v-3aa63516]{width:36px;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:11px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f8f8f8;cursor:pointer}.cal-day-cell[data-v-3aa63516]:hover{background:#f0f0f0}.cell-empty[data-v-3aa63516]{background:#fff}.cell-absent[data-v-3aa63516]{background:#ffebee;color:#c62828}.cell-leave[data-v-3aa63516]{background:#e8eaf6;color:#283593}.cell-active-leave[data-v-3aa63516]{background:#fff3e0;color:#e65100}.cell-full[data-v-3aa63516]{background:#e8f5e9}.cal-check[data-v-3aa63516]{color:#43a047;font-weight:700}.cal-text[data-v-3aa63516]{font-size:10px}.person-calendar[data-v-3aa63516]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:20px}.pc-day[data-v-3aa63516]{min-height:60px;border-radius:6px;padding:4px 6px;cursor:pointer;transition:background .15s}.pc-day[data-v-3aa63516]:hover{opacity:.85}.pc-normal[data-v-3aa63516]{background:#f9f9f9;border:1px solid #eee}.pc-absent[data-v-3aa63516]{background:#ffebee;border:1px solid #ef9a9a}.pc-leave[data-v-3aa63516]{background:#e8eaf6;border:1px solid #9fa8da}.pc-active-leave[data-v-3aa63516]{background:#fff3e0;border:1px solid #ffcc80}.pc-full[data-v-3aa63516]{background:#e8f5e9;border:1px solid #a5d6a7}.pc-day-num[data-v-3aa63516]{font-size:12px;color:#666;font-weight:500}.pc-day-content[data-v-3aa63516]{font-size:10px;color:#333;margin-top:2px}.pc-full .pc-day-content[data-v-3aa63516]{color:#43a047;font-weight:700;font-size:14px}.detail-section[data-v-3aa63516]{margin-top:24px}.section-header[data-v-3aa63516]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.section-header h5[data-v-3aa63516]{font-size:14px;font-weight:600;color:#333}.wr-modal[data-v-3aa63516]{width:440px;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px #00000026}.wr-modal-header[data-v-3aa63516]{padding:20px 24px 16px;border-bottom:none}.wr-modal-header h3[data-v-3aa63516]{font-size:16px;font-weight:600;color:#1a1a1a}.wr-date-badge[data-v-3aa63516]{display:inline-block;margin-left:12px;padding:2px 10px;background:#f5f5f5;color:#666;font-size:12px;border-radius:10px}.wr-modal-body[data-v-3aa63516]{padding:8px 24px 20px}.wr-modal-footer[data-v-3aa63516]{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:8px}.wr-section[data-v-3aa63516]{margin-bottom:20px}.wr-section[data-v-3aa63516]:last-child{margin-bottom:0}.wr-label[data-v-3aa63516]{font-size:13px;color:#666;margin-bottom:10px;font-weight:500}.wr-hint[data-v-3aa63516]{font-size:12px;color:#999;margin-top:8px;padding:8px 12px;background:#fff8e1;border-radius:6px;color:#b26a00}.wr-type-cards[data-v-3aa63516]{display:flex;gap:10px}.wr-type-card[data-v-3aa63516]{flex:1;display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e8e8e8;border-radius:10px;cursor:pointer;transition:all .2s;position:relative;background:#fafafa}.wr-type-card[data-v-3aa63516]:hover{border-color:#ccc;background:#f5f5f5}.wr-type-card.active.workday[data-v-3aa63516]{border-color:#4caf50;background:#f1f8e9}.wr-type-card.active.restday[data-v-3aa63516]{border-color:#ff9800;background:#fff3e0}.wr-type-card.active .wr-type-name[data-v-3aa63516]{color:#1a1a1a}.wr-type-icon[data-v-3aa63516]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wr-icon-work[data-v-3aa63516]{background:#e8f5e9;color:#4caf50}.wr-icon-rest[data-v-3aa63516]{background:#fff3e0;color:#ff9800}.wr-type-card.active .wr-icon-work[data-v-3aa63516]{background:#4caf50;color:#fff}.wr-type-card.active .wr-icon-rest[data-v-3aa63516]{background:#ff9800;color:#fff}.wr-type-info[data-v-3aa63516]{flex:1}.wr-type-name[data-v-3aa63516]{font-size:14px;font-weight:600;color:#333}.wr-type-desc[data-v-3aa63516]{font-size:12px;color:#999;margin-top:2px}.wr-type-check[data-v-3aa63516]{color:#4caf50;flex-shrink:0}.wr-row[data-v-3aa63516]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fafafa;border-radius:10px;border:1px solid #eee}.wr-row-label[data-v-3aa63516]{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;font-weight:500}.wr-row-label svg[data-v-3aa63516]{color:#666}.wr-icon-loop[data-v-3aa63516]{font-size:18px;color:#666;font-weight:700}.wr-toggle[data-v-3aa63516]{width:44px;height:24px;border-radius:12px;background:#ddd;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.wr-toggle.on[data-v-3aa63516]{background:#333}.wr-toggle-thumb[data-v-3aa63516]{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px #0003}.wr-toggle.on .wr-toggle-thumb[data-v-3aa63516]{left:22px}.wr-cycle-options[data-v-3aa63516]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wr-cycle-btn[data-v-3aa63516]{flex:1;min-width:70px;padding:10px 12px;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:all .2s;background:#fff}.wr-cycle-btn[data-v-3aa63516]:hover{border-color:#ccc}.wr-cycle-btn.active[data-v-3aa63516]{border-color:#333;background:#333;color:#fff}.wr-cycle-num[data-v-3aa63516]{font-size:18px;font-weight:600}.wr-cycle-label[data-v-3aa63516]{font-size:11px;color:#999}.wr-cycle-btn.active .wr-cycle-label[data-v-3aa63516]{color:#ffffffb3}.wr-cycle-input-wrap[data-v-3aa63516]{display:flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid #e8e8e8;border-radius:8px;background:#fff}.wr-cycle-input[data-v-3aa63516]{width:50px;border:none;outline:none;font-size:14px;font-weight:600;color:#333;text-align:center}.wr-cycle-input[data-v-3aa63516]::-webkit-inner-spin-button{-webkit-appearance:none}.wr-cycle-unit[data-v-3aa63516]{font-size:12px;color:#999}.cal-day-head[data-v-3aa63516]{font-weight:600;color:#555;background:#fafafa;transition:all .15s}.cal-day-clickable[data-v-3aa63516]{cursor:pointer}.cal-day-clickable[data-v-3aa63516]:hover{background:#e3f2fd!important;color:#1976d2!important}.cal-day-head.cal-day-work[data-v-3aa63516]{background:#e3f2fd;color:#1565c0}.cal-day-head.cal-day-rest[data-v-3aa63516]{background:#fff3e0;color:#e65100}.modal-mask[data-v-3aa63516]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3aa63516]{background:#fff;border-radius:12px;width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-header[data-v-3aa63516]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-3aa63516]{font-size:15px;font-weight:600}.modal-close[data-v-3aa63516]{font-size:20px;cursor:pointer;color:#999;background:none;border:none}.modal-body[data-v-3aa63516]{padding:16px 20px;overflow-y:auto}.modal-footer[data-v-3aa63516]{padding:12px 20px;border-top:1px solid #f0f0f0;text-align:right}.form-group[data-v-3aa63516]{margin-bottom:14px}.form-group label[data-v-3aa63516]{display:block;font-size:13px;color:#666;margin-bottom:4px}.form-group input[data-v-3aa63516],.form-group select[data-v-3aa63516],.form-group textarea[data-v-3aa63516]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.form-group input[data-v-3aa63516]:focus,.form-group select[data-v-3aa63516]:focus,.form-group textarea[data-v-3aa63516]:focus{border-color:#5c6bc0}.required[data-v-3aa63516]{color:#e53935}.help-tip[data-v-3aa63516]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eee;color:#666;font-size:11px;cursor:help;position:relative}.tip-content[data-v-3aa63516]{position:absolute;top:100%;left:0;background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;line-height:1.6;white-space:nowrap;z-index:100;margin-top:4px}.upload-area[data-v-3aa63516]{border:2px dashed #ddd;border-radius:8px;padding:16px;text-align:center;cursor:pointer;min-height:80px;outline:none;transition:border-color .2s}.upload-area[data-v-3aa63516]:focus{border-color:#999}.upload-hint[data-v-3aa63516]{color:#999;font-size:13px;margin:0}.upload-sub-hint[data-v-3aa63516]{color:#bbb;font-size:11px;margin:4px 0 0}.upload-warning[data-v-3aa63516]{color:#e74c3c;font-size:12px;font-weight:600;margin:4px 0 0}.required-mark[data-v-3aa63516]{color:#e74c3c;margin-left:2px}.preview-list[data-v-3aa63516]{display:flex;flex-wrap:wrap;gap:8px}.preview-item[data-v-3aa63516]{position:relative;width:72px;height:72px;border-radius:6px;overflow:hidden;cursor:pointer}.preview-item img[data-v-3aa63516]{width:100%;height:100%;object-fit:cover}.preview-item .remove[data-v-3aa63516]{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#00000080;color:#fff;border-radius:50%;font-size:12px;line-height:18px;text-align:center;cursor:pointer}.workday-rules-panel[data-v-3aa63516]{margin:12px 0;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;overflow:hidden}.wrp-header[data-v-3aa63516]{padding:10px 14px;background:#f5f5f5;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:13px}.wrp-toggle[data-v-3aa63516]{color:#1976d2;font-size:12px;font-weight:400}.wrp-list[data-v-3aa63516]{padding:8px 14px;max-height:240px;overflow-y:auto}.wrp-item[data-v-3aa63516]{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:12px}.wrp-item[data-v-3aa63516]:last-child{border-bottom:none}.wrp-date[data-v-3aa63516]{font-weight:600;min-width:90px}.wrp-type[data-v-3aa63516]{padding:1px 6px;border-radius:4px;font-size:11px}.tag-work[data-v-3aa63516]{background:#e8f5e9;color:#2e7d32}.tag-rest[data-v-3aa63516]{background:#ffebee;color:#c62828}.wrp-cycle[data-v-3aa63516]{color:#5c6bc0}.wrp-ended[data-v-3aa63516]{color:#999;font-size:11px}.wrp-item .btn-sm[data-v-3aa63516]{margin-left:auto;padding:2px 8px;font-size:11px}.share-page[data-v-a17aae12]{min-height:100vh;min-height:100dvh;background:#f7f8fa}.share-center[data-v-a17aae12]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;color:#666;font-size:15px}.loading-spinner[data-v-a17aae12]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#5c6bc0;border-radius:50%;animation:spin-a17aae12 .8s linear infinite;margin-bottom:12px}@keyframes spin-a17aae12{to{transform:rotate(360deg)}}.error-icon[data-v-a17aae12]{width:56px;height:56px;border-radius:50%;background:#ffebee;color:#c62828;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.share-center h2[data-v-a17aae12]{font-size:20px;color:#333;margin-bottom:8px}.wizard[data-v-a17aae12]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:0 24px;box-sizing:border-box}.wizard-top[data-v-a17aae12]{display:flex;align-items:center;gap:10px;padding:24px 0 12px}.wizard-logo[data-v-a17aae12]{width:36px;height:36px;border-radius:8px}.wizard-brand[data-v-a17aae12]{font-size:18px;font-weight:700;color:#333}.home-question[data-v-a17aae12]{font-size:24px;font-weight:600;color:#222;margin:40px 0 32px;line-height:1.4}.home-actions[data-v-a17aae12]{display:flex;flex-direction:column;gap:16px}.home-btn[data-v-a17aae12]{display:flex;align-items:center;gap:12px;padding:18px 20px;border-radius:12px;font-size:17px;font-weight:500;cursor:pointer;border:2px solid transparent;transition:all .2s}.home-btn svg[data-v-a17aae12]{flex-shrink:0}.home-btn-yes[data-v-a17aae12]{background:#eef0ff;color:#3f51b5;border-color:#c5cae9}.home-btn-yes[data-v-a17aae12]:active{background:#d1d5f0}.home-btn-no[data-v-a17aae12]{background:#fff3e0;color:#e65100;border-color:#ffcc80}.home-btn-no[data-v-a17aae12]:active{background:#ffe0b2}.wizard-slogan[data-v-a17aae12]{font-size:22px;font-weight:600;color:#222;margin-bottom:24px;line-height:1.4}.upload-area[data-v-a17aae12]{border:2px dashed #d0d0d0;border-radius:12px;padding:32px 20px;text-align:center;background:#fff;cursor:pointer;transition:all .2s}.upload-area[data-v-a17aae12]:active,.upload-dragover[data-v-a17aae12]{border-color:#5c6bc0;background:#f5f5ff}.upload-text[data-v-a17aae12]{font-size:15px;color:#666;margin-top:12px}.upload-hint[data-v-a17aae12]{font-size:12px;color:#aaa;margin-top:8px}.file-list[data-v-a17aae12]{margin-top:16px;display:flex;flex-direction:column;gap:8px}.file-item[data-v-a17aae12]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #eee}.file-name[data-v-a17aae12]{flex:1;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-a17aae12]{font-size:12px;color:#999;flex-shrink:0}.file-remove[data-v-a17aae12]{width:24px;height:24px;border:none;background:none;color:#999;font-size:18px;cursor:pointer;flex-shrink:0;line-height:1}.file-remove[data-v-a17aae12]:active{color:#e53935}.wizard-progress[data-v-a17aae12]{margin-bottom:32px}.progress-bar[data-v-a17aae12]{height:4px;background:#e8e8e8;border-radius:2px;overflow:hidden}.progress-fill[data-v-a17aae12]{height:100%;border-radius:2px;transition:width .3s ease}.progress-text[data-v-a17aae12]{font-size:12px;color:#999;margin-top:6px;text-align:right}.wizard-body[data-v-a17aae12]{flex:1}.step-content[data-v-a17aae12]{animation:fadeIn-a17aae12 .25s ease}@keyframes fadeIn-a17aae12{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-number[data-v-a17aae12]{font-size:13px;color:#5c6bc0;font-weight:600;margin-bottom:8px}.step-question[data-v-a17aae12]{font-size:20px;font-weight:600;color:#222;line-height:1.4;margin-bottom:8px}.step-hint[data-v-a17aae12]{font-size:13px;color:#999;margin-bottom:20px;line-height:1.5}.step-input[data-v-a17aae12]{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:16px;outline:none;box-sizing:border-box;background:#fff;transition:border-color .2s}.step-input[data-v-a17aae12]:focus{border-color:#5c6bc0}.step-textarea[data-v-a17aae12]{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:16px;outline:none;box-sizing:border-box;background:#fff;resize:vertical;line-height:1.6;transition:border-color .2s}.step-textarea[data-v-a17aae12]:focus{border-color:#5c6bc0}.wizard-actions[data-v-a17aae12]{display:flex;justify-content:space-between;align-items:center;padding:20px 0 32px}.btn-prev[data-v-a17aae12]{padding:12px 28px;border:1px solid #ddd;border-radius:10px;background:#fff;color:#666;font-size:15px;cursor:pointer}.btn-prev[data-v-a17aae12]:active{background:#f5f5f5}.btn-next[data-v-a17aae12]{padding:12px 28px;border:none;border-radius:10px;background:#5c6bc0;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.btn-next[data-v-a17aae12]:active{background:#4a5ab0}.btn-submit[data-v-a17aae12]{padding:12px 28px;border:none;border-radius:10px;background:#333;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.btn-submit[data-v-a17aae12]:active{background:#555}.btn-submit[data-v-a17aae12]:disabled{background:#ccc;cursor:not-allowed}.change-list[data-v-a17aae12]{display:flex;flex-direction:column;gap:8px}.change-item[data-v-a17aae12]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.change-input[data-v-a17aae12]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;flex:1;min-width:0;box-sizing:border-box}.change-input[data-v-a17aae12]:focus{border-color:#5c6bc0}.change-input.short[data-v-a17aae12]{width:72px;flex:none}.change-arrow[data-v-a17aae12]{color:#999;font-size:16px;flex-shrink:0}.btn-remove[data-v-a17aae12]{width:28px;height:28px;border-radius:50%;border:1px solid #ddd;background:#fff;color:#999;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.btn-remove[data-v-a17aae12]:active{border-color:#e53935;color:#e53935}.btn-add[data-v-a17aae12]{background:none;border:1px dashed #ccc;color:#5c6bc0;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px}.btn-add[data-v-a17aae12]:active{border-color:#5c6bc0}.detail-page[data-v-3d763574]{padding:0 0 40px}.loading-center[data-v-3d763574]{display:flex;justify-content:center;padding:80px 0}.loading-spinner[data-v-3d763574]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#5c6bc0;border-radius:50%;animation:spin-3d763574 .8s linear infinite}.detail-nav[data-v-3d763574]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-back[data-v-3d763574]{background:none;border:none;color:#5c6bc0;cursor:pointer;font-size:14px}.btn-back[data-v-3d763574]:hover{text-decoration:underline}.nav-actions[data-v-3d763574]{display:flex;gap:8px}.detail-card[data-v-3d763574]{background:#fff;border-radius:10px;padding:20px 24px;margin-bottom:12px;box-shadow:0 1px 3px #0000000a}.header-top[data-v-3d763574]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.req-no[data-v-3d763574]{font-size:13px;color:#999;background:#f5f5f5;padding:2px 8px;border-radius:4px}.detail-title[data-v-3d763574]{font-size:18px;font-weight:600;color:#333;margin-bottom:10px}.detail-meta[data-v-3d763574]{display:flex;gap:16px;font-size:12px;color:#888}.card-title[data-v-3d763574]{font-size:15px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f5}.card-title-row[data-v-3d763574]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title-row .card-title[data-v-3d763574]{margin-bottom:0;padding-bottom:0;border-bottom:none}.field-group[data-v-3d763574]{margin-bottom:16px}.field-group[data-v-3d763574]:last-child{margin-bottom:0}.field-group label[data-v-3d763574]{display:block;font-size:12px;color:#888;margin-bottom:6px}.field-text[data-v-3d763574]{font-size:13px;color:#555;white-space:pre-wrap;line-height:1.6}.attachment-list[data-v-3d763574]{display:flex;flex-direction:column;gap:6px}.attachment-item[data-v-3d763574]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#f5f5ff;border-radius:6px}.attachment-name[data-v-3d763574]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#333;flex:1;min-width:0}.attachment-name span[data-v-3d763574]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-actions[data-v-3d763574]{display:flex;gap:6px;flex-shrink:0}.btn-att[data-v-3d763574]{padding:3px 10px;font-size:12px;border-radius:4px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}.btn-preview[data-v-3d763574]{background:#fff;color:#26a69a;border:1px solid #26a69a}.btn-preview[data-v-3d763574]:hover{background:#26a69a;color:#fff}.btn-download[data-v-3d763574]{background:#fff;color:#78909c;border:1px solid #78909c}.btn-download[data-v-3d763574]:hover{background:#78909c;color:#fff}.btn-ai-analyze[data-v-3d763574]{padding:3px 10px;font-size:12px;border-radius:4px;background:#fff;color:#5c6bc0;border:1px solid #5c6bc0;cursor:pointer;white-space:nowrap}.btn-ai-analyze[data-v-3d763574]:hover:not(:disabled){background:#5c6bc0;color:#fff}.btn-ai-analyze[data-v-3d763574]:disabled{opacity:.5;cursor:not-allowed}.ai-loading[data-v-3d763574]{text-align:center;padding:40px 0}.ai-spinner[data-v-3d763574]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#5c6bc0;border-radius:50%;margin:0 auto 12px;animation:spin-3d763574 .8s linear infinite}@keyframes spin-3d763574{to{transform:rotate(360deg)}}.ai-result[data-v-3d763574]{display:flex;flex-direction:column;gap:12px}.ai-field[data-v-3d763574]{display:flex;flex-direction:column;gap:4px}.ai-field label[data-v-3d763574]{font-size:13px;font-weight:600;color:#333}.ai-input[data-v-3d763574]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.ai-input[data-v-3d763574]:focus{outline:none;border-color:#5c6bc0}.ai-actions[data-v-3d763574]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.ai-empty[data-v-3d763574]{text-align:center;padding:40px 0;color:#999}.dynamic-item[data-v-3d763574]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;background:#f9f9fc;border-radius:4px}.inline-input[data-v-3d763574]{flex:1;min-width:80px;padding:5px 8px;border:1px solid #ddd;border-radius:3px;font-size:12px}.inline-input.short[data-v-3d763574]{flex:0 0 90px}.arrow[data-v-3d763574]{color:#999;font-size:14px}.btn-remove[data-v-3d763574]{width:24px;height:24px;border:none;border-radius:3px;background:#ff5252;color:#fff;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.btn-remove[data-v-3d763574]:hover{background:#d32f2f}.btn-add[data-v-3d763574]{padding:6px 12px;border:1px dashed #5c6bc0;background:transparent;color:#5c6bc0;border-radius:4px;cursor:pointer;font-size:12px;align-self:flex-start}.btn-add[data-v-3d763574]:hover{background:#e8eaf6}.dynamic-sub-label[data-v-3d763574]{font-size:12px;color:#888;margin-top:6px;margin-bottom:2px}.inline-label[data-v-3d763574]{font-size:12px;color:#666;min-width:32px}.detail-table[data-v-3d763574]{width:100%;border-collapse:collapse;font-size:13px}.detail-table th[data-v-3d763574]{padding:8px 10px;background:#fafafa;text-align:left;color:#888;font-weight:500;border-bottom:1px solid #f0f0f5}.detail-table td[data-v-3d763574]{padding:8px 10px;border-bottom:1px solid #f5f5f5;color:#555}.detail-table .label-cell[data-v-3d763574]{background:#fafafa;color:#888;width:80px}.empty-section[data-v-3d763574]{text-align:center;color:#ccc;padding:24px 0;font-size:13px}.priority-tag[data-v-3d763574]{font-size:11px;padding:2px 8px;border-radius:4px}.p-P0[data-v-3d763574]{background:#ffebee;color:#c62828}.p-P1[data-v-3d763574]{background:#fff3e0;color:#e65100}.p-P2[data-v-3d763574]{background:#e8f5e9;color:#2e7d32}.p-P3[data-v-3d763574]{background:#f5f5f5;color:#999}.action-cell[data-v-3d763574]{white-space:nowrap}.name-cell[data-v-3d763574]{font-weight:500;color:#333}.link-name[data-v-3d763574]{color:#5c6bc0;text-decoration:none}.link-name[data-v-3d763574]:hover{text-decoration:underline}.btn-link[data-v-3d763574]{background:none;border:none;color:#5c6bc0;cursor:pointer;font-size:12px;padding:2px 6px}.btn-link[data-v-3d763574]:hover{text-decoration:underline}.btn-share[data-v-3d763574]{color:#2e7d32}.btn-pdf[data-v-3d763574]{color:#5c6bc0}.btn-danger[data-v-3d763574]{color:#e53935}.btn[data-v-3d763574]{padding:6px 16px;border-radius:6px;border:none;cursor:pointer;font-size:13px}.btn-sm[data-v-3d763574]{padding:4px 12px;font-size:12px}.iteration-actions[data-v-3d763574]{display:flex;gap:8px}.btn-collect[data-v-3d763574]{background:#fff;color:#333;border:1px solid #ddd}.btn-collect[data-v-3d763574]:hover{background:#f5f5f5}.btn-primary[data-v-3d763574]{background:#333;color:#fff}.btn-primary[data-v-3d763574]:hover{background:#555}.btn-default[data-v-3d763574]{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-default[data-v-3d763574]:hover{background:#eee}.modal-mask[data-v-3d763574]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding-top:40px}.modal[data-v-3d763574]{background:#fff;border-radius:12px;width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-lg[data-v-3d763574]{width:800px}.modal-header[data-v-3d763574]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f5}.modal-header h3[data-v-3d763574]{font-size:16px;font-weight:600;color:#333}.modal-close[data-v-3d763574]{background:none;border:none;font-size:22px;color:#999;cursor:pointer}.modal-close[data-v-3d763574]:hover{color:#333}.modal-body[data-v-3d763574]{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer[data-v-3d763574]{padding:12px 20px;border-top:1px solid #f0f0f5;display:flex;justify-content:flex-end;gap:8px}.form-section[data-v-3d763574]{margin-bottom:20px}.form-upload-area[data-v-3d763574]{display:flex;align-items:center;gap:8px;padding:12px;border:1px dashed #ccc;border-radius:6px;cursor:pointer;color:#999;font-size:13px;transition:border-color .2s}.form-upload-area[data-v-3d763574]:hover{border-color:#5c6bc0;color:#5c6bc0}.form-file-list[data-v-3d763574]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.form-file-item[data-v-3d763574]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f5ff;border-radius:4px;font-size:13px}.form-file-name[data-v-3d763574]{flex:1;color:#333}.form-file-remove[data-v-3d763574]{background:none;border:none;color:#999;cursor:pointer;font-size:16px}.form-file-remove[data-v-3d763574]:hover{color:#e53935}.section-label[data-v-3d763574]{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.form-row[data-v-3d763574]{display:flex;gap:12px}.form-group[data-v-3d763574]{margin-bottom:12px}.form-group.flex-1[data-v-3d763574]{flex:1}.form-group label[data-v-3d763574]{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group input[data-v-3d763574],.form-group textarea[data-v-3d763574],.form-group select[data-v-3d763574]{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.form-group input[data-v-3d763574]:focus,.form-group textarea[data-v-3d763574]:focus{border-color:#5c6bc0}.form-select[data-v-3d763574]{width:auto;min-width:100px}.required[data-v-3d763574]{color:#e53935}.dynamic-list[data-v-3d763574]{display:flex;flex-direction:column;gap:6px}.dynamic-item[data-v-3d763574]{display:flex;align-items:center;gap:6px}.inline-input[data-v-3d763574]{padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;outline:none}.inline-input[data-v-3d763574]:focus{border-color:#5c6bc0}.inline-input.short[data-v-3d763574]{width:80px}.inline-input.flex-1[data-v-3d763574]{flex:1}.arrow[data-v-3d763574]{color:#999;font-size:14px;flex-shrink:0}.flow-step[data-v-3d763574]{width:20px;height:20px;background:#f0f0f5;border-radius:50%;text-align:center;line-height:20px;font-size:11px;color:#666;flex-shrink:0}.btn-remove[data-v-3d763574]{width:22px;height:22px;border-radius:50%;border:1px solid #ddd;background:#fff;color:#999;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.btn-remove[data-v-3d763574]:hover{border-color:#e53935;color:#e53935}.btn-add[data-v-3d763574]{background:none;border:1px dashed #ccc;color:#5c6bc0;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.btn-add[data-v-3d763574]:hover{border-color:#5c6bc0}.inline-check[data-v-3d763574]{font-size:12px;color:#666;white-space:nowrap;display:flex;align-items:center;gap:2px}.share-card-body[data-v-3d763574]{display:flex;justify-content:center}.share-card[data-v-3d763574]{text-align:center;width:100%}.share-card-top[data-v-3d763574]{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.share-brand-name[data-v-3d763574]{font-size:20px;font-weight:600;color:#333}.share-brand-desc[data-v-3d763574]{font-size:13px;color:#888;margin-top:2px}.share-qr-wrap[data-v-3d763574]{display:flex;justify-content:center;margin-bottom:16px}.share-qr-canvas[data-v-3d763574]{border-radius:8px}.share-card-tip[data-v-3d763574]{font-size:12px;color:#999;margin-bottom:16px}.share-link-box[data-v-3d763574]{display:flex;gap:8px}.share-input[data-v-3d763574]{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#f9f9f9}.hint[data-v-3d763574]{font-size:12px;color:#999;font-weight:400}.settings-page[data-v-a9e7f234]{min-height:100vh;background:#f5f6fa}.page-header[data-v-a9e7f234]{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#fff;border-bottom:1px solid #e8eaf0;box-shadow:0 1px 3px #0000000a}.page-header h2[data-v-a9e7f234]{font-size:18px;font-weight:600;color:#333;margin:0}.btn-close[data-v-a9e7f234]{padding:6px 14px;border-radius:6px;border:1px solid #ddd;background:#fff;color:#555;font-size:13px;cursor:pointer;transition:all .2s}.btn-close[data-v-a9e7f234]:hover{background:#f5f5f5;border-color:#ccc}.settings-body[data-v-a9e7f234]{max-width:1280px;margin:20px auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000a;overflow:hidden}.tabs[data-v-a9e7f234]{display:flex;gap:0;border-bottom:1px solid #f0f0f5;padding:0 24px;background:#fafbff}.tabs span[data-v-a9e7f234]{padding:14px 20px;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tabs span.active[data-v-a9e7f234]{color:#333;border-bottom-color:#333;font-weight:500}.tabs span[data-v-a9e7f234]:hover{color:#333}.tab-body[data-v-a9e7f234]{padding:20px 24px 28px}.toolbar[data-v-a9e7f234]{margin-bottom:12px}.inline-form[data-v-a9e7f234]{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.inline-form input[data-v-a9e7f234],.inline-form select[data-v-a9e7f234]{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none}.inline-form input[data-v-a9e7f234]:focus,.inline-form select[data-v-a9e7f234]:focus{border-color:#5c6bc0}.s-table[data-v-a9e7f234]{width:100%;border-collapse:collapse}.s-table th[data-v-a9e7f234]{padding:10px 12px;font-size:12px;color:#999;font-weight:400;text-align:left;border-bottom:1px solid #f0f0f5}.s-table td[data-v-a9e7f234]{padding:10px 12px;font-size:13px;color:#333;border-bottom:1px solid #f5f5fa}.s-table tr:hover td[data-v-a9e7f234]{background:#fafbff}.text-center[data-v-a9e7f234]{text-align:center}.btn[data-v-a9e7f234]{border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary[data-v-a9e7f234]{background:#333;color:#fff}.btn-primary[data-v-a9e7f234]:hover{background:#555}.btn-default[data-v-a9e7f234]{background:#f0f0f5;color:#333}.btn-text[data-v-a9e7f234]{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 6px}.btn-edit[data-v-a9e7f234]{color:#5c6bc0}.btn-delete[data-v-a9e7f234]{color:#ff4d4f}.empty-tip[data-v-a9e7f234]{text-align:center;color:#ccc;font-size:13px;padding:24px}.perm-desc[data-v-a9e7f234]{font-size:13px;color:#999;margin-bottom:12px}.perm-table input[type=checkbox][data-v-a9e7f234]{width:16px;height:16px;cursor:pointer;accent-color:#333}.module-row td[data-v-a9e7f234]{font-size:13px;font-weight:500;color:#333;background:#f8f8fc;padding:8px 12px!important}.perm-row .perm-name[data-v-a9e7f234]{padding-left:28px!important;color:#555}.code[data-v-a9e7f234]{color:#999;font-size:11px}.role-form[data-v-a9e7f234]{background:#f8f9fc;border:1px solid #e8eaf0;border-radius:8px;padding:16px;margin-bottom:16px}.form-row[data-v-a9e7f234]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.form-row label[data-v-a9e7f234]{width:80px;font-size:13px;color:#555;flex-shrink:0}.form-row input[data-v-a9e7f234],.form-row select[data-v-a9e7f234]{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none}.form-row input[data-v-a9e7f234]:focus,.form-row select[data-v-a9e7f234]:focus{border-color:#5c6bc0}.form-row input[data-v-a9e7f234]:disabled{background:#f0f0f0;color:#999;cursor:not-allowed}.form-actions[data-v-a9e7f234]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.scope-tag[data-v-a9e7f234]{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.sc-self[data-v-a9e7f234]{background:#f0f1f8;color:#5c6bc0}.sc-all[data-v-a9e7f234]{background:#e8f5e9;color:#26a69a}.sc-admin[data-v-a9e7f234]{background:#fff3e0;color:#ff9800}.status-badge[data-v-a9e7f234]{font-size:12px;padding:2px 8px;border-radius:4px}.status-badge.pending[data-v-a9e7f234]{color:#fb8c00;background:#fff3e0}.status-badge.approved[data-v-a9e7f234]{color:#43a047;background:#e8f5e9}.status-badge.rejected[data-v-a9e7f234]{color:#e53935;background:#ffebee}.pm-layout[data-v-198f81f1]{display:flex;gap:16px;height:calc(100vh - 100px)}.project-panel[data-v-198f81f1]{width:260px;flex-shrink:0;background:var(--card-bg, #fff);border-radius:12px;padding:14px 12px;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-title[data-v-198f81f1]{font-size:14px;font-weight:500;color:var(--text, #333)}.btn-add[data-v-198f81f1]{background:#333;color:#fff;border:none;width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}.btn-add[data-v-198f81f1]:hover{background:#555}.search-wrap[data-v-198f81f1]{margin-bottom:10px}.search-input[data-v-198f81f1]{width:100%;padding:6px 10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:12px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.cover-flow-stage[data-v-198f81f1]{flex:1;position:relative;perspective:1000px;perspective-origin:50% 50%;overflow:hidden;outline:none;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 50px}.cover-flow-track[data-v-198f81f1]{position:relative;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.22,.61,.36,1);width:220px;height:80px}.cover-item[data-v-198f81f1]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);box-shadow:0 2px 6px #00000014;cursor:pointer;transition:background .2s,box-shadow .2s,opacity .3s;backface-visibility:hidden}.cover-item.focused[data-v-198f81f1]{background:#eaf3ff;border-color:#5da9f8;box-shadow:0 4px 16px #5da9f859}.cover-item.active[data-v-198f81f1]{background:#d4e8ff;box-shadow:0 0 0 2px #333 inset,0 4px 18px #00000026}.cover-item[data-v-198f81f1]:not(.focused){opacity:.55}.cover-item.matched[data-v-198f81f1]{opacity:1;border-color:#ffb300;box-shadow:0 0 0 2px #ffb300,0 4px 12px #ffb3004d}.cover-item.focused .folder-icon[data-v-198f81f1]{transform:translateY(-2px) scale(1.1)}.folder-icon[data-v-198f81f1]{flex-shrink:0;width:42px;height:36px;display:flex;align-items:center;justify-content:center;transition:transform .2s;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.cover-item.focused .folder-icon[data-v-198f81f1]{filter:drop-shadow(0 3px 4px rgba(93,169,248,.5))}.cover-info[data-v-198f81f1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-code[data-v-198f81f1]{font-size:11px;color:#888;font-family:monospace}.item-name[data-v-198f81f1]{font-size:13px;font-weight:500;color:var(--text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;font-size:11px}.item-stage[data-v-198f81f1]{padding:1px 6px;border-radius:8px;font-size:10px}.cover-nav[data-v-198f81f1]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--sidebar-bg, #f5f5f5);padding:4px 10px;border-radius:16px;font-size:12px}.cover-btn[data-v-198f81f1]{background:none;border:none;cursor:pointer;font-size:14px;color:#5da9f8;padding:2px 6px;border-radius:4px;transition:background .15s}.cover-btn[data-v-198f81f1]:hover:not(:disabled){background:#5da9f826}.cover-btn[data-v-198f81f1]:disabled{opacity:.3;cursor:not-allowed}.cover-counter[data-v-198f81f1]{color:var(--text, #333);font-family:monospace;min-width:50px;text-align:center}.stage-req[data-v-198f81f1]{background:#e3f2fd;color:#1976d2}.stage-dev[data-v-198f81f1]{background:#fff3e0;color:#f57c00}.stage-test[data-v-198f81f1]{background:#f3e5f5;color:#7b1fa2}.stage-done[data-v-198f81f1]{background:#e8f5e9;color:#388e3c}.stage-pause[data-v-198f81f1]{background:#f5f5f5;color:#9e9e9e}.stage-default[data-v-198f81f1]{background:#f5f5f5;color:#616161}.status-normal-text[data-v-198f81f1]{color:#43a047}.status-warning-text[data-v-198f81f1]{color:#fb8c00}.status-delayed-text[data-v-198f81f1]{color:#e53935}.empty-hint[data-v-198f81f1]{text-align:center;color:#ccc;font-size:12px;padding:20px 0}.detail-panel[data-v-198f81f1]{flex:1;background:var(--card-bg, #fff);border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000a;overflow-y:auto}.overview-header[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.overview-title[data-v-198f81f1]{margin:0;font-size:18px;font-weight:600;color:var(--text, #333)}.overview-row[data-v-198f81f1]{display:grid;gap:14px;margin-bottom:14px}.overview-row-stats[data-v-198f81f1]{grid-template-columns:3fr 2fr;align-items:stretch}.overview-row-logs[data-v-198f81f1]{grid-template-columns:1fr 1fr;align-items:stretch}.overview-left-col[data-v-198f81f1]{display:flex;flex-direction:column;gap:14px;min-width:0}.overview-row .card[data-v-198f81f1],.overview-row .stat-cards[data-v-198f81f1]{margin-bottom:0}.overview-left-col .card[data-v-198f81f1]{display:flex;flex-direction:column;min-height:260px}.overview-left-col .card .recent-list[data-v-198f81f1]{flex:1;min-height:0}.card-logs[data-v-198f81f1]{display:flex;flex-direction:column;align-self:stretch}.card-logs .recent-list[data-v-198f81f1]{flex:1;overflow-y:auto;min-height:0;max-height:460px;padding-right:4px}.card-logs .recent-list[data-v-198f81f1]::-webkit-scrollbar{width:6px}.card-logs .recent-list[data-v-198f81f1]::-webkit-scrollbar-thumb{background:silver;border-radius:3px}.card-logs .recent-list[data-v-198f81f1]::-webkit-scrollbar-thumb:hover{background:#999}.card-logs .recent-list[data-v-198f81f1]::-webkit-scrollbar-track{background:transparent}.stat-cards[data-v-198f81f1]{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.stat-card[data-v-198f81f1]{border-radius:8px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.stat-card[data-v-198f81f1]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card[data-v-198f81f1]:nth-child(1){background:#e3f2fd}.stat-card:nth-child(1) .stat-num[data-v-198f81f1]{color:#1976d2}.stat-card[data-v-198f81f1]:nth-child(2){background:#fff3e0}.stat-card:nth-child(2) .stat-num[data-v-198f81f1]{color:#f57c00}.stat-card[data-v-198f81f1]:nth-child(3){background:#e8f5e9}.stat-card:nth-child(3) .stat-num[data-v-198f81f1]{color:#388e3c}.stat-card[data-v-198f81f1]:nth-child(4){background:#f3e5f5}.stat-card:nth-child(4) .stat-num[data-v-198f81f1]{color:#7b1fa2}.stat-card[data-v-198f81f1]:nth-child(5){background:#e0f7fa}.stat-card:nth-child(5) .stat-num[data-v-198f81f1]{color:#0097a7}.stat-num[data-v-198f81f1]{font-size:26px;font-weight:700;line-height:1.2}.stat-name[data-v-198f81f1]{font-size:11px;color:#666;margin-top:4px;font-weight:500}.card[data-v-198f81f1]{background:var(--card-bg, #fff);border:1px solid var(--border, #eee);border-radius:8px;padding:16px;margin-bottom:14px}.card-title[data-v-198f81f1]{font-size:14px;font-weight:600;color:var(--text, #333);margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed var(--border, #eee)}.dist-list[data-v-198f81f1]{display:flex;flex-direction:column;gap:10px}.dist-item[data-v-198f81f1]{display:flex;align-items:center;gap:10px}.dist-label[data-v-198f81f1]{width:70px;font-size:12px;color:#666}.dist-bar-wrap[data-v-198f81f1]{flex:1;height:10px;background:#f0f0f0;border-radius:5px;overflow:hidden}.dist-bar[data-v-198f81f1]{height:100%;transition:width .3s}.dist-bar.stage-req[data-v-198f81f1]{background:#1976d2}.dist-bar.stage-dev[data-v-198f81f1]{background:#f57c00}.dist-bar.stage-test[data-v-198f81f1]{background:#7b1fa2}.dist-bar.stage-done[data-v-198f81f1]{background:#388e3c}.dist-bar.stage-pause[data-v-198f81f1]{background:#9e9e9e}.dist-bar.stage-default[data-v-198f81f1]{background:#616161}.dist-count[data-v-198f81f1]{width:30px;text-align:right;font-size:12px;font-weight:600;color:var(--text, #333)}.recent-item.log-item[data-v-198f81f1]{grid-template-columns:90px 70px 1fr 80px;font-size:12px}.log-user[data-v-198f81f1]{color:var(--text, #333);font-weight:500}.log-action[data-v-198f81f1]{color:#666}.log-target[data-v-198f81f1]{color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list[data-v-198f81f1]{display:flex;flex-direction:column;gap:6px}.recent-item[data-v-198f81f1]{display:grid;grid-template-columns:100px 1fr 80px 90px;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px;transition:background .15s}.recent-item[data-v-198f81f1]:hover{background:var(--sidebar-bg, #f5f5f5)}.recent-code[data-v-198f81f1]{font-family:monospace;color:#888}.recent-name[data-v-198f81f1]{color:var(--text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-stage[data-v-198f81f1]{padding:2px 8px;border-radius:8px;font-size:10px;text-align:center}.recent-date[data-v-198f81f1]{color:#888;text-align:right}.empty-sm[data-v-198f81f1]{text-align:center;color:#ccc;font-size:12px;padding:16px 0}.phase-dev-list[data-v-198f81f1]{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border, #f0f0f0)}.phase-dev-header[data-v-198f81f1]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.phase-dev-title[data-v-198f81f1]{font-size:13px;font-weight:600;color:var(--text, #333)}.phase-dev-count[data-v-198f81f1]{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 6px;border-radius:9px;background:#f0f1f8;color:#5c6bc0;font-size:11px;font-weight:600;text-align:center}.phase-dev-list .dev-list[data-v-198f81f1]{display:flex;flex-direction:column;gap:4px}.phase-dev-list .dev-item[data-v-198f81f1]{display:grid;grid-template-columns:120px 1fr 70px 70px 100px 14px;gap:8px;align-items:center;padding:7px 10px;border-radius:5px;cursor:pointer;font-size:12px;transition:background .15s;border:1px solid var(--border, #f5f5f5)}.phase-dev-list .dev-item[data-v-198f81f1]:hover{background:var(--sidebar-bg, #f5f8ff);border-color:#ccc}.phase-dev-list .dev-no[data-v-198f81f1]{font-family:monospace;color:#1976d2;font-size:11px}.phase-dev-list .dev-title[data-v-198f81f1]{color:var(--text, #333);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-dev-list .dev-stage-tag[data-v-198f81f1],.phase-dev-list .dev-status-tag[data-v-198f81f1]{display:inline-block;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:500;text-align:center}.phase-dev-list .dev-time[data-v-198f81f1]{color:#888;font-size:11px;text-align:right}.phase-dev-list .dev-arrow[data-v-198f81f1]{color:#ccc}.phase-dev-list .dev-stage-requirement[data-v-198f81f1]{background:#e3f2fd;color:#1976d2}.phase-dev-list .dev-stage-planning[data-v-198f81f1]{background:#fff8e1;color:#f57c00}.phase-dev-list .dev-stage-develop[data-v-198f81f1]{background:#fff3e0;color:#ef6c00}.phase-dev-list .dev-stage-test[data-v-198f81f1]{background:#f3e5f5;color:#7b1fa2}.phase-dev-list .dev-stage-release[data-v-198f81f1]{background:#e8f5e9;color:#2e7d32}.phase-dev-list .dev-status-progress[data-v-198f81f1]{background:#e3f2fd;color:#1976d2}.phase-dev-list .dev-status-done[data-v-198f81f1]{background:#e8f5e9;color:#2e7d32}.phase-dev-list .dev-status-cancel[data-v-198f81f1]{background:#f5f5f5;color:#999}.phase-dev-list .empty-sm[data-v-198f81f1]{padding:10px 0}.phase-dev-list .dev-view-all[data-v-198f81f1]{display:block;margin-top:6px;padding:6px 0;color:var(--accent, #333);font-size:12px;text-align:center;cursor:pointer;border-top:1px dashed var(--border, #e0d6c2);transition:color .15s}.phase-dev-list .dev-view-all[data-v-198f81f1]:hover{color:#000;text-decoration:underline}.dev-list-modal[data-v-198f81f1]{width:800px;max-width:92vw}.dev-list-table[data-v-198f81f1]{display:flex;flex-direction:column;font-size:13px}.dev-list-thead[data-v-198f81f1],.dev-list-row[data-v-198f81f1]{display:grid;grid-template-columns:110px 1fr 100px 90px 110px;gap:10px;padding:8px 10px;align-items:center}.dev-list-thead[data-v-198f81f1]{background:var(--sidebar-bg, #2a2a2a);color:var(--text-light, #e8dcc8);font-weight:600;border-radius:4px}.dev-list-row[data-v-198f81f1]{border-bottom:1px solid var(--border, #e0d6c2);cursor:pointer;transition:background .15s}.dev-list-row[data-v-198f81f1]:hover{background:var(--hover-bg, #f5f0e8)}.dev-list-row[data-v-198f81f1]:last-child{border-bottom:none}.dev-list-table .col-no[data-v-198f81f1]{color:var(--text-secondary, #888);font-size:12px}.dev-list-table .col-title[data-v-198f81f1]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-list-table .col-time[data-v-198f81f1]{color:var(--text-secondary, #888);font-size:12px}.detail-header[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:16px;flex-wrap:wrap}.detail-title-wrap[data-v-198f81f1]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-code[data-v-198f81f1]{font-size:12px;color:#888;font-family:monospace}.btn-back[data-v-198f81f1]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:var(--text, #333);padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.btn-back[data-v-198f81f1]:hover{background:var(--sidebar-bg, #f5f5f5);border-color:#555}.detail-title[data-v-198f81f1]{margin:0;font-size:18px;font-weight:600;color:var(--text, #333)}.stage-tag[data-v-198f81f1]{font-size:11px;padding:2px 10px;border-radius:10px;font-weight:500}.status-tag[data-v-198f81f1]{font-size:11px;padding:2px 10px;border-radius:10px;font-weight:500;background:#e8f5e9;color:#388e3c}.status-tag.status-warning-text[data-v-198f81f1]{background:#fff3e0;color:#fb8c00}.status-tag.status-delayed-text[data-v-198f81f1]{background:#ffebee;color:#e53935}.detail-actions[data-v-198f81f1]{display:flex;gap:8px}.progress-section[data-v-198f81f1]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.progress-info[data-v-198f81f1]{display:flex;justify-content:space-between;font-size:12px;color:#666}.progress-num[data-v-198f81f1]{color:var(--text, #333);font-weight:600}.progress-bar[data-v-198f81f1]{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.progress-fill[data-v-198f81f1]{height:100%;background:linear-gradient(90deg,#43a047,#66bb6a);transition:width .3s}.resource-grid[data-v-198f81f1]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.resource-card[data-v-198f81f1]{background:var(--card-bg, #fff);border:1px solid var(--border, #eee);border-radius:8px;padding:14px}.resource-card.has-warn[data-v-198f81f1]{border-color:#ffcdd2;background:#fff8f8}.resource-head[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.resource-name[data-v-198f81f1]{font-size:13px;color:#888}.resource-count[data-v-198f81f1]{font-size:20px;font-weight:600;color:var(--text, #333)}.resource-card.has-warn .resource-count[data-v-198f81f1]{color:#e53935}.resource-desc[data-v-198f81f1]{font-size:11px;color:#aaa}.info-grid[data-v-198f81f1]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}.info-item[data-v-198f81f1]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-198f81f1]{font-size:11px;color:#999}.info-value[data-v-198f81f1]{font-size:13px;color:var(--text, #333);font-weight:500}.info-value.mono[data-v-198f81f1]{font-family:monospace}.info-link[data-v-198f81f1]{font-size:13px;color:#1976d2;text-decoration:none;word-break:break-all}.info-link[data-v-198f81f1]:hover{text-decoration:underline}.remark-block[data-v-198f81f1]{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border, #eee)}.remark-label[data-v-198f81f1]{font-size:12px;color:#888;margin-bottom:6px}.remark-content[data-v-198f81f1]{font-size:13px;color:var(--text, #333);padding:10px 12px;background:var(--sidebar-bg, #f9f9f9);border-radius:6px;line-height:1.6;white-space:pre-wrap}.modal-mask[data-v-198f81f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-198f81f1]{background:var(--card-bg, #fff);border-radius:8px;width:560px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #eee)}.modal-header h3[data-v-198f81f1]{margin:0;font-size:16px;color:var(--text, #333)}.modal-close[data-v-198f81f1]{font-size:24px;cursor:pointer;color:#999;line-height:1}.modal-body[data-v-198f81f1]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-198f81f1]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #eee)}.form-group[data-v-198f81f1]{margin-bottom:14px}.form-group label[data-v-198f81f1]{display:block;font-size:13px;color:var(--text, #333);margin-bottom:6px;font-weight:500}.form-group input[data-v-198f81f1],.form-group textarea[data-v-198f81f1],.form-group .form-select[data-v-198f81f1]{width:100%;padding:8px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.form-group textarea[data-v-198f81f1]{resize:vertical;font-family:inherit}.form-row[data-v-198f81f1]{display:flex;gap:12px}.form-group.half[data-v-198f81f1]{flex:1}.required[data-v-198f81f1]{color:#e53935}.btn-primary[data-v-198f81f1],.btn-default[data-v-198f81f1],.btn-danger[data-v-198f81f1]{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.btn-primary[data-v-198f81f1]{background:#333;color:#fff}.btn-primary[data-v-198f81f1]:hover{background:#555}.btn-primary[data-v-198f81f1]:disabled{background:#999;cursor:not-allowed}.btn-default[data-v-198f81f1]{background:var(--card-bg, #fff);color:var(--text, #333);border:1px solid var(--border, #e0e0e0)}.btn-danger[data-v-198f81f1]{background:#fff;color:#e53935;border:1px solid #ffcdd2}.btn-danger[data-v-198f81f1]:hover{background:#ffebee}.phases-list[data-v-198f81f1]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}@media (max-width: 1100px){.phases-list[data-v-198f81f1]{grid-template-columns:1fr}}.phase-card[data-v-198f81f1]{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;overflow:hidden}.phase-card-header[data-v-198f81f1]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border, #e0e0e0);background:var(--sidebar-bg, #f9f9f9)}.phase-title-wrap[data-v-198f81f1]{display:flex;align-items:center;gap:10px}.phase-title[data-v-198f81f1]{margin:0;font-size:15px;font-weight:600;color:var(--text, #333)}.phase-actions[data-v-198f81f1]{display:flex;gap:6px}.phase-card-body[data-v-198f81f1]{padding:16px}.phase-icon-btn[data-v-198f81f1]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:#666;border-radius:6px;cursor:pointer;transition:all .15s;padding:0}.phase-icon-btn[data-v-198f81f1]:hover{border-color:#555;color:#333;background:var(--sidebar-bg, #f5f5f5)}.phase-icon-btn-danger[data-v-198f81f1]:hover{border-color:#e53935;color:#e53935;background:#fff5f5}.btn-add-sm[data-v-198f81f1]{background:#333;color:#fff;border:none;width:22px;height:22px;border-radius:5px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle}.btn-add-sm[data-v-198f81f1]:hover{background:#555}.card-title[data-v-198f81f1]{display:flex;align-items:center;justify-content:space-between}.card-title>span[data-v-198f81f1]:first-child{flex:1}.dev-list[data-v-198f81f1]{display:flex;flex-direction:column;gap:6px}.dev-item[data-v-198f81f1]{display:grid;grid-template-columns:130px 1fr 70px 70px 120px 16px;gap:10px;align-items:center;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:background .15s;border:1px solid var(--border, #f0f0f0)}.dev-item[data-v-198f81f1]:hover{background:var(--sidebar-bg, #f5f5f5);border-color:#ccc}.dev-no[data-v-198f81f1]{font-family:monospace;color:#1976d2;font-size:12px}.dev-title[data-v-198f81f1]{color:var(--text, #333);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-stage-tag[data-v-198f81f1],.dev-status-tag[data-v-198f81f1]{display:inline-block;padding:2px 8px;border-radius:8px;font-size:10px;font-weight:500;text-align:center}.dev-stage-requirement[data-v-198f81f1]{background:#e3f2fd;color:#1976d2}.dev-stage-planning[data-v-198f81f1]{background:#fff8e1;color:#f57c00}.dev-stage-develop[data-v-198f81f1]{background:#fff3e0;color:#ef6c00}.dev-stage-test[data-v-198f81f1]{background:#f3e5f5;color:#7b1fa2}.dev-stage-release[data-v-198f81f1]{background:#e8f5e9;color:#2e7d32}.dev-status-progress[data-v-198f81f1]{background:#e3f2fd;color:#1976d2}.dev-status-done[data-v-198f81f1]{background:#e8f5e9;color:#2e7d32}.dev-status-cancel[data-v-198f81f1]{background:#f5f5f5;color:#999}.dev-time[data-v-198f81f1]{color:#888;font-size:11px;text-align:right}.dev-arrow[data-v-198f81f1]{color:#ccc;flex-shrink:0}.fc-page[data-v-ff5f0e06]{padding:0;height:calc(100vh - 96px)}.fc-container[data-v-ff5f0e06]{display:flex;gap:16px;height:100%}.fc-left[data-v-ff5f0e06]{width:380px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;padding:20px;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.fc-section-h[data-v-ff5f0e06]{font-size:12px;color:#999;margin-bottom:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.fc-examples[data-v-ff5f0e06]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.fc-example-btn[data-v-ff5f0e06]{background:#f5f5f5;border:1px solid #e0e0e0;color:#666;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s}.fc-example-btn[data-v-ff5f0e06]:hover{background:#eef0ff;border-color:#5c6bc0;color:#5c6bc0}.fc-textarea-wrap[data-v-ff5f0e06]{position:relative;margin-bottom:14px;flex:1;display:flex;flex-direction:column}.fc-textarea-wrap textarea[data-v-ff5f0e06]{width:100%;flex:1;min-height:280px;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;color:#333;padding:14px;font-size:13px;line-height:1.8;resize:none;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.fc-textarea-wrap textarea[data-v-ff5f0e06]:focus{outline:none;border-color:#5c6bc0;background:#fff}.fc-textarea-wrap textarea[data-v-ff5f0e06]::placeholder{color:#aaa}.fc-char-count[data-v-ff5f0e06]{position:absolute;bottom:8px;right:12px;font-size:11px;color:#bbb;background:#fffc;padding:0 4px;border-radius:4px}.fc-btn-generate[data-v-ff5f0e06]{width:100%;padding:12px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.fc-btn-generate[data-v-ff5f0e06]:disabled{opacity:.6;cursor:not-allowed}.fc-spinner[data-v-ff5f0e06]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:fc-spin-ff5f0e06 .6s linear infinite}@keyframes fc-spin-ff5f0e06{to{transform:rotate(360deg)}}.fc-right[data-v-ff5f0e06]{flex:1;background:transparent;overflow-y:auto;min-width:0;display:flex;flex-direction:column}.fc-empty[data-v-ff5f0e06]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#ccc;text-align:center;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a}.fc-empty svg[data-v-ff5f0e06]{width:64px;height:64px;margin-bottom:14px;opacity:.4}.fc-empty p[data-v-ff5f0e06]{font-size:14px}.fc-result[data-v-ff5f0e06]{display:flex;flex-direction:column;gap:16px;flex:1}.fc-block[data-v-ff5f0e06]{padding:18px 20px}.fc-block-title[data-v-ff5f0e06]{font-size:15px;color:#5c6bc0;margin-bottom:14px;font-weight:600;border-left:3px solid #5c6bc0;padding-left:10px}.fc-swimlane-container[data-v-ff5f0e06]{overflow-x:auto;padding-bottom:8px}.fc-mermaid[data-v-ff5f0e06]{width:100%;overflow-x:auto;text-align:center;padding:12px;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px}.fc-mermaid[data-v-ff5f0e06] svg{max-width:100%;height:auto}.fc-bottom-grid[data-v-ff5f0e06]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1200px){.fc-bottom-grid[data-v-ff5f0e06]{grid-template-columns:1fr}}.fc-field-table[data-v-ff5f0e06]{width:100%;border-collapse:collapse;font-size:13px}.fc-field-table th[data-v-ff5f0e06]{background:#fafafa;color:#888;padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f5;font-weight:500;font-size:12px}.fc-field-table td[data-v-ff5f0e06]{padding:8px 12px;border-bottom:1px solid #f5f5f5;color:#555;vertical-align:top}.fc-field-table tr:hover td[data-v-ff5f0e06]{background:#fafbff}.fc-field-table tr.ai-suggest td[data-v-ff5f0e06]{background:#fcfcfe;color:#888}.fc-field-table tr.ai-suggest:hover td[data-v-ff5f0e06]{background:#f8f9ff}.fc-tag-ai[data-v-ff5f0e06]{display:inline-block;background:#eef0ff;color:#5c6bc0;font-size:10px;padding:1px 6px;border-radius:3px;margin-left:4px;vertical-align:middle}.fc-rules-list[data-v-ff5f0e06]{list-style:none;padding:0;margin:0}.fc-rules-list li[data-v-ff5f0e06]{background:#fafafa;border:1px solid #f0f0f5;border-left:3px solid #5c6bc0;padding:10px 14px;margin-bottom:6px;border-radius:0 6px 6px 0;font-size:13px;color:#555;position:relative}.fc-rules-list li[data-v-ff5f0e06]:last-child{margin-bottom:0}.fc-rule-text[data-v-ff5f0e06]{display:block;width:calc(100% - 24px)}.fc-rule-del[data-v-ff5f0e06]{position:absolute;right:8px;top:8px}.fc-btn-add[data-v-ff5f0e06]{background:none;border:1px dashed #ccc;color:#999;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;margin-top:10px;width:100%;transition:all .2s}.fc-btn-add[data-v-ff5f0e06]:hover{border-color:#5c6bc0;color:#5c6bc0;background:#f8f9ff}.fc-editable[data-v-ff5f0e06]{cursor:text;border-radius:3px;padding:1px 4px;transition:background .15s;display:inline-block;min-width:30px}.fc-editable[data-v-ff5f0e06]:hover{background:#f0f1f8}.fc-editable[data-v-ff5f0e06]:focus{background:#eef0ff;outline:1px solid #5c6bc0}.fc-row-actions[data-v-ff5f0e06]{text-align:center}.fc-btn-del[data-v-ff5f0e06]{background:none;border:none;color:#ccc;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;transition:all .15s;line-height:1}.fc-btn-del[data-v-ff5f0e06]:hover{color:#e74c3c;background:#e74c3c1a}.fc-export-bar[data-v-ff5f0e06]{display:flex;gap:10px;padding-top:16px;margin-top:4px}.fc-btn-export[data-v-ff5f0e06]{background:#333;color:#fff;border:1px solid #333;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.fc-btn-export[data-v-ff5f0e06]:hover:not(:disabled){background:#555;border-color:#555}.fc-btn-export[data-v-ff5f0e06]:disabled{background:#f5f5f5;color:#ccc;border:1px solid #e0e0e0;cursor:not-allowed}.dm-layout[data-v-283e234d]{display:flex;flex-direction:column;gap:14px;height:100%}.dm-header[data-v-283e234d]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.dm-title[data-v-283e234d]{margin:0;font-size:18px;font-weight:600;color:var(--text, #333)}.dm-filters[data-v-283e234d]{display:flex;gap:8px;align-items:center}.dm-search[data-v-283e234d]{padding:6px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);width:200px;box-sizing:border-box}.dm-board[data-v-283e234d]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:14px;flex:1;min-height:0}.dm-stage-col[data-v-283e234d]{background:var(--card-bg, #fff);border-radius:10px;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column;overflow:hidden;min-height:0}.dm-stage-header[data-v-283e234d]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #f0f0f0)}.dm-stage-header h4[data-v-283e234d]{margin:0;font-size:14px;font-weight:600;color:var(--text, #333)}.dm-stage-dot[data-v-283e234d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dm-stage-count[data-v-283e234d]{margin-left:auto;background:var(--sidebar-bg, #f0f0f0);color:#888;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.stage-requirement .dm-stage-dot[data-v-283e234d]{background:#1976d2}.stage-planning .dm-stage-dot[data-v-283e234d]{background:#f57c00}.stage-develop .dm-stage-dot[data-v-283e234d]{background:#ef6c00}.stage-test .dm-stage-dot[data-v-283e234d]{background:#7b1fa2}.stage-release .dm-stage-dot[data-v-283e234d]{background:#2e7d32}.stage-delivered .dm-stage-dot[data-v-283e234d]{background:#607d8b}.dm-stage-body[data-v-283e234d]{padding:10px;display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;min-height:0}.dm-delivered-body[data-v-283e234d]{flex-direction:row;flex-wrap:wrap;max-height:none}.dm-item[data-v-283e234d]{background:var(--sidebar-bg, #fafafa);border-radius:8px;padding:10px 12px 10px 62px;cursor:pointer;transition:all .15s;position:relative;min-height:90px}.dm-item[data-v-283e234d]:hover{background:var(--sidebar-bg, #f0f0f0);transform:translate(2px)}.dm-folder-icon[data-v-283e234d]{position:absolute;left:8px;top:50%;transform:translateY(-50%)}.dm-folder-icon svg[data-v-283e234d]{display:block}.dm-item-no[data-v-283e234d]{font-family:monospace;font-size:11px;color:#1976d2;margin-bottom:4px}.dm-item-title[data-v-283e234d]{font-size:13px;font-weight:500;color:var(--text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.dm-item-meta[data-v-283e234d]{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#999}.dm-item-executor[data-v-283e234d]{color:#555;font-weight:500}.dm-item-time[data-v-283e234d]{font-size:11px}.dm-item-delivered[data-v-283e234d]{flex:0 0 220px;border-left-color:#607d8b}.dm-stage-empty[data-v-283e234d]{text-align:center;color:#ccc;font-size:12px;padding:30px 0}.modal-mask[data-v-283e234d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-283e234d]{background:var(--card-bg, #fff);border-radius:8px;width:560px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-283e234d]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #eee)}.modal-header h3[data-v-283e234d]{margin:0;font-size:16px;color:var(--text, #333)}.modal-close[data-v-283e234d]{font-size:24px;cursor:pointer;color:#999;line-height:1}.modal-close[data-v-283e234d]:hover{color:#333}.modal-body[data-v-283e234d]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-283e234d]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #eee)}.form-group[data-v-283e234d]{margin-bottom:14px}.form-group label[data-v-283e234d]{display:block;font-size:13px;color:var(--text, #333);margin-bottom:6px;font-weight:500}.form-group input[data-v-283e234d],.form-group textarea[data-v-283e234d],.form-group .form-select[data-v-283e234d]{width:100%;padding:8px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.form-group textarea[data-v-283e234d]{resize:vertical;font-family:inherit}.required[data-v-283e234d]{color:#e53935}.form-hint[data-v-283e234d]{font-size:11px;color:#999;margin-top:4px}.btn-primary[data-v-283e234d],.btn-default[data-v-283e234d]{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.btn-primary[data-v-283e234d]{background:#333;color:#fff}.btn-primary[data-v-283e234d]:hover{background:#555}.btn-primary[data-v-283e234d]:disabled{background:#999;cursor:not-allowed}.btn-default[data-v-283e234d]{background:var(--card-bg, #fff);color:var(--text, #333);border:1px solid var(--border, #e0e0e0)}.btn-default[data-v-283e234d]:hover{background:var(--sidebar-bg, #f5f5f5)}.drd-toast[data-v-3dd24645]{position:fixed;top:24px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:10px 20px;border-radius:6px;font-size:13px;z-index:9999;box-shadow:0 4px 12px #0003;pointer-events:none;white-space:nowrap}.toast-fade-enter-active[data-v-3dd24645],.toast-fade-leave-active[data-v-3dd24645]{transition:opacity .25s,top .25s}.toast-fade-enter-from[data-v-3dd24645],.toast-fade-leave-to[data-v-3dd24645]{opacity:0;top:12px}.drd-layout[data-v-3dd24645]{display:flex;flex-direction:column;gap:0;height:100%}.drd-header[data-v-3dd24645]{background:var(--card-bg, #fff);border-radius:12px;padding:18px 22px;margin:16px 20px 0;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column;gap:12px;position:relative;z-index:2}.drd-title-wrap[data-v-3dd24645]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-back[data-v-3dd24645]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:var(--text, #333);padding:5px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.btn-back[data-v-3dd24645]:hover{background:var(--sidebar-bg, #f5f5f5);border-color:#555}.dev-no[data-v-3dd24645]{font-family:monospace;color:#1976d2;font-size:13px}.drd-title[data-v-3dd24645]{margin:0;font-size:18px;font-weight:600;color:var(--text, #333)}.status-tag[data-v-3dd24645]{font-size:11px;padding:2px 10px;border-radius:10px;font-weight:500}.status-progress[data-v-3dd24645]{background:#e3f2fd;color:#1976d2}.status-done[data-v-3dd24645]{background:#e8f5e9;color:#2e7d32}.status-cancel[data-v-3dd24645]{background:#f5f5f5;color:#999}.drd-meta[data-v-3dd24645]{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#888}.meta-item label[data-v-3dd24645]{color:#aaa;margin-right:4px}.meta-item strong[data-v-3dd24645]{color:var(--text, #333);font-weight:500}.drd-desc[data-v-3dd24645]{font-size:13px;color:#666;padding:10px 12px;background:var(--sidebar-bg, #f9f9f9);border-radius:6px;line-height:1.6;white-space:pre-wrap}.stage-tag[data-v-3dd24645]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:500}.stage-requirement[data-v-3dd24645]{background:#e3f2fd;color:#1976d2}.stage-planning[data-v-3dd24645]{background:#fff8e1;color:#f57c00}.stage-develop[data-v-3dd24645]{background:#fff3e0;color:#ef6c00}.stage-test[data-v-3dd24645]{background:#f3e5f5;color:#7b1fa2}.stage-release[data-v-3dd24645]{background:#e8f5e9;color:#2e7d32}.drd-main[data-v-3dd24645]{display:flex;gap:24px;margin-top:16px;align-items:flex-start;justify-content:space-between;background:#edeef3;border-radius:12px;padding:10px 20px;position:relative}.dev-timeline-v[data-v-3dd24645]{width:320px;flex-shrink:0;background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:20px 18px;position:relative;z-index:2;min-height:calc(100vh - 220px);overflow-y:auto}.tlv-node[data-v-3dd24645]{position:relative;padding-bottom:24px}.tlv-node[data-v-3dd24645]:last-child{padding-bottom:0}.tlv-row[data-v-3dd24645]{display:flex;align-items:flex-start;gap:12px}.tlv-clickable[data-v-3dd24645]{cursor:pointer}.tlv-clickable:hover .tlv-dot[data-v-3dd24645]{transform:scale(1.15);transition:transform .2s}.tlv-dot[data-v-3dd24645]{width:28px;height:28px;border-radius:50%;background:#eee;color:#999;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border:2px solid #ddd;transition:all .2s;flex-shrink:0;z-index:2;margin-top:2px}.tlv-num[data-v-3dd24645]{line-height:1}.tlv-check[data-v-3dd24645]{display:inline-flex;color:#fff;line-height:1}.tlv-info[data-v-3dd24645]{flex:1;min-width:0}.tlv-title[data-v-3dd24645]{font-size:14px;font-weight:600;color:var(--text, #333);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tlv-badge[data-v-3dd24645]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:11px;font-weight:500;background:#e3f2fdb3;color:#1565c0}.tlv-badge-done[data-v-3dd24645]{background:#e8f5e9b3;color:#2e7d32}.tlv-badge-pending[data-v-3dd24645]{background:#f5f5f5b3;color:#999}.tlv-stage-range[data-v-3dd24645]{margin-top:4px;font-size:12px;color:var(--text-secondary, #888);line-height:1.4}.tlv-detail[data-v-3dd24645]{margin-top:8px;margin-left:40px;padding:6px 10px;background:transparent;border-left:2px solid rgba(255,255,255,.6);border-radius:0}.tlv-detail-list[data-v-3dd24645]{display:flex;flex-direction:column;gap:6px}.tlv-detail-item[data-v-3dd24645]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;line-height:1.5}.tlv-detail-user[data-v-3dd24645]{font-weight:600;color:var(--text, #333)}.tlv-detail-action[data-v-3dd24645]{color:var(--accent, #1565c0);font-size:11px}.tlv-detail-pending[data-v-3dd24645]{color:#ff9800}.tlv-detail-doc[data-v-3dd24645]{color:var(--text-secondary, #666);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlv-detail-time[data-v-3dd24645]{color:#999;font-size:11px;margin-left:4px}.tlv-detail-empty[data-v-3dd24645]{font-size:12px;color:#bbb;font-style:italic}.tlv-line[data-v-3dd24645]{position:absolute;left:14px;top:30px;width:2px;height:calc(100% - 30px);background:#e0e0e0;z-index:1}.tlv-line.line-done[data-v-3dd24645]{background:#4caf50}.tlv-done .tlv-dot[data-v-3dd24645]{background:#4caf50;border-color:#4caf50;color:#fff}.tlv-current .tlv-dot[data-v-3dd24645]{background:var(--accent, #1565c0);border-color:var(--accent, #1565c0);color:#fff;box-shadow:0 0 0 4px #1565c033}.tlv-current .tlv-detail[data-v-3dd24645]{background:transparent;border-left-color:var(--accent, #1565c0)}.tlv-active .tlv-dot[data-v-3dd24645]{transform:scale(1.2)}.tlv-active.tlv-current .tlv-dot[data-v-3dd24645]{box-shadow:0 0 0 6px #1565c040}.tlv-active.tlv-done .tlv-dot[data-v-3dd24645]{box-shadow:0 0 0 6px #4caf5040}.tlv-active:not(.tlv-current):not(.tlv-done) .tlv-dot[data-v-3dd24645]{box-shadow:0 0 0 6px #96969633}.drd-main .stages-list[data-v-3dd24645]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab}.drd-main .stages-list.is-dragging[data-v-3dd24645]{cursor:grabbing}.stages-drag-wrapper[data-v-3dd24645]{display:flex;align-items:center;justify-content:center;will-change:transform}.dev-calendar[data-v-3dd24645]{width:320px;flex-shrink:0;background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:18px 16px;position:relative;z-index:2;min-height:calc(100vh - 220px)}.cal-header[data-v-3dd24645]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-title[data-v-3dd24645]{font-size:14px;font-weight:600;color:var(--text, #333)}.cal-nav-btn[data-v-3dd24645]{background:none;border:1px solid var(--border, #e0e0e0);border-radius:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .15s}.cal-nav-btn[data-v-3dd24645]:hover{background:#f0f0f0;color:#333}.cal-weekdays[data-v-3dd24645]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-weekday[data-v-3dd24645]{text-align:center;font-size:11px;color:#999;padding:4px 0;font-weight:500}.cal-grid[data-v-3dd24645]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day[data-v-3dd24645]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;color:var(--text, #333);position:relative}.cal-day-num[data-v-3dd24645]{line-height:1}.cal-day-other[data-v-3dd24645]{color:#ccc}.cal-day-today[data-v-3dd24645]{background:var(--accent, #1565c0);color:#fff;font-weight:600}.cal-day-today .cal-day-num[data-v-3dd24645]{color:#fff}.cal-day[style*=background] .cal-day-num[data-v-3dd24645]{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.cal-day-expected[data-v-3dd24645]{border:2px dashed #e91e63;box-sizing:border-box}.cal-day-mark[data-v-3dd24645]{position:absolute;bottom:1px;left:0;right:0;text-align:center;font-size:7px;color:#e91e63;line-height:1;white-space:nowrap;overflow:hidden}.cal-legend[data-v-3dd24645]{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.legend-item[data-v-3dd24645]{display:flex;align-items:center;gap:4px;font-size:10px;color:#666}.legend-dot[data-v-3dd24645]{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-dot-light[data-v-3dd24645]{opacity:.5}.dev-timeline[data-v-3dd24645]{display:flex;align-items:flex-start;background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;padding:20px 16px 14px;position:relative}.tl-node[data-v-3dd24645]{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;min-width:0}.tl-clickable[data-v-3dd24645]{cursor:pointer}.tl-clickable:hover .tl-dot[data-v-3dd24645]{transform:scale(1.15);transition:transform .2s}.tl-dot[data-v-3dd24645]{width:28px;height:28px;border-radius:50%;background:#eee;color:#999;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border:2px solid #ddd;transition:all .2s;z-index:2}.tl-num[data-v-3dd24645]{line-height:1}.tl-check[data-v-3dd24645]{display:inline-flex;color:#fff;line-height:1}.tl-line[data-v-3dd24645]{position:absolute;top:14px;left:50%;width:100%;height:2px;background:#e0e0e0;z-index:1}.tl-line.line-done[data-v-3dd24645]{background:#4caf50}.tl-title[data-v-3dd24645]{margin-top:8px;font-size:12px;font-weight:600;color:var(--text, #333);text-align:center}.tl-time[data-v-3dd24645]{margin-top:3px;font-size:11px;color:#999;text-align:center;line-height:1.4;word-break:break-all}.tl-done .tl-dot[data-v-3dd24645]{background:#4caf50;border-color:#4caf50;color:#fff}.tl-done .tl-title[data-v-3dd24645]{color:#2e7d32}.tl-current .tl-dot[data-v-3dd24645]{background:#1976d2;border-color:#1976d2;color:#fff;box-shadow:0 0 0 4px #1976d226}.tl-current .tl-title[data-v-3dd24645]{color:#1976d2}.tl-accept.tl-done .tl-dot[data-v-3dd24645]{background:#ff9800;border-color:#ff9800}.tl-accept.tl-done .tl-title[data-v-3dd24645]{color:#ef6c00}.accept-bar[data-v-3dd24645]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(90deg,#fff8e1,#fff3e0);border:1px solid #ffe0b2;border-radius:8px}.btn-accept[data-v-3dd24645]{display:inline-flex;align-items:center;justify-content:center;padding:8px 22px;background:#ff9800;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-accept[data-v-3dd24645]:hover{background:#f57c00}.btn-accept[data-v-3dd24645]:disabled{background:#ffb74d;cursor:not-allowed}.accept-hint[data-v-3dd24645]{font-size:12px;color:#795548}.stages-list[data-v-3dd24645]{display:flex;gap:0;perspective:1400px;overflow-x:auto;overflow-y:visible;padding:60px 80px;scroll-behavior:smooth;align-items:center;justify-content:center;flex:1;min-height:0}.stages-list[data-v-3dd24645]::-webkit-scrollbar{height:6px}.stages-list[data-v-3dd24645]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.stage-card[data-v-3dd24645]{background:var(--card-bg, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;overflow:visible;position:relative;min-width:360px;min-height:450px;flex-shrink:0;margin-right:-240px;cursor:pointer;transition:transform .4s ease,box-shadow .3s,filter .3s,opacity .3s;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden}.stage-card[data-v-3dd24645]:last-child{margin-right:0}.stage-card[data-v-3dd24645]:hover{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926,0 2px 8px #4a90d914;z-index:2}.stage-card.is-current[data-v-3dd24645]{border-color:#5c6bc0;box-shadow:0 0 0 2px #5c6bc026}.stage-card.is-current[data-v-3dd24645]:hover{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d926,0 2px 8px #4a90d914}.stage-card-header[data-v-3dd24645]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border, #f0f0f0);background:var(--sidebar-bg, #f9f9f9);border-radius:12px 12px 0 0}.stage-left[data-v-3dd24645]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.stage-index[data-v-3dd24645]{width:26px;height:26px;border-radius:50%;background:#333;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.stage-requirement .stage-index[data-v-3dd24645]{background:#1976d2}.stage-planning .stage-index[data-v-3dd24645]{background:#f57c00}.stage-develop .stage-index[data-v-3dd24645]{background:#ef6c00}.stage-test .stage-index[data-v-3dd24645]{background:#7b1fa2}.stage-release .stage-index[data-v-3dd24645]{background:#2e7d32}.stage-head-info[data-v-3dd24645]{flex:1;min-width:0}.stage-head-title[data-v-3dd24645]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stage-head-title h4[data-v-3dd24645]{margin:0;font-size:13px;font-weight:600;color:var(--text, #333)}.stage-status-tag[data-v-3dd24645]{font-size:11px;padding:2px 8px;border-radius:8px;font-weight:500}.ss-pending[data-v-3dd24645]{background:#f5f5f5;color:#888}.ss-uploaded[data-v-3dd24645]{background:#e8f5e9;color:#2e7d32}.current-tag[data-v-3dd24645]{font-size:10px;padding:1px 6px;border-radius:4px;background:#5c6bc0;color:#fff;font-weight:500}.stage-head-meta[data-v-3dd24645]{display:flex;gap:10px;margin-top:3px;font-size:11px;color:#888;flex-wrap:wrap}.meta-pair label[data-v-3dd24645]{color:#aaa}.meta-pair strong[data-v-3dd24645]{color:var(--text, #333);font-weight:500}.stage-right[data-v-3dd24645]{display:flex;gap:6px;flex-shrink:0}.stage-card-body[data-v-3dd24645]{padding:16px 14px;display:flex;flex-direction:column;gap:12px}.stage-plan-dates[data-v-3dd24645]{background:#f5f7fa;border:1px solid #eef0f4;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.plan-date-row[data-v-3dd24645]{display:flex;align-items:center;gap:8px;font-size:12px}.plan-date-label[data-v-3dd24645]{color:#7c7c7c;min-width:64px;flex-shrink:0}.plan-date-value[data-v-3dd24645]{color:var(--text, #333);font-weight:500}.form-date-input[data-v-3dd24645]{width:100%;padding:7px 10px;border:1px solid var(--border, #e0e0e0);border-radius:4px;font-size:13px;color:var(--text, #333);background:#fff;font-family:inherit}.form-date-input[data-v-3dd24645]:focus{outline:none;border-color:#5c6bc0}.date-range-row[data-v-3dd24645]{display:flex;align-items:center;gap:8px}.date-range-divider[data-v-3dd24645]{color:#999;font-size:13px;flex-shrink:0}.plan-date-block[data-v-3dd24645]{display:flex;flex-direction:column;gap:10px}.stage-info-grid[data-v-3dd24645]{display:grid;grid-template-columns:1fr;gap:12px;align-items:center}.info-item[data-v-3dd24645]{display:flex;flex-direction:column;gap:4px}.info-item-full[data-v-3dd24645]{grid-column:1 / -1}.info-label[data-v-3dd24645]{font-size:11px;color:#999}.info-value[data-v-3dd24645]{font-size:13px;color:var(--text, #333);font-weight:500}.info-value.empty[data-v-3dd24645]{color:#ccc;font-weight:400}.info-value.attachment[data-v-3dd24645]{display:flex;align-items:center;gap:10px}.attach-name[data-v-3dd24645]{color:#1976d2;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.stage-actions[data-v-3dd24645]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:16px;border-top:1px dashed var(--border, #f0f0f0)}.action-hint[data-v-3dd24645]{font-size:12px;color:#aaa;padding:4px 8px}.action-hint.action-done[data-v-3dd24645]{color:#2e7d32}.stage-arrow[data-v-3dd24645]{display:none}.attach-item[data-v-3dd24645]{display:inline-flex;align-items:center;gap:6px;margin-right:12px;margin-bottom:4px}.form-file-list[data-v-3dd24645]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.form-file-item[data-v-3dd24645]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--sidebar-bg, #f5f5f5);border-radius:4px;font-size:13px}.form-file-name[data-v-3dd24645]{flex:1;color:var(--text, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-file-remove[data-v-3dd24645]{background:none;border:none;color:#999;cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.form-file-remove[data-v-3dd24645]:hover{color:#e53935}.form-file-list-existing[data-v-3dd24645]{margin-bottom:8px}.form-file-item-existing[data-v-3dd24645]{background:#2e7d3214}.form-file-list-title[data-v-3dd24645]{font-size:12px;color:#888;margin-bottom:4px}.btn-row[data-v-3dd24645]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:var(--text, #333);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.btn-row[data-v-3dd24645]:hover{border-color:#555;background:var(--sidebar-bg, #f5f5f5)}.btn-link[data-v-3dd24645]{background:#fff;border:1px solid #d0d0e0;color:#1976d2;font-size:12px;cursor:pointer;padding:2px 8px;border-radius:3px;text-decoration:none;transition:all .15s}.btn-link[data-v-3dd24645]:hover{background:#1976d2;color:#fff;border-color:#1976d2}.btn-primary[data-v-3dd24645],.btn-default[data-v-3dd24645]{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.btn-primary[data-v-3dd24645]{background:#333;color:#fff}.btn-primary[data-v-3dd24645]:hover{background:#555}.btn-primary[data-v-3dd24645]:disabled{background:#999;cursor:not-allowed}.btn-default[data-v-3dd24645]{background:var(--card-bg, #fff);color:var(--text, #333);border:1px solid var(--border, #e0e0e0)}.btn-default[data-v-3dd24645]:hover{background:var(--sidebar-bg, #f5f5f5)}.btn-default[data-v-3dd24645]:disabled{color:#bbb;border-color:var(--border, #eee);background:var(--sidebar-bg, #f9f9f9);cursor:not-allowed;opacity:.7}.btn-notify[data-v-3dd24645]{margin-left:8px}.stage-tasks-history[data-v-3dd24645]{margin-top:4px;padding-top:12px;border-top:1px dashed var(--border, #f0f0f0);display:flex;flex-direction:column;gap:6px}.tasks-history-title[data-v-3dd24645]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#888}.tasks-history-list[data-v-3dd24645]{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto;padding-right:4px}.tasks-history-list[data-v-3dd24645]::-webkit-scrollbar{width:4px}.tasks-history-list[data-v-3dd24645]::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.task-history-item[data-v-3dd24645]{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--sidebar-bg, #f9f9f9);border-radius:4px;font-size:11px;border-left:2px solid #999}.task-history-item.ths-待处理[data-v-3dd24645]{border-left-color:#1976d2}.task-history-item.ths-进行中[data-v-3dd24645]{border-left-color:#f57c00}.task-history-item.ths-已完成[data-v-3dd24645]{border-left-color:#4caf50}.task-history-item.ths-已拒绝[data-v-3dd24645]{border-left-color:#e53935}.th-name[data-v-3dd24645]{flex:1;color:var(--text, #333);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-meta[data-v-3dd24645]{display:inline-flex;align-items:center;gap:8px;font-size:10px;color:#999;flex-shrink:0}.th-owner[data-v-3dd24645]{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-date[data-v-3dd24645]{color:#aaa}.th-status[data-v-3dd24645]{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:500;flex-shrink:0}.status-tag-待处理[data-v-3dd24645]{background:#e3f2fd;color:#1976d2}.status-tag-进行中[data-v-3dd24645]{background:#fff8e1;color:#f57c00}.status-tag-已完成[data-v-3dd24645]{background:#e8f5e9;color:#2e7d32}.status-tag-已拒绝[data-v-3dd24645]{background:#ffebee;color:#c62828}.form-row[data-v-3dd24645]{display:flex;gap:12px}.form-row .form-group[data-v-3dd24645]{flex:1}.datetime-split[data-v-3dd24645]{display:flex;gap:6px}.datetime-split input[data-v-3dd24645]{flex:1}.form-select[data-v-3dd24645]{width:100%;padding:8px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.stage-doc-check-item[data-v-3dd24645]{cursor:pointer;border:1px solid transparent}.stage-doc-check-item[data-v-3dd24645]:hover{background:#eef0f4}.stage-doc-check-item.checked[data-v-3dd24645]{background:#e8eaf6;border-color:#5c6bc0}.stage-doc-check-item input[type=checkbox][data-v-3dd24645]{width:14px;height:14px;accent-color:#5c6bc0;cursor:pointer;margin:0;flex-shrink:0}.att-upload[data-v-3dd24645]{display:flex;align-items:center;gap:8px}.pending-hint[data-v-3dd24645]{font-size:11px;color:#888}.modal-mask[data-v-3dd24645]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3dd24645]{background:var(--card-bg, #fff);border-radius:8px;width:560px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-3dd24645]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #eee)}.modal-header h3[data-v-3dd24645]{margin:0;font-size:16px;color:var(--text, #333)}.modal-close[data-v-3dd24645]{font-size:24px;cursor:pointer;color:#999;line-height:1}.modal-close[data-v-3dd24645]:hover{color:#333}.modal-body[data-v-3dd24645]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-3dd24645]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #eee)}.tpl-list[data-v-3dd24645]{display:flex;flex-direction:column;gap:10px}.tpl-item[data-v-3dd24645]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--border, #eee);border-radius:8px;transition:all .15s}.tpl-item[data-v-3dd24645]:hover{border-color:var(--accent, #1565c0);background:var(--card-bg-hover, #f5f7fa)}.tpl-item-main[data-v-3dd24645]{flex:1;min-width:0}.tpl-item-name[data-v-3dd24645]{font-size:14px;font-weight:500;color:var(--text, #333);margin-bottom:4px}.tpl-item-meta[data-v-3dd24645]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary, #999)}.tpl-item-type[data-v-3dd24645]{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:600;color:#fff;background:#888}.tpl-item-type.type-docx[data-v-3dd24645]{background:#2b579a}.tpl-item-type.type-pdf[data-v-3dd24645]{background:#e53935}.tpl-item-type.type-md[data-v-3dd24645]{background:#42a5f5}.tpl-item-version[data-v-3dd24645]{padding:1px 5px;border-radius:3px;background:var(--bg-tag, #eef2f7);color:var(--text-secondary, #666)}.tpl-item-actions[data-v-3dd24645]{display:flex;gap:6px;flex-shrink:0}.btn-default[data-v-3dd24645]{padding:6px 14px;border:1px solid var(--border, #ddd);border-radius:4px;background:var(--card-bg, #fff);color:var(--text, #333);cursor:pointer;font-size:13px}.btn-default[data-v-3dd24645]:hover{background:var(--card-bg-hover, #f5f7fa)}.form-group[data-v-3dd24645]{margin-bottom:14px}.form-group label[data-v-3dd24645]{display:block;font-size:13px;color:var(--text, #333);margin-bottom:6px;font-weight:500}.form-group input[data-v-3dd24645],.form-group textarea[data-v-3dd24645],.form-group .form-select[data-v-3dd24645]{width:100%;padding:8px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.executor-check-list[data-v-3dd24645]{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--border, #e0e0e0);border-radius:6px;background:var(--card-bg, #fff)}.executor-check-item[data-v-3dd24645]{display:block;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:13px;line-height:1.6;transition:all .15s;border:1px solid transparent}.executor-check-item[data-v-3dd24645]:hover{background:var(--sidebar-bg, #f5f5f5)}.executor-check-item[data-v-3dd24645]:has(input:checked){background:#f0f0f0;border-color:#333}.executor-check-item input[type=checkbox][data-v-3dd24645]{vertical-align:middle;margin:0 8px 0 0;width:15px;height:15px;accent-color:#333;cursor:pointer}.form-hint-inline[data-v-3dd24645]{font-size:11px;color:#999;font-weight:400;margin-left:4px}.form-group textarea[data-v-3dd24645]{resize:vertical;font-family:inherit}.required[data-v-3dd24645]{color:#e53935}.form-hint[data-v-3dd24645]{font-size:11px;color:#888;margin-top:4px}.form-hint strong[data-v-3dd24645]{color:var(--text, #333)}.form-hint-block[data-v-3dd24645]{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--sidebar-bg, #f9f9f9);border-radius:6px;font-size:12px;color:#666;margin-top:8px}.form-hint-warn[data-v-3dd24645]{background:#fff8e1;color:#f57c00;margin-bottom:12px;margin-top:0}.file-pick-wrap[data-v-3dd24645]{display:flex;align-items:center;gap:10px}.file-name[data-v-3dd24645]{font-size:12px;color:var(--text, #333);padding:4px 10px;background:var(--sidebar-bg, #f5f5f5);border-radius:4px}.file-hint[data-v-3dd24645]{font-size:12px;color:#999}.st-layout[data-v-2f9e41c3]{display:flex;flex-direction:column;gap:14px}.st-header[data-v-2f9e41c3]{display:flex;justify-content:space-between;align-items:center}.st-title[data-v-2f9e41c3]{margin:0;font-size:18px;font-weight:600;color:var(--text, #333)}.st-actions[data-v-2f9e41c3]{display:flex;gap:8px}.st-tabs[data-v-2f9e41c3]{display:flex;gap:4px;background:var(--card-bg, #fff);padding:6px;border-radius:10px;box-shadow:0 1px 4px #0000000a}.st-tab[data-v-2f9e41c3]{flex:1;border:none;background:transparent;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:#666;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.st-tab[data-v-2f9e41c3]:hover{background:var(--sidebar-bg, #f5f5f5);color:var(--text, #333)}.st-tab.active[data-v-2f9e41c3]{background:#333;color:#fff;font-weight:500}.st-tab-count[data-v-2f9e41c3]{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;background:#00000014;color:inherit;font-size:11px;font-weight:600}.st-tab.active .st-tab-count[data-v-2f9e41c3]{background:#ffffff40}.st-card[data-v-2f9e41c3]{background:var(--card-bg, #fff);border-radius:12px;padding:4px 0;box-shadow:0 1px 4px #0000000a;overflow:hidden}.st-table[data-v-2f9e41c3]{width:100%;border-collapse:collapse;font-size:13px}.st-table th[data-v-2f9e41c3]{background:var(--sidebar-bg, #f9f9f9);padding:10px 14px;text-align:left;color:#888;font-weight:500;font-size:12px;border-bottom:1px solid var(--border, #f0f0f0)}.st-table td[data-v-2f9e41c3]{padding:12px 14px;border-bottom:1px solid var(--border, #f5f5f5);color:var(--text, #333);vertical-align:middle}.st-table tr:last-child td[data-v-2f9e41c3]{border-bottom:none}.st-table tbody tr:hover td[data-v-2f9e41c3]{background:var(--sidebar-bg, #fafbff)}.tpl-name[data-v-2f9e41c3]{font-weight:500;color:var(--text, #333)}.tpl-version[data-v-2f9e41c3]{font-family:monospace;color:#888;font-size:12px}.tpl-type-tag[data-v-2f9e41c3]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.type-pdf[data-v-2f9e41c3]{background:#ffebee;color:#c62828}.type-md[data-v-2f9e41c3]{background:#e3f2fd;color:#1565c0}.type-docx[data-v-2f9e41c3],.type-doc[data-v-2f9e41c3]{background:#e8f5e9;color:#2e7d32}.tpl-status[data-v-2f9e41c3]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:500}.status-active[data-v-2f9e41c3]{background:#e8f5e9;color:#2e7d32}.status-inactive[data-v-2f9e41c3]{background:#f5f5f5;color:#999}.tpl-time[data-v-2f9e41c3]{color:#888;font-size:12px}.empty-row[data-v-2f9e41c3]{text-align:center;color:#ccc;padding:40px 0!important;font-size:13px}.row-actions[data-v-2f9e41c3]{display:flex;gap:4px;flex-wrap:wrap}.btn-row[data-v-2f9e41c3]{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff);color:var(--text, #333);border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.btn-row[data-v-2f9e41c3]:hover{border-color:#555;background:var(--sidebar-bg, #f5f5f5)}.btn-row.btn-danger[data-v-2f9e41c3]{color:#e53935;border-color:#ffcdd2}.btn-row.btn-danger[data-v-2f9e41c3]:hover{background:#ffebee}.modal-mask[data-v-2f9e41c3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-2f9e41c3]{background:var(--card-bg, #fff);border-radius:8px;width:560px;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-2f9e41c3]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #eee)}.modal-header h3[data-v-2f9e41c3]{margin:0;font-size:16px;color:var(--text, #333)}.modal-close[data-v-2f9e41c3]{font-size:24px;cursor:pointer;color:#999;line-height:1}.modal-close[data-v-2f9e41c3]:hover{color:#333}.modal-body[data-v-2f9e41c3]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-2f9e41c3]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #eee)}.form-group[data-v-2f9e41c3]{margin-bottom:14px}.form-group label[data-v-2f9e41c3]{display:block;font-size:13px;color:var(--text, #333);margin-bottom:6px;font-weight:500}.form-group input[data-v-2f9e41c3]{width:100%;padding:8px 12px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.required[data-v-2f9e41c3]{color:#e53935}.file-pick-wrap[data-v-2f9e41c3]{display:flex;align-items:center;gap:10px}.file-name[data-v-2f9e41c3]{font-size:12px;color:var(--text, #333);padding:4px 10px;background:var(--sidebar-bg, #f5f5f5);border-radius:4px}.file-hint[data-v-2f9e41c3]{font-size:12px;color:#999}.upload-hint[data-v-2f9e41c3]{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--sidebar-bg, #f9f9f9);border-radius:6px;font-size:12px;color:#888;margin-top:8px}.btn-primary[data-v-2f9e41c3],.btn-default[data-v-2f9e41c3]{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.btn-primary[data-v-2f9e41c3]{background:#333;color:#fff}.btn-primary[data-v-2f9e41c3]:hover{background:#555}.btn-primary[data-v-2f9e41c3]:disabled{background:#999;cursor:not-allowed}.btn-default[data-v-2f9e41c3]{background:var(--card-bg, #fff);color:var(--text, #333);border:1px solid var(--border, #e0e0e0)}.btn-default[data-v-2f9e41c3]:hover{background:var(--sidebar-bg, #f5f5f5)}.dg-layout[data-v-69288e0e]{padding:20px;max-width:1400px;margin:0 auto}.dg-header[data-v-69288e0e]{margin-bottom:20px}.dg-title[data-v-69288e0e]{font-size:20px;color:var(--text, #333);margin:0 0 4px}.dg-subtitle[data-v-69288e0e]{font-size:13px;color:#888}.dg-main[data-v-69288e0e]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dg-input-panel[data-v-69288e0e],.dg-result-panel[data-v-69288e0e]{background:var(--card-bg, #fff);border:1px solid var(--border, #e8e8f0);border-radius:8px;padding:20px;min-height:500px}.dg-section[data-v-69288e0e]{margin-bottom:20px}.dg-section-title[data-v-69288e0e]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text, #333);margin-bottom:10px}.dg-part-tag[data-v-69288e0e]{display:inline-block;padding:2px 8px;background:#5c6bc0;color:#fff;border-radius:4px;font-size:11px;font-weight:500}.dg-required-mark[data-v-69288e0e]{color:#e53935;font-size:14px;margin-left:-4px}.dg-sub-block[data-v-69288e0e]{margin-bottom:8px}.dg-sub-label[data-v-69288e0e]{font-size:12px;color:#888;margin-bottom:6px}.dg-or-divider[data-v-69288e0e]{text-align:center;color:#bbb;font-size:12px;margin:8px 0;position:relative}.dg-or-divider[data-v-69288e0e]:before,.dg-or-divider[data-v-69288e0e]:after{content:"";display:inline-block;width:40%;height:1px;background:var(--border, #e0e0e0);vertical-align:middle;margin:0 8px}.dg-form-row[data-v-69288e0e]{display:flex;gap:8px;align-items:center}.dg-select[data-v-69288e0e]{flex:1;padding:8px 10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:#fff;color:var(--text, #333)}.dg-select[data-v-69288e0e]:focus{outline:none;border-color:#5c6bc0}.dg-textarea[data-v-69288e0e]{width:100%;padding:10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;min-height:120px;background:#fff;color:var(--text, #333)}.dg-textarea[data-v-69288e0e]:focus{outline:none;border-color:#5c6bc0}.dg-upload-area[data-v-69288e0e]{display:flex;align-items:center;gap:10px}.dg-btn-upload[data-v-69288e0e]{padding:8px 14px;background:#f0f0f5;border:1px dashed #5c6bc0;border-radius:6px;color:#5c6bc0;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.dg-btn-upload[data-v-69288e0e]:hover{background:#e8e8f5}.dg-upload-hint[data-v-69288e0e]{font-size:12px;color:#999}.dg-att-list[data-v-69288e0e]{margin-top:10px;display:flex;flex-direction:column;gap:6px}.dg-att-item[data-v-69288e0e]{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#f8f8fc;border-radius:4px;font-size:12px}.dg-att-name[data-v-69288e0e]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text, #333)}.dg-att-size[data-v-69288e0e]{color:#999}.dg-att-remove[data-v-69288e0e]{background:none;border:none;color:#e53935;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.dg-empty-hint[data-v-69288e0e]{font-size:12px;color:#999;padding:8px 0}.dg-actions[data-v-69288e0e]{margin-top:24px}.dg-btn-generate[data-v-69288e0e]{width:100%;padding:12px;background:#5c6bc0;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.dg-btn-generate[data-v-69288e0e]:hover:not(:disabled){background:#4a5ab0}.dg-btn-generate[data-v-69288e0e]:disabled{background:#b0bec5;cursor:not-allowed}.dg-loading[data-v-69288e0e]{display:inline-flex;align-items:center;gap:8px}.dg-spinner[data-v-69288e0e]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:dg-spin-69288e0e .8s linear infinite}@keyframes dg-spin-69288e0e{to{transform:rotate(360deg)}}.dg-btn-link[data-v-69288e0e]{background:none;border:none;color:#5c6bc0;cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:underline}.dg-btn-link[data-v-69288e0e]:hover{color:#4a5ab0}.dg-btn-link[data-v-69288e0e]:disabled{color:#bbb;cursor:not-allowed}.dg-result-empty[data-v-69288e0e]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#ccc;gap:12px}.dg-result-empty p[data-v-69288e0e]{font-size:13px;color:#999}.dg-result-content[data-v-69288e0e]{display:flex;flex-direction:column;height:100%}.dg-result-header[data-v-69288e0e]{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border, #e8e8f0);margin-bottom:12px}.dg-result-name[data-v-69288e0e]{font-size:15px;font-weight:600;color:var(--text, #333);margin-bottom:4px;word-break:break-all}.dg-result-info[data-v-69288e0e]{font-size:12px;color:#888}.dg-result-actions[data-v-69288e0e]{display:flex;gap:4px}.dg-btn-regenerate[data-v-69288e0e]{color:#ff9800}.dg-result-preview[data-v-69288e0e]{flex:1;overflow:auto;background:#f8f8fc;border-radius:6px;padding:12px}.dg-result-preview pre[data-v-69288e0e]{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6;color:var(--text, #333);font-family:inherit}.re-layout[data-v-3896ae68]{padding:20px;max-width:1400px;margin:0 auto}.re-header[data-v-3896ae68]{margin-bottom:20px}.re-title[data-v-3896ae68]{font-size:20px;color:var(--text, #333);margin:0 0 4px}.re-subtitle[data-v-3896ae68]{font-size:13px;color:#888}.re-main[data-v-3896ae68]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.re-input-panel[data-v-3896ae68],.re-result-panel[data-v-3896ae68]{background:var(--card-bg, #fff);border:1px solid var(--border, #e8e8f0);border-radius:8px;padding:20px;min-height:500px}.re-section[data-v-3896ae68]{margin-bottom:20px}.re-section-title[data-v-3896ae68]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text, #333);margin-bottom:10px}.re-part-tag[data-v-3896ae68]{display:inline-block;padding:2px 8px;background:#5c6bc0;color:#fff;border-radius:4px;font-size:11px;font-weight:500}.re-required-mark[data-v-3896ae68]{color:#e53935;font-size:14px;margin-left:-4px}.re-sub-block[data-v-3896ae68]{margin-bottom:12px}.re-sub-label[data-v-3896ae68]{font-size:12px;color:#888;margin-bottom:6px}.re-count[data-v-3896ae68]{color:#5c6bc0;font-weight:600}.re-quick-buttons[data-v-3896ae68]{display:flex;gap:8px}.re-quick-btn[data-v-3896ae68]{padding:6px 14px;background:#f0f0f5;border:1px solid var(--border, #e0e0e0);border-radius:6px;color:#666;font-size:13px;cursor:pointer;transition:all .15s}.re-quick-btn[data-v-3896ae68]:hover{background:#e8e8f5;color:#5c6bc0;border-color:#5c6bc0}.re-quick-btn.active[data-v-3896ae68]{background:#5c6bc0;color:#fff;border-color:#5c6bc0}.re-date-row[data-v-3896ae68]{display:flex;align-items:center;gap:8px}.re-date-input[data-v-3896ae68]{flex:1;padding:8px 10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:13px;background:#fff;color:var(--text, #333);font-family:inherit}.re-date-input[data-v-3896ae68]:focus{outline:none;border-color:#5c6bc0}.re-date-divider[data-v-3896ae68]{font-size:13px;color:#888;flex-shrink:0}.re-range-hint[data-v-3896ae68]{margin-top:6px;font-size:12px;color:#999}.re-multi-trigger[data-v-3896ae68]{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 10px;border:1px solid var(--border, #e0e0e0);border-radius:6px;background:#fff;cursor:pointer;transition:border-color .15s}.re-multi-trigger[data-v-3896ae68]:hover{border-color:#5c6bc0}.re-multi-tags[data-v-3896ae68]{flex:1;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.re-multi-placeholder[data-v-3896ae68]{color:#aaa;font-size:13px}.re-tag[data-v-3896ae68]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0f1f8;color:#5c6bc0;border-radius:4px;font-size:12px;line-height:1.4}.re-tag-remove[data-v-3896ae68]{background:none;border:none;color:#999;cursor:pointer;font-size:14px;line-height:1;padding:0;display:inline-flex;align-items:center}.re-tag-remove[data-v-3896ae68]:hover{color:#e53935}.re-multi-caret[data-v-3896ae68]{width:14px;height:14px;flex-shrink:0;transition:transform .2s;opacity:.55}.re-multi-caret.open[data-v-3896ae68]{transform:rotate(180deg)}.re-multi-panel[data-v-3896ae68]{margin-top:4px;border:1px solid var(--border, #e0e0e0);border-radius:6px;background:#fff;overflow:hidden;box-shadow:0 4px 12px #0000000f}.re-multi-search[data-v-3896ae68]{display:flex;gap:8px;padding:8px;border-bottom:1px solid #f0f0f5;align-items:center}.re-multi-search-input[data-v-3896ae68]{flex:1;padding:6px 10px;border:1px solid var(--border, #e0e0e0);border-radius:4px;font-size:13px;outline:none}.re-multi-search-input[data-v-3896ae68]:focus{border-color:#5c6bc0}.re-multi-actions[data-v-3896ae68]{display:flex;gap:4px;flex-shrink:0}.re-multi-action-btn[data-v-3896ae68]{padding:4px 10px;background:#f5f5fa;border:1px solid var(--border, #e0e0e0);border-radius:4px;color:#666;font-size:12px;cursor:pointer;white-space:nowrap}.re-multi-action-btn[data-v-3896ae68]:hover{background:#e8e8f5;color:#5c6bc0}.re-multi-list[data-v-3896ae68]{max-height:220px;overflow-y:auto;padding:4px 0}.re-multi-option[data-v-3896ae68]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text, #333);transition:background .15s}.re-multi-option[data-v-3896ae68]:hover{background:#f8f8fc}.re-multi-option.checked[data-v-3896ae68]{background:#f0f1f8}.re-checkbox[data-v-3896ae68]{margin:0;flex-shrink:0;accent-color:#5c6bc0}.re-option-name[data-v-3896ae68]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.re-multi-empty[data-v-3896ae68]{padding:24px 12px;text-align:center;color:#aaa;font-size:13px}.re-actions[data-v-3896ae68]{margin-top:24px}.re-btn-generate[data-v-3896ae68]{width:100%;padding:12px;background:#5c6bc0;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.re-btn-generate[data-v-3896ae68]:hover:not(:disabled){background:#4a5ab0}.re-btn-generate[data-v-3896ae68]:disabled{background:#b0bec5;cursor:not-allowed}.re-loading[data-v-3896ae68]{display:inline-flex;align-items:center;gap:8px}.re-spinner[data-v-3896ae68]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:re-spin-3896ae68 .8s linear infinite}@keyframes re-spin-3896ae68{to{transform:rotate(360deg)}}.re-result-empty[data-v-3896ae68]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#ccc;gap:12px}.re-result-empty p[data-v-3896ae68]{font-size:13px;color:#999}.re-result-content[data-v-3896ae68]{display:flex;flex-direction:column;height:100%}.re-result-header[data-v-3896ae68]{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border, #e8e8f0);margin-bottom:12px}.re-result-name[data-v-3896ae68]{font-size:15px;font-weight:600;color:var(--text, #333);margin-bottom:4px}.re-result-info[data-v-3896ae68]{font-size:12px;color:#888}.re-result-actions[data-v-3896ae68]{display:flex;gap:4px}.re-btn-link[data-v-3896ae68]{background:none;border:none;color:#5c6bc0;cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:underline}.re-btn-link[data-v-3896ae68]:hover{color:#4a5ab0}.re-result-preview[data-v-3896ae68]{flex:1;overflow:auto;background:#f8f8fc;border-radius:6px;padding:12px}.re-result-preview pre[data-v-3896ae68]{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6;color:var(--text, #333);font-family:inherit}.task-admin[data-v-f6ef0ddc]{padding:20px}.header[data-v-f6ef0ddc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header h2[data-v-f6ef0ddc]{margin:0;font-size:18px}.filter-bar[data-v-f6ef0ddc]{display:flex;gap:12px;margin-bottom:16px}.filter-input[data-v-f6ef0ddc]{flex:1;padding:8px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333)}.filter-select[data-v-f6ef0ddc]{padding:8px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333)}.data-table[data-v-f6ef0ddc]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-f6ef0ddc]{text-align:left;padding:10px 8px;border-bottom:2px solid var(--border, #ddd);color:var(--text-secondary, #888);font-weight:600}.data-table td[data-v-f6ef0ddc]{padding:10px 8px;border-bottom:1px solid var(--border, #eee);color:var(--text, #333)}.td-name[data-v-f6ef0ddc]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty[data-v-f6ef0ddc]{text-align:center;color:#ccc;padding:40px 0}.status-tag[data-v-f6ef0ddc]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.status-active[data-v-f6ef0ddc]{color:#555;background:#eee}.status-done[data-v-f6ef0ddc]{color:#333;background:#ddd}.status-rejected[data-v-f6ef0ddc]{color:#fff;background:#e74c3c}.btn-primary[data-v-f6ef0ddc]{background:#333;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary[data-v-f6ef0ddc]:hover{background:#555}.btn-default[data-v-f6ef0ddc]{background:var(--sidebar-bg, #f5f5f5);color:var(--text, #333);border:1px solid var(--border, #ddd);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px}.btn-row[data-v-f6ef0ddc]{background:none;border:1px solid var(--border, #ddd);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text, #333);margin-right:4px}.btn-row[data-v-f6ef0ddc]:hover{background:var(--sidebar-bg, #f5f5f5)}.btn-danger-text[data-v-f6ef0ddc]{color:#e74c3c}.btn-danger-text[data-v-f6ef0ddc]:disabled{color:#ccc;cursor:not-allowed}.modal-mask[data-v-f6ef0ddc]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-f6ef0ddc]{background:var(--card-bg, #fff);border-radius:12px;width:560px;max-height:85vh;overflow-y:auto}.modal-header[data-v-f6ef0ddc]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #eee)}.modal-header h3[data-v-f6ef0ddc]{margin:0;font-size:16px;color:var(--text, #333)}.modal-close[data-v-f6ef0ddc]{cursor:pointer;font-size:22px;color:#999}.modal-body[data-v-f6ef0ddc]{padding:20px}.modal-footer[data-v-f6ef0ddc]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #eee)}.form-group[data-v-f6ef0ddc]{margin-bottom:14px}.form-group label[data-v-f6ef0ddc]{display:block;margin-bottom:4px;font-size:13px;color:var(--text, #333)}.form-group input[data-v-f6ef0ddc],.form-group textarea[data-v-f6ef0ddc],.form-group select[data-v-f6ef0ddc]{width:100%;padding:8px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13px;background:var(--card-bg, #fff);color:var(--text, #333);box-sizing:border-box}.form-group input[data-v-f6ef0ddc]:disabled,.form-group textarea[data-v-f6ef0ddc]:disabled,.form-group select[data-v-f6ef0ddc]:disabled{background:#f5f5f5}.form-row[data-v-f6ef0ddc]{display:flex;gap:12px}.form-group.half[data-v-f6ef0ddc]{flex:1}.required[data-v-f6ef0ddc]{color:#e53935}.datetime-split[data-v-f6ef0ddc]{display:flex;gap:8px}.datetime-split input[type=date][data-v-f6ef0ddc]{flex:3;min-width:150px}.datetime-split input[type=time][data-v-f6ef0ddc]{flex:2;min-width:90px}.ext-notice[data-v-f6ef0ddc]{background:#fff3cd;color:#856404;padding:8px 12px;border-radius:6px;margin-bottom:14px;font-size:12px}.token-rank-page[data-v-429649ab]{min-height:100%;margin:0 -16px -16px;padding:0 16px 40px;background:#fff;color:#111827}.rank-shell[data-v-429649ab]{width:min(100%,768px);margin:0 auto;padding-top:6px}.rank-toolbar[data-v-429649ab]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin-bottom:10px}.sync-state[data-v-429649ab]{display:flex;align-items:center;min-width:0;color:#9ca3af;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot[data-v-429649ab]{width:7px;height:7px;margin-right:7px;border-radius:50%;background:#d1d5db;flex:0 0 auto}.status-dot.online[data-v-429649ab]{background:#10b981;box-shadow:0 0 0 3px #d1fae5}.toolbar-actions[data-v-429649ab]{display:flex;align-items:center;gap:8px;flex:0 0 auto}.my-button[data-v-429649ab],.icon-command[data-v-429649ab],.sync-button[data-v-429649ab]{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;color:#4b5563;font-size:12px;cursor:pointer}.my-button[data-v-429649ab]:hover{border-color:#9ca3af;color:#111827}.how-button[data-v-429649ab]{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #111827;border-radius:7px;background:#111827;color:#fff;font-size:12px;cursor:pointer}.how-button[data-v-429649ab]:hover{background:#374151}.sync-button[data-v-429649ab]{background:#111827;border-color:#111827;color:#fff}.icon-command[data-v-429649ab]:hover{border-color:#9ca3af;color:#111827}.sync-button[data-v-429649ab]:hover:not(:disabled){background:#374151}.sync-button[data-v-429649ab]:disabled{opacity:.45;cursor:not-allowed}.my-button svg[data-v-429649ab],.icon-command svg[data-v-429649ab],.how-button svg[data-v-429649ab],.sync-button svg[data-v-429649ab]{width:14px;height:14px;flex:0 0 auto}.spinning[data-v-429649ab]{animation:spin-429649ab .8s linear infinite}@keyframes spin-429649ab{to{transform:rotate(360deg)}}.filter-row[data-v-429649ab]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.filter-chip[data-v-429649ab]{flex:0 0 auto;min-height:30px;padding:5px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;font-size:14px;line-height:18px;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.filter-chip[data-v-429649ab]:hover{border-color:#d1d5db;color:#111827}.filter-chip.selected[data-v-429649ab],.filter-label[data-v-429649ab]{border-color:#d1d5db;background:#f3f4f6;color:#111827;font-weight:600}.more-chip[data-v-429649ab]{color:#9ca3af}.chip-count[data-v-429649ab]{margin-left:4px;color:#9ca3af;font-size:12px;font-weight:400}.expanded-models[data-v-429649ab]{margin:-1px 0 10px;padding:10px 12px;border-left:2px solid #e5e7eb;background:#fafafa}.model-group+.model-group[data-v-429649ab]{margin-top:10px}.model-vendor[data-v-429649ab]{margin-bottom:6px;color:#9ca3af;font-size:12px;font-weight:600}.model-options[data-v-429649ab]{display:flex;flex-wrap:wrap;gap:7px}.model-options .filter-chip[data-v-429649ab]{min-height:27px;padding:4px 9px;font-size:12px}.range-metric-row[data-v-429649ab]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:2px 0 15px}.range-row[data-v-429649ab]{flex:1 1 auto;margin-bottom:0}.metric-tabs[data-v-429649ab]{display:grid;grid-template-columns:repeat(3,auto);flex:0 0 auto;padding:2px;border-radius:8px;background:#f3f4f6}.metric-tabs button[data-v-429649ab]{min-height:24px;padding:3px 10px;border:0;border-radius:6px;background:transparent;color:#9ca3af;font-size:12px;white-space:nowrap;cursor:pointer}.metric-tabs button.selected[data-v-429649ab]{background:#fff;color:#111827;font-weight:600;box-shadow:0 1px 2px #0f172a17}.rank-summary[data-v-429649ab]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:12px;color:#9ca3af;font-size:12px}.rank-summary>span[data-v-429649ab]:first-child{color:#6b7280;font-size:14px}.rank-summary strong[data-v-429649ab]{color:#111827;font-size:17px;font-variant-numeric:tabular-nums}.rank-summary small[data-v-429649ab]{margin-left:4px;color:#9ca3af;font-size:11px;font-weight:400}.rank-summary .my-rank[data-v-429649ab]{padding:2px 7px;border-radius:4px;background:#ecfdf5;color:#047857}.summary-secondary[data-v-429649ab]{margin:-6px 0 12px;color:#9ca3af;font-size:11px;font-variant-numeric:tabular-nums}.sync-notice[data-v-429649ab],.error-state[data-v-429649ab]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;margin-bottom:16px;padding:10px 12px;border:1px solid #d1fae5;border-radius:8px;background:#f0fdf4;color:#6b7280;font-size:13px}.sync-notice button[data-v-429649ab],.error-state button[data-v-429649ab]{flex:0 0 auto;padding:5px 10px;border:1px solid #a7f3d0;border-radius:7px;background:#fff;color:#047857;font-size:12px;font-weight:600;cursor:pointer}.sync-notice button[data-v-429649ab]:disabled{opacity:.45;cursor:not-allowed}.error-state[data-v-429649ab]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.error-state button[data-v-429649ab]{border-color:#fecaca;color:#b91c1c}.ranking-list[data-v-429649ab]{display:flex;flex-direction:column;gap:8px;list-style:none;transition:opacity .2s}.ranking-list.dimmed[data-v-429649ab]{opacity:.55}.rank-item[data-v-429649ab]{display:flex;align-items:center;gap:12px;min-height:66px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.rank-number[data-v-429649ab]{width:32px;flex:0 0 32px;text-align:center;color:#9ca3af;font-size:13px;font-variant-numeric:tabular-nums}.medal[data-v-429649ab]{font-size:20px}.rank-avatar[data-v-429649ab]{position:relative;width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:13px;font-weight:700}.rank-avatar img[data-v-429649ab]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.rank-person[data-v-429649ab]{min-width:0;flex:1 1 auto}.person-line[data-v-429649ab]{display:flex;align-items:center;gap:6px;min-width:0}.person-line strong[data-v-429649ab]{overflow:hidden;color:#111827;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.city-tag[data-v-429649ab]{flex:0 0 auto;padding:1px 5px;border-radius:4px;background:#f3f4f6;color:#9ca3af;font-size:10px}.tool-breakdown[data-v-429649ab]{display:flex;gap:0 10px;min-width:0;margin-top:4px;overflow:hidden;color:#9ca3af;font-size:12px;white-space:nowrap}.tool-breakdown span[data-v-429649ab]{flex:0 0 auto}.rank-value[data-v-429649ab]{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}.rank-value strong[data-v-429649ab]{display:block;color:#111827;font-size:16px;line-height:21px}.rank-value span[data-v-429649ab]{display:block;color:#9ca3af;font-size:11px;white-space:nowrap}.loading-list[data-v-429649ab]{display:flex;flex-direction:column;gap:8px}.loading-row[data-v-429649ab]{display:flex;align-items:center;gap:12px;height:66px;padding:12px;border:1px solid #e5e7eb;border-radius:8px}.loading-row i[data-v-429649ab],.loading-row span[data-v-429649ab],.loading-row b[data-v-429649ab]{display:block;background:#f3f4f6;animation:pulse-429649ab 1.2s ease-in-out infinite}.loading-row i[data-v-429649ab]{width:36px;height:36px;border-radius:50%}.loading-row span[data-v-429649ab]{width:42%;height:12px;border-radius:4px}.loading-row b[data-v-429649ab]{width:82px;height:16px;margin-left:auto;border-radius:4px}@keyframes pulse-429649ab{50%{opacity:.45}}.empty-state[data-v-429649ab]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:190px;color:#9ca3af;font-size:13px}.empty-state svg[data-v-429649ab]{width:34px;height:34px;color:#d1d5db}.dialog-mask[data-v-429649ab]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#11182759}.city-dialog[data-v-429649ab]{width:min(100%,360px);padding:18px;border-radius:8px;background:#fff;box-shadow:0 16px 36px #0f172a2e}.dialog-title[data-v-429649ab]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-title h3[data-v-429649ab]{font-size:16px;font-weight:600}.dialog-title button[data-v-429649ab]{width:28px;height:28px;border:0;background:transparent;color:#9ca3af;font-size:22px;cursor:pointer}.city-dialog input[data-v-429649ab]{width:100%;height:38px;padding:0 10px;border:1px solid #d1d5db;border-radius:7px;outline:none;font-size:14px}.city-dialog input[data-v-429649ab]:focus{border-color:#6b7280;box-shadow:0 0 0 3px #f3f4f6}.how-dialog[data-v-429649ab]{width:min(100%,660px);padding:18px;border-radius:8px;background:#fff;box-shadow:0 16px 36px #0f172a2e}.how-lead[data-v-429649ab]{margin:-4px 0 12px;color:#6b7280;font-size:13px;line-height:1.65}.prompt-box[data-v-429649ab]{display:block;width:100%;min-height:250px;resize:vertical;padding:12px;border:1px solid #d1d5db;border-radius:7px;outline:none;background:#f9fafb;color:#374151;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.prompt-error[data-v-429649ab]{margin-top:8px;color:#b91c1c;font-size:12px}.prompt-actions[data-v-429649ab]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.prompt-actions button[data-v-429649ab]{min-height:32px;padding:5px 13px;border-radius:7px;font-size:13px;cursor:pointer}.prompt-actions .regenerate[data-v-429649ab]{border:1px solid #d1d5db;background:#fff;color:#4b5563}.prompt-actions .regenerate[data-v-429649ab]:disabled,.prompt-actions .save[data-v-429649ab]:disabled{opacity:.45;cursor:not-allowed}.dialog-actions[data-v-429649ab]{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dialog-actions button[data-v-429649ab]{min-height:32px;padding:5px 14px;border-radius:7px;font-size:13px;cursor:pointer}.dialog-actions .cancel[data-v-429649ab]{border:1px solid #e5e7eb;background:#fff;color:#6b7280}.dialog-actions .save[data-v-429649ab]{border:1px solid #111827;background:#111827;color:#fff}.rank-toast[data-v-429649ab]{position:fixed;left:50%;top:24px;z-index:1300;transform:translate(-50%);padding:9px 16px;border-radius:7px;background:#111827;color:#fff;font-size:13px;box-shadow:0 8px 24px #0f172a33}@media (max-width: 760px){.token-rank-page[data-v-429649ab]{padding-left:12px;padding-right:12px}.rank-toolbar[data-v-429649ab]{align-items:flex-start}.sync-state[data-v-429649ab]{padding-top:8px}.my-button span[data-v-429649ab],.icon-command span[data-v-429649ab]{display:none}.my-button[data-v-429649ab],.icon-command[data-v-429649ab]{width:30px;padding:5px;justify-content:center}.how-button span[data-v-429649ab]{display:none}.how-button[data-v-429649ab]{width:30px;padding:5px;justify-content:center}.filter-row[data-v-429649ab]{flex-wrap:nowrap;overflow-x:auto;margin-left:-12px;margin-right:-12px;padding:1px 12px 5px;scrollbar-width:none}.filter-row[data-v-429649ab]::-webkit-scrollbar{display:none}.expanded-models .model-options[data-v-429649ab]{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.range-metric-row[data-v-429649ab]{display:block}.metric-tabs[data-v-429649ab]{grid-template-columns:repeat(3,1fr);width:100%;margin-top:8px}.rank-item[data-v-429649ab]{gap:8px;padding:10px 8px}.rank-number[data-v-429649ab]{width:26px;flex-basis:26px}.rank-avatar[data-v-429649ab]{width:32px;height:32px;flex-basis:32px}.rank-value strong[data-v-429649ab]{font-size:14px}.rank-value span[data-v-429649ab]{max-width:96px;overflow:hidden;text-overflow:ellipsis}.tool-breakdown[data-v-429649ab]{max-width:100%}}.token-me-page[data-v-2341e86b]{min-height:100%;margin:0 -16px -16px;padding:0 16px 48px;background:#f8fafc;color:#111827}.token-me-shell[data-v-2341e86b]{width:min(100%,980px);margin:0 auto;padding-top:20px}.me-header[data-v-2341e86b],.profile-strip[data-v-2341e86b],.panel-heading[data-v-2341e86b],.breakdown-label[data-v-2341e86b],.connect-notice[data-v-2341e86b]{display:flex;align-items:center;justify-content:space-between;gap:16px}.me-header[data-v-2341e86b]{margin-bottom:20px}.me-heading[data-v-2341e86b]{display:flex;align-items:center;gap:12px}.back-button[data-v-2341e86b]{width:32px;height:32px;display:grid;place-items:center;border:1px solid #e5e7eb;border-radius:7px;background:#fff;color:#6b7280;cursor:pointer}.back-button svg[data-v-2341e86b]{width:16px;height:16px}.eyebrow[data-v-2341e86b]{margin-bottom:3px;color:#9ca3af;font-size:12px}h1[data-v-2341e86b],h2[data-v-2341e86b],p[data-v-2341e86b]{margin:0}h1[data-v-2341e86b]{font-size:25px;letter-spacing:0}h2[data-v-2341e86b]{font-size:15px}.me-actions[data-v-2341e86b]{display:flex;gap:8px}.link-button[data-v-2341e86b],.primary-button[data-v-2341e86b],.connect-notice button[data-v-2341e86b],.error-panel button[data-v-2341e86b]{min-height:32px;padding:6px 13px;border-radius:7px;font-size:13px;cursor:pointer}.link-button[data-v-2341e86b]{border:1px solid #e5e7eb;background:#fff;color:#4b5563}.primary-button[data-v-2341e86b],.connect-notice button[data-v-2341e86b]{border:1px solid #111827;background:#111827;color:#fff}.profile-strip[data-v-2341e86b]{min-height:76px;margin-bottom:16px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.profile-identity[data-v-2341e86b]{display:flex;align-items:center;gap:11px;min-width:0}.profile-avatar[data-v-2341e86b]{position:relative;width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;overflow:hidden;border-radius:50%;background:#f3f4f6;color:#6b7280;font-weight:700}.profile-avatar img[data-v-2341e86b]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.profile-copy[data-v-2341e86b]{display:flex;flex-direction:column;gap:3px;min-width:0}.profile-copy strong[data-v-2341e86b]{font-size:15px}.profile-copy span[data-v-2341e86b]{color:#9ca3af;font-size:12px}.connection-state[data-v-2341e86b]{display:flex;align-items:center;gap:6px;color:#9ca3af;font-size:12px;white-space:nowrap}.connection-state small[data-v-2341e86b]{color:#c4c9d2}.connection-state.connected[data-v-2341e86b]{color:#047857}.state-dot[data-v-2341e86b]{width:7px;height:7px;border-radius:50%;background:#d1d5db}.connected .state-dot[data-v-2341e86b]{background:#10b981;box-shadow:0 0 0 3px #d1fae5}.period-tabs[data-v-2341e86b]{display:flex;gap:4px;margin-bottom:16px;padding:3px;border-radius:8px;background:#eef2f7;width:fit-content}.period-tabs button[data-v-2341e86b]{min-height:28px;padding:4px 13px;border:0;border-radius:6px;background:transparent;color:#6b7280;font-size:12px;cursor:pointer}.period-tabs button.selected[data-v-2341e86b]{background:#fff;color:#111827;font-weight:600;box-shadow:0 1px 2px #0f172a14}.metric-grid[data-v-2341e86b]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-card[data-v-2341e86b]{min-height:108px;padding:15px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.metric-card.accent[data-v-2341e86b]{border-color:#c7d2fe;background:#f8faff}.metric-card span[data-v-2341e86b],.metric-card small[data-v-2341e86b]{display:block;color:#9ca3af;font-size:12px}.metric-card strong[data-v-2341e86b]{display:block;margin:10px 0 3px;color:#111827;font-size:23px;font-variant-numeric:tabular-nums}.metric-card small[data-v-2341e86b]{color:#b0b7c3}.insight-line[data-v-2341e86b]{display:flex;flex-wrap:wrap;gap:7px 20px;margin:13px 2px 18px;color:#9ca3af;font-size:12px}.content-grid[data-v-2341e86b]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:12px;margin-bottom:12px}.panel[data-v-2341e86b]{min-width:0;padding:17px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.panel-heading[data-v-2341e86b]{align-items:flex-start;margin-bottom:17px}.panel-heading p[data-v-2341e86b]{margin-top:4px;color:#9ca3af;font-size:12px}.panel-heading>span[data-v-2341e86b]{color:#9ca3af;font-size:11px;white-space:nowrap}.trend-chart[data-v-2341e86b]{display:flex;gap:10px;height:216px}.chart-y[data-v-2341e86b]{display:flex;flex-direction:column;justify-content:space-between;padding:2px 0 22px;color:#b0b7c3;font-size:10px;text-align:right}.chart-area[data-v-2341e86b]{position:relative;flex:1;border-bottom:1px solid #e5e7eb;background:repeating-linear-gradient(to bottom,transparent 0,transparent 53px,#f1f5f9 54px)}.chart-bars[data-v-2341e86b]{display:flex;align-items:flex-end;justify-content:space-around;height:100%;gap:4px;padding:0 4px;overflow-x:auto}.bar-column[data-v-2341e86b]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:26px;height:100%}.bar[data-v-2341e86b]{width:14px;min-height:4px;border-radius:4px 4px 0 0;background:#111827}.bar-column span[data-v-2341e86b]{margin-top:7px;color:#9ca3af;font-size:9px;white-space:nowrap;transform:rotate(-35deg);transform-origin:center top}.breakdown-list[data-v-2341e86b]{display:flex;flex-direction:column;gap:14px}.breakdown-label strong[data-v-2341e86b]{min-width:0;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.breakdown-label span[data-v-2341e86b]{color:#4b5563;font-size:12px;font-variant-numeric:tabular-nums}.progress-track[data-v-2341e86b]{height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:#f1f5f9}.progress-track i[data-v-2341e86b]{display:block;height:100%;border-radius:inherit;background:#111827}.breakdown-item small[data-v-2341e86b]{display:block;margin-top:4px;color:#b0b7c3;font-size:10px}.table-panel[data-v-2341e86b]{margin-bottom:12px}.model-table[data-v-2341e86b]{overflow:hidden;border:1px solid #eef2f7;border-radius:7px}.model-row[data-v-2341e86b]{display:grid;grid-template-columns:minmax(0,1.7fr) .8fr .55fr .7fr;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-bottom:1px solid #f1f5f9;color:#6b7280;font-size:12px;font-variant-numeric:tabular-nums}.model-row[data-v-2341e86b]:last-child{border-bottom:0}.model-row.header[data-v-2341e86b]{min-height:34px;background:#f8fafc;color:#9ca3af;font-size:11px}.model-row[data-v-2341e86b]>:not(:first-child){text-align:right}.model-row strong[data-v-2341e86b]{color:#111827;font-weight:600}.model-name[data-v-2341e86b]{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-name i[data-v-2341e86b]{width:7px;height:7px;flex:0 0 7px;border-radius:50%}.panel-empty[data-v-2341e86b]{display:grid;place-items:center;min-height:150px;color:#a8b0bc;font-size:13px}.error-panel[data-v-2341e86b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:11px 13px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:13px}.error-panel button[data-v-2341e86b]{border:1px solid #fecaca;background:#fff;color:#b91c1c}.me-loading[data-v-2341e86b]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.me-loading i[data-v-2341e86b]{height:108px;border-radius:8px;background:#eef2f7;animation:pulse-2341e86b 1.2s ease-in-out infinite}@keyframes pulse-2341e86b{50%{opacity:.45}}.connect-notice[data-v-2341e86b]{margin-top:12px;padding:14px 16px;border:1px solid #c7d2fe;border-radius:8px;background:#f8faff}.connect-notice div[data-v-2341e86b]{display:flex;flex-direction:column;gap:4px}.connect-notice strong[data-v-2341e86b]{font-size:13px}.connect-notice span[data-v-2341e86b]{color:#7c8798;font-size:12px}@media (max-width: 760px){.token-me-page[data-v-2341e86b]{padding-left:12px;padding-right:12px}.token-me-shell[data-v-2341e86b]{padding-top:12px}.me-header[data-v-2341e86b],.profile-strip[data-v-2341e86b]{align-items:flex-start}.me-actions[data-v-2341e86b],.profile-strip[data-v-2341e86b]{flex-direction:column}.connection-state[data-v-2341e86b]{align-self:flex-start;flex-wrap:wrap;white-space:normal}.period-tabs[data-v-2341e86b]{width:100%;overflow-x:auto}.period-tabs button[data-v-2341e86b]{flex:1 0 auto}.metric-grid[data-v-2341e86b]{grid-template-columns:repeat(2,1fr)}.content-grid[data-v-2341e86b]{grid-template-columns:1fr}.model-row[data-v-2341e86b]{grid-template-columns:minmax(0,1.45fr) .8fr .55fr}.model-row[data-v-2341e86b]>:last-child{display:none}.connect-notice[data-v-2341e86b]{align-items:flex-start}}
