.tf-root[data-v-b6f5d853]{position:fixed;z-index:3000}.tf-fab[data-v-b6f5d853]{width:46px;height:46px;border:none;border-radius:50%;cursor:pointer;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,#fff6e6,#ffe0b3 70%,#ffcf8a);box-shadow:0 8px 20px #b4782847;transition:transform .15s,box-shadow .15s}.tf-fab[data-v-b6f5d853]:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 10px 24px #b4782866}.tf-fab.busy[data-v-b6f5d853]{animation:tf-pulse-b6f5d853 1.4s ease-in-out infinite}@keyframes tf-pulse-b6f5d853{0%,to{box-shadow:0 8px 20px #b4782847}50%{box-shadow:0 8px 26px #f09628bf}}.tf-fab__dog[data-v-b6f5d853]{font-size:27px;line-height:1;transform:translateY(-1px)}.tf-fab__badge[data-v-b6f5d853]{position:absolute;right:-5px;top:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.tf[data-v-b6f5d853]{width:250px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 22px #0000001f;overflow:hidden;font-size:12px}.tf-hd[data-v-b6f5d853]{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:grab;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.tf-hd[data-v-b6f5d853]:active{cursor:grabbing}.tf-grip[data-v-b6f5d853]{opacity:.8;font-size:12px}.tf-title[data-v-b6f5d853]{font-weight:700}.tf-badge[data-v-b6f5d853]{background:#ffffff40;border-radius:999px;padding:0 6px;font-size:10px}.tf-sp[data-v-b6f5d853]{flex:1}.tf-all[data-v-b6f5d853]{color:#fff;font-size:11px;text-decoration:underline}.tf-collapse[data-v-b6f5d853]{cursor:pointer;font-size:12px;opacity:.9;padding:0 2px}.tf-body[data-v-b6f5d853]{max-height:200px;overflow:auto;padding:4px}.tf-empty[data-v-b6f5d853]{padding:12px;text-align:center;color:#9aa0aa;font-size:11px}.tf-item[data-v-b6f5d853]{display:flex;gap:6px;padding:5px 6px;border-radius:8px;align-items:center}.tf-item[data-v-b6f5d853]:hover{background:#f7faf8}.tf-ico[data-v-b6f5d853]{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex:0 0 auto;font-size:11px}.tf-ico.upload[data-v-b6f5d853]{background:#1677ff}.tf-ico.download[data-v-b6f5d853]{background:#16a34a}.tf-mid[data-v-b6f5d853]{flex:1;min-width:0}.tf-name[data-v-b6f5d853]{font-size:11px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-bar[data-v-b6f5d853]{height:4px;background:#eef1f0;border-radius:999px;margin:4px 0;overflow:hidden}.tf-fill[data-v-b6f5d853]{height:100%;background:#1677ff;transition:width .2s}.tf-fill.done[data-v-b6f5d853]{background:#16a34a}.tf-fill.error[data-v-b6f5d853]{background:#e5484d}.tf-fill.paused[data-v-b6f5d853]{background:#d48806}.tf-sub[data-v-b6f5d853]{display:flex;justify-content:space-between;font-size:10px;color:#9aa0aa}.tf-sub .error[data-v-b6f5d853]{color:#e5484d}.tf-sub .paused[data-v-b6f5d853]{color:#d48806}.tf-ops[data-v-b6f5d853]{display:flex;gap:3px}.tf-mini[data-v-b6f5d853]{border:none;background:#f0f2f0;color:#4b5563;border-radius:6px;font-size:10px;padding:2px 6px;cursor:pointer}.tf-mini.on[data-v-b6f5d853]{background:#e6f4ff;color:#1677ff}.tf-mini.del[data-v-b6f5d853]{color:#e5484d}:root{--brand: #7b5cff;--brand-soft: #ede4ff;--mint: #9fe5c9;--mint-soft: #c9f0dd;--ink: #222222;--muted: #999999;--faint: #bbbbbb;--line: #f0f0ee;--bg: #f5f5f2;--card: #ffffff;--radius: 16px;--el-color-primary: #7b5cff;--el-border-radius-base: 10px;--el-font-size-base: 14px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.el-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:none!important;background:var(--card)!important}.el-card__header{font-weight:700;border-bottom:1px solid var(--line)!important;padding:16px 18px}.el-table{border-radius:14px;overflow:hidden}.el-table th.el-table__cell{background:#fafafa!important;color:var(--muted)!important;font-weight:600}.el-button{border-radius:999px}.page-title{font-size:20px;font-weight:800;margin:0 0 4px;letter-spacing:.3px}.page-sub{color:var(--muted);font-size:13px;margin:0 0 16px}.dash{display:flex;flex-direction:column;gap:18px}.hero{position:relative;overflow:hidden;border-radius:16px;padding:18px 20px;color:#eafff5;background:linear-gradient(115deg,#0b3d2e,#14532d 60%,#16a34a)}.hero:after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;background:#ffffff59}.hero:before{content:"";position:absolute;right:80px;bottom:-70px;width:150px;height:150px;border-radius:50%;background:#7b5cff1a}.hero-hi{font-size:19px;font-weight:800;letter-spacing:.3px}.hero-sub{color:#cdeadd}.hero-sub{margin-top:5px;opacity:.75;font-size:12.5px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 12px;transition:border-color .18s,transform .18s}.stat:hover{transform:translateY(-2px);border-color:#c9f0dd}.stat .ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;margin-bottom:8px}.stat .val{font-size:21px;font-weight:800;letter-spacing:.3px;color:#1a1a1a;line-height:1.15}.stat .lbl{color:var(--muted);font-size:12px;margin-top:1px}.stat .hint{color:var(--faint);font-size:11px;margin-top:3px}.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.plan .row{display:flex;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px dashed var(--line);flex-wrap:wrap}.plan .row:last-child{border-bottom:none}.plan .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:none}.plan .row .tag{flex:none}.plan .row .title{flex:1;min-width:0;color:#374151;word-break:break-word}.plan .due{margin-left:auto;flex:none;color:var(--faint);font-size:12px}.memo-item{background:#fbf9ff;border:1px solid #efe8ff;border-left:3px solid var(--brand);border-radius:12px;padding:10px 12px;margin-top:10px;font-size:13.5px;color:#5b4a8a}.empty-tip{color:var(--faint);font-size:13px;padding:10px 0}.m-page{padding:14px;display:flex;flex-direction:column;gap:12px}.m-card{background:#fff;border:1px solid var(--line);border-radius:16px}.m-card.pad{padding:16px}.m-title{font-size:15px;font-weight:700;color:#1a1a1a}.m-sub{font-size:12px;color:var(--muted)}.m-row{display:flex;align-items:center;gap:10px}.m-between{display:flex;align-items:center;justify-content:space-between}.m-pill{border-radius:999px;padding:6px 14px;font-size:13px}.m-chip{padding:6px 14px;border-radius:999px;font-size:13px;color:#666;background:#fff;border:1px solid var(--line)}.m-chip.on{background:var(--brand-soft);color:var(--brand);border-color:transparent;font-weight:600}.m-num{font-weight:800;color:#1a1a1a;letter-spacing:.5px}.m-list-item{display:flex;align-items:center;gap:12px;padding:14px 4px}.m-list-item+.m-list-item{border-top:1px solid #f7f7f5}.m-list-item .el-icon:first-child{font-size:20px;color:#555}.m-list-item .txt{font-size:15px;color:#333}.m-list-item .chev{margin-left:auto;color:#ccc}.m-badge{background:var(--brand);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}.theme-dark{background:#0e0e11;color:#e6e6ea;--el-bg-color: #1a1a1a;--el-bg-color-page: #0e0e11;--el-bg-color-overlay: #1a1a1a;--el-text-color-primary: #e6e6ea;--el-text-color-regular: #c9c9d1;--el-text-color-secondary: #8a8a92;--el-text-color-placeholder: #6b6b73;--el-text-color-disabled: #55555d;--el-border-color: rgba(255, 255, 255, .12);--el-border-color-light: rgba(255, 255, 255, .08);--el-border-color-lighter: rgba(255, 255, 255, .06);--el-border-color-extra-light: rgba(255, 255, 255, .04);--el-fill-color: #26262c;--el-fill-color-light: #26262c;--el-fill-color-lighter: #202024;--el-fill-color-blank: #1a1a1a;--el-fill-color-dark: #2e2e35;--el-fill-color-darker: #33333a;--el-mask-color: rgba(0, 0, 0, .7);--el-color-primary: #4ade80;--el-color-primary-light-3: #6ee7a0;--el-color-primary-light-5: #86efac;--el-color-primary-light-7: #bbf7d0;--el-color-primary-light-8: #d1fae5;--el-color-primary-light-9: rgba(74, 222, 128, .12);--el-color-primary-dark-2: #22c55e}.theme-dark .el-overlay{background-color:#000000b3}.theme-dark .el-dialog,.theme-dark .el-message-box,.theme-dark .el-drawer{background:#1a1a1a}.theme-dark .el-dialog__title,.theme-dark .el-message-box__title,.theme-dark .el-drawer__title{color:#fff}.theme-dark .el-dialog__body,.theme-dark .el-message-box__content,.theme-dark .el-drawer__body{color:#e6e6ea}.theme-dark .el-dialog__headerbtn .el-dialog__close{color:#8a8a92}.theme-dark .el-message-box__message{color:#c9c9d1}.theme-dark .el-input__wrapper,.theme-dark .el-textarea__inner,.theme-dark .el-select__wrapper,.theme-dark .el-date-editor.el-input__wrapper,.theme-dark .el-date-editor .el-range-input{background-color:#26262c;box-shadow:0 0 0 1px #ffffff1f inset}.theme-dark .el-input__inner,.theme-dark .el-textarea__inner,.theme-dark .el-select__placeholder,.theme-dark .el-range-input{color:#e6e6ea}.theme-dark .el-input__inner::placeholder,.theme-dark .el-textarea__inner::placeholder,.theme-dark .el-select__placeholder.is-transparent,.theme-dark .el-range-input::placeholder{color:#6b6b73}.theme-dark .el-input__prefix,.theme-dark .el-input__suffix,.theme-dark .el-select__caret{color:#8a8a92}.theme-dark .el-textarea__inner{color:#e6e6ea}.theme-dark .el-popper,.theme-dark .el-select-dropdown,.theme-dark .el-picker-panel,.theme-dark .el-dropdown__popper{background:#1a1a1a;border-color:#ffffff1a}.theme-dark .el-popper__arrow:before{background:#1a1a1a!important;border-color:#ffffff1a!important}.theme-dark .el-select-dropdown__item{color:#c9c9d1}.theme-dark .el-select-dropdown__item.is-hovering{background:#26262c}.theme-dark .el-select-dropdown__item.is-selected{color:#4ade80}.theme-dark .el-picker-panel{color:#e6e6ea}.theme-dark .el-checkbox__label,.theme-dark .el-radio__label{color:#d9d9de}.theme-dark .el-checkbox__inner,.theme-dark .el-radio__inner{background-color:#26262c;border-color:#ffffff40}.theme-dark .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info){background:#26262c;border-color:#ffffff1f;color:#e6e6ea}.theme-dark .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info):hover{background:#33333a;border-color:#fff3;color:#fff}.theme-dark .el-tag{border-color:#ffffff1f}.theme-dark .el-tag--plain{background:transparent;color:#c9c9d1}.theme-dark .el-tag--warning{color:#f0b429;border-color:#f0b42966;background:#f0b4291f}.theme-dark .el-empty__description p{color:#8a8a92}.theme-dark .el-empty__image svg{opacity:.6}.theme-dark .el-progress__text{color:#c9c9d1}.theme-dark .el-progress-bar__outer{background-color:#26262c}.theme-dark .el-dropdown-menu{background:#1a1a1a}.theme-dark .el-dropdown-menu__item{color:#c9c9d1}.theme-dark .el-dropdown-menu__item:not(.is-disabled):hover{background:#26262c;color:#4ade80}.theme-dark .el-dropdown-menu__item--divided:before{background:#ffffff14}.theme-dark .el-message{background:#26262c;border-color:#ffffff1a}.theme-dark .el-message__content{color:#e6e6ea}.theme-dark .el-message--success{background:#16281d;border-color:#4ade804d}.theme-dark .el-message--success .el-message__content{color:#4ade80}.theme-dark .el-message--warning{background:#2a2413;border-color:#f0b4294d}.theme-dark .el-message--error{background:#2a1618;border-color:#e5484d4d}.theme-dark ::-webkit-scrollbar-thumb{background:#33333a}.theme-dark ::-webkit-scrollbar-track{background:transparent}@media (max-width: 640px){.el-dialog{width:92%!important;max-width:92%!important;margin:6vh auto!important}.el-dialog .el-form-item__label{width:74px!important}.el-dialog__body{padding:14px 16px!important}.page-title{font-size:20px!important}}@media (max-width: 768px){.el-dialog{width:94%!important;max-width:94%!important;margin-top:6vh!important}.el-dialog__body{padding:14px 14px 6px!important}.el-drawer{width:92%!important}.el-message-box{width:90%!important;max-width:90%!important}.page-title{font-size:17px!important}.page-sub{font-size:12px!important}.el-table,.el-form-item__label{font-size:12px}.shell .main{padding:12px!important}.shell .aside{width:176px!important}}@media (max-width: 768px){.stats{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.stat{padding:10px 12px 9px!important}.stat .ic{width:26px;height:26px;border-radius:8px;font-size:13px;margin-bottom:5px}.stat .val{font-size:18px}.stat .lbl{font-size:11px}.stat .hint{display:none}.cols{grid-template-columns:1fr!important}.hero{padding:14px 16px!important}.hero-hi{font-size:17px!important}.hero-sub{font-size:12px!important;margin-top:4px!important}.shell .main .el-card__body{padding:12px!important}.shell .main .el-row{flex-wrap:wrap;row-gap:10px}.shell .main .el-col{flex:0 0 50%!important;max-width:50%!important}.shell .main .hd,.shell .main .bar,.shell .main .boards,.shell .main .chips,.shell .main .dhead,.shell .main .proj__head,.shell .main .proj__t{flex-wrap:wrap;row-gap:8px}.shell .main .ord-bar,.shell .main .fin-bar,.shell .main .pf-bar,.shell .main .toolbar{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.shell .main .ord-bar>*,.shell .main .fin-bar>*,.shell .main .pf-bar>*,.shell .main .toolbar>*{flex:none}.shell .main .el-input,.shell .main .el-select,.shell .main .el-date-editor{max-width:100%}.shell .main .el-pagination{justify-content:center}.shell .main .detail .grid{grid-template-columns:repeat(3,1fr)!important}.shell .main .statrow{grid-template-columns:repeat(2,1fr)!important}}.shell .main .page-title,.shell .main .page-sub{display:none!important}.plan .row,.proj,.litem,.tr-item,.dr__row,.det-row,.det-file,.frow,.fhead,.oc-top,.oc-bot,.card__top,.sum__card,.od__r,.pv-row,.mlist__row,.ad-stat__row,.seq__row,.vrow,.logrow,.m-list-item,.id-item,.sv__row,.agg-head,.node__top,.hm__top,.sp__top,.card-h,.proj__head,.dhead,.hd,.bar,.toolbar,.sum-bar,.tr-hd,.boards,.chips,.tr-dir,.dr__sum-row,.ad__h,.tb__ops,.cfg-row,.node__brs,.od__pick,.od__addrow,.sum-bar__ops,.det-ops,.pcard__name,.hm__cap,.wd,.legend,.lg,.cal-head{flex-wrap:wrap!important}.plan .row .title,.proj .nm,.tr-item .mid,.card__top .nm,.proj__t .pname,.frow .fn,.dr__sub,.mlist__name,.m-list-item .txt,.det-row .det-v,.od__v,.pcard__name{flex:1 1 auto!important;min-width:0}.plan .row .tag,.plan .due,.proj .st,.card__top .top-right,.top-right,.frow .dl,.frow .el-checkbox,.mlist__row .el-switch,.tr-item .ops,.tr-item .pctv{flex:none!important}
