html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.kh-wrap[data-v-16c46dd0]{margin-bottom:16px}.kh-hero[data-v-16c46dd0]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.kh-hero-card[data-v-16c46dd0]{padding:14px 16px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);cursor:pointer;transition:transform .1s,box-shadow .1s}.kh-hero-card[data-v-16c46dd0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.kh-val[data-v-16c46dd0]{font-size:28px;font-weight:700;line-height:1.1;color:var(--text, #1f2937)}.kh-label[data-v-16c46dd0]{font-size:13px;font-weight:600;color:var(--text-2, #6b7280);margin-top:2px}.kh-pct[data-v-16c46dd0]{font-weight:400;font-size:12px}.kh-sub[data-v-16c46dd0]{font-size:11px;color:var(--text-3, #9ca3af);margin-top:6px}.kh-sep[data-v-16c46dd0]{margin:0 4px;color:var(--border, #d1d5db)}.kh-hero-green[data-v-16c46dd0]{border-left:4px solid var(--green, #10b981)}.kh-hero-green .kh-val[data-v-16c46dd0]{color:var(--green, #059669)}.kh-hero-red[data-v-16c46dd0]{border-left:4px solid var(--red, #ef4444)}.kh-hero-red .kh-val[data-v-16c46dd0]{color:var(--red, #dc2626)}.kh-hero-ok[data-v-16c46dd0]{border-left:4px solid var(--green, #10b981)}.kh-hero-ok .kh-val[data-v-16c46dd0]{color:var(--green, #059669)}.kh-link[data-v-16c46dd0]{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.kh-link[data-v-16c46dd0]:hover{color:var(--accent, #2563eb)}.kh-details[data-v-16c46dd0]{display:flex;align-items:center;gap:16px;padding:8px 16px;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.kh-detail[data-v-16c46dd0]{display:flex;align-items:baseline;gap:5px;white-space:nowrap;cursor:pointer;transition:opacity .15s}.kh-detail[data-v-16c46dd0]:hover{opacity:.7}.kh-detail-val[data-v-16c46dd0]{font-size:14px;font-weight:700;color:var(--text, #1f2937)}.kh-detail-label[data-v-16c46dd0]{font-size:11px;color:var(--text-2, #6b7280)}.kh-divider[data-v-16c46dd0]{width:1px;height:20px;background:var(--border, #e5e7eb);flex-shrink:0}.ba-wrap[data-v-7bbf5327]{margin-bottom:16px}.ba-section-label[data-v-7bbf5327]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3, #9ca3af);margin-bottom:6px}.ba-hero[data-v-7bbf5327]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.ba-hero-card[data-v-7bbf5327]{padding:14px 16px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);cursor:pointer;transition:transform .1s,box-shadow .1s}.ba-hero-card[data-v-7bbf5327]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.ba-val[data-v-7bbf5327]{font-size:28px;font-weight:700;line-height:1.1;color:var(--text, #1f2937)}.ba-label[data-v-7bbf5327]{font-size:13px;font-weight:600;color:var(--text-2, #6b7280);margin-top:2px}.ba-pct[data-v-7bbf5327]{font-weight:400;font-size:12px}.ba-sub[data-v-7bbf5327]{font-size:11px;color:var(--text-3, #9ca3af);margin-top:6px}.ba-sep[data-v-7bbf5327]{margin:0 4px;color:var(--border, #d1d5db)}.ba-hero-green[data-v-7bbf5327]{border-left:4px solid var(--green, #10b981)}.ba-hero-green .ba-val[data-v-7bbf5327]{color:var(--green, #059669)}.ba-hero-amber[data-v-7bbf5327]{border-left:4px solid var(--amber, #f59e0b)}.ba-hero-amber .ba-val[data-v-7bbf5327]{color:var(--amber, #d97706)}.ba-hero-red[data-v-7bbf5327]{border-left:4px solid var(--red, #ef4444)}.ba-hero-red .ba-val[data-v-7bbf5327]{color:var(--red, #dc2626)}.ba-link[data-v-7bbf5327]{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.ba-link[data-v-7bbf5327]:hover{color:var(--accent, #2563eb)}.ba-details[data-v-7bbf5327]{display:flex;align-items:center;gap:16px;padding:8px 16px;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.ba-detail[data-v-7bbf5327]{display:flex;align-items:baseline;gap:5px;white-space:nowrap;cursor:pointer;transition:opacity .15s}.ba-detail[data-v-7bbf5327]:hover{opacity:.7}.ba-detail-val[data-v-7bbf5327]{font-size:14px;font-weight:700;color:var(--text, #1f2937)}.ba-detail-label[data-v-7bbf5327]{font-size:11px;color:var(--text-2, #6b7280)}.ba-divider[data-v-7bbf5327]{width:1px;height:20px;background:var(--border, #e5e7eb);flex-shrink:0}.modal-overlay[data-v-c87c67f3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-c87c67f3]{background:var(--bg-card, #fff);border-radius:10px;width:min(95vw,1100px);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000026}.modal-hdr[data-v-c87c67f3]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.modal-title[data-v-c87c67f3]{font-weight:600;font-size:15px}.modal-sub[data-v-c87c67f3]{font-size:12px;color:var(--text-2, #6b7280);margin-top:2px}.modal-close[data-v-c87c67f3]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-2, #6b7280);padding:0 4px;line-height:1}.modal-close[data-v-c87c67f3]:hover{color:var(--text-1, #111)}.modal-body[data-v-c87c67f3]{overflow-y:auto;padding:0 20px 16px;flex:1}.modal-pag[data-v-c87c67f3]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px;border-top:1px solid var(--border, #e5e7eb)}.sel[data-v-c87c67f3]{font-size:12px;padding:4px 8px;border-radius:4px;border:1px solid var(--border, #d1d5db);background:var(--bg-card, #fff)}.pag[data-v-032ce03c]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.ch-bar[data-v-dd5e952e]{display:flex;height:18px;border-radius:9px;overflow:hidden;background:#f3f4f6;gap:1px}.ch-seg[data-v-dd5e952e]{min-width:2px;transition:flex .3s}.ch-legend[data-v-dd5e952e]{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.ch-leg-item[data-v-dd5e952e]{display:flex;align-items:center;gap:4px;font-size:11px}.ch-dot[data-v-dd5e952e]{width:8px;height:8px;border-radius:50%}.ch-leg-l[data-v-dd5e952e]{color:var(--text-2)}.ch-leg-v[data-v-dd5e952e]{font-weight:600}.pag[data-v-dd5e952e]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.cov-sect[data-v-ee34b284]{font-size:11px;font-weight:600;color:var(--text-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.cov-chips[data-v-ee34b284]{display:flex;flex-wrap:wrap;gap:6px}.pag[data-v-ee34b284]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.filter-dd[data-v-e4ea28d4]{cursor:pointer}.dd-trigger[data-v-e4ea28d4]{display:flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--border, #e2e5ea);border-radius:var(--r-sm, 6px);background:var(--surface, #fff);font-size:11px;min-width:100px;max-width:160px;color:var(--text, #0f1419);font-family:var(--font)}.dd-label[data-v-e4ea28d4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.dd-count[data-v-e4ea28d4]{font-size:9.5px;color:var(--accent, #2563eb);white-space:nowrap;font-weight:600}.dd-arrow[data-v-e4ea28d4]{transition:transform .2s;font-size:12px}.dd-arrow.open[data-v-e4ea28d4]{transform:rotate(180deg)}.dd-panel[data-v-e4ea28d4]{width:300px;max-height:400px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column}.dd-search[data-v-e4ea28d4]{padding:10px 12px 6px}.dd-search input[data-v-e4ea28d4]{width:100%;padding:6px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;outline:none}.dd-search input[data-v-e4ea28d4]:focus{border-color:var(--accent, #2563eb)}.dd-divider[data-v-e4ea28d4]{height:1px;background:#f0f0f0}.dd-select-all[data-v-e4ea28d4]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px}.dd-select-all[data-v-e4ea28d4]:hover{background:#f5f5f5}.dd-selected-count[data-v-e4ea28d4]{color:var(--accent, #2563eb);font-size:12px}.dd-list[data-v-e4ea28d4]{flex:1;overflow-y:auto;max-height:250px;padding:4px 0}.dd-hint[data-v-e4ea28d4]{padding:4px 12px;font-size:11px;color:#999;font-style:italic}.dd-item[data-v-e4ea28d4]{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:13px;flex-wrap:wrap}.dd-item[data-v-e4ea28d4]:hover{background:#f5f5f5}.dd-item-selected[data-v-e4ea28d4]{color:var(--accent, #2563eb);font-weight:500}.dd-children[data-v-e4ea28d4]{width:100%;padding-left:20px}.dd-child-item[data-v-e4ea28d4]{font-size:12px}.dd-footer[data-v-e4ea28d4]{padding:8px 12px;border-top:1px solid #f0f0f0}.dd-apply-btn[data-v-e4ea28d4]{width:100%;padding:6px;background:var(--accent, #2563eb);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.dd-apply-btn[data-v-e4ea28d4]:hover{opacity:.9}.fb-spacer[data-v-a5a6d5d1]{margin-left:auto}.fb-month-btn[data-v-a5a6d5d1]{padding:5px 9px;font-size:11px;border:1px solid var(--border);border-radius:var(--r-sm, 6px);background:var(--surface, #fff);color:var(--text, #1f2937);cursor:pointer;display:flex;align-items:center;gap:6px;font-family:var(--font);min-width:130px;justify-content:space-between}.fb-month-btn[data-v-a5a6d5d1]:hover{background:var(--bg, #f4f6f9)}.fb-arrow[data-v-a5a6d5d1]{font-size:10px;color:var(--text-2)}.fb-file-count[data-v-a5a6d5d1]{font-size:10px;color:var(--accent, #2563eb);font-weight:500;white-space:nowrap}.month-year-picker[data-v-a5a6d5d1]{position:relative}.myp-dropdown[data-v-a5a6d5d1]{position:absolute;top:100%;left:0;z-index:100;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f;margin-top:4px}.myp-container[data-v-a5a6d5d1]{display:flex}.myp-years[data-v-a5a6d5d1]{min-width:100px;border-right:1px solid #f0f0f0}.myp-year[data-v-a5a6d5d1]{padding:10px 14px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;align-items:center}.myp-year[data-v-a5a6d5d1]:hover{background:#f5f5f5}.myp-active[data-v-a5a6d5d1]{background:var(--accent-lt, #eff6ff);color:var(--accent, #2563eb)}.myp-months[data-v-a5a6d5d1]{min-width:140px;max-height:300px;overflow-y:auto}.myp-month[data-v-a5a6d5d1]{padding:8px 14px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;align-items:center}.myp-month[data-v-a5a6d5d1]:hover{background:#f5f5f5}.myp-selected[data-v-a5a6d5d1]{background:var(--accent-lt, #eff6ff);color:var(--accent, #2563eb)}.myp-disabled[data-v-a5a6d5d1]{color:#d9d9d9;cursor:not-allowed}.btn-toggle-active[data-v-a5a6d5d1]{background:var(--accent, #2563eb)!important;color:#fff!important;border-color:var(--accent, #2563eb)!important}.sc-wrap[data-v-aaaf8abe]{margin-bottom:16px}.sc-hero[data-v-aaaf8abe]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}.sc-hero-card[data-v-aaaf8abe]{padding:14px 16px;border-radius:8px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.sc-hero-val[data-v-aaaf8abe]{font-size:28px;font-weight:700;line-height:1.1;color:var(--text, #1f2937)}.sc-hero-label[data-v-aaaf8abe]{font-size:13px;font-weight:600;color:var(--text-2, #6b7280);margin-top:2px}.sc-hero-pct[data-v-aaaf8abe]{font-weight:400;font-size:12px}.sc-hero-sub[data-v-aaaf8abe]{font-size:11px;color:var(--text-3, #9ca3af);margin-top:6px}.sc-sep[data-v-aaaf8abe]{margin:0 4px;color:var(--border, #d1d5db)}.sc-dot[data-v-aaaf8abe]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:2px;vertical-align:middle}.sc-dot-blue[data-v-aaaf8abe]{background:#3b82f6}.sc-dot-gray[data-v-aaaf8abe]{background:#9ca3af}.sc-hero-green[data-v-aaaf8abe]{border-left:4px solid #10b981}.sc-hero-green .sc-hero-val[data-v-aaaf8abe]{color:#059669}.sc-hero-red[data-v-aaaf8abe]{border-left:4px solid #ef4444}.sc-hero-red .sc-hero-val[data-v-aaaf8abe]{color:#dc2626}.sc-hero-ok[data-v-aaaf8abe]{border-left:4px solid #10b981}.sc-hero-ok .sc-hero-val[data-v-aaaf8abe]{color:#059669}.sc-details[data-v-aaaf8abe]{display:flex;align-items:center;gap:16px;padding:8px 16px;border-radius:6px;border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.sc-detail[data-v-aaaf8abe]{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.sc-detail-val[data-v-aaaf8abe]{font-size:14px;font-weight:700;color:var(--text, #1f2937)}.sc-detail-label[data-v-aaaf8abe]{font-size:11px;color:var(--text-2, #6b7280)}.sc-divider[data-v-aaaf8abe]{width:1px;height:20px;background:var(--border, #e5e7eb);flex-shrink:0}.sc-loading[data-v-aaaf8abe]{padding:16px;text-align:center;color:var(--text-2, #6b7280);font-size:12px}.cred-form[data-v-e75cd181]{display:flex;flex-direction:column;gap:16px}.cred-field[data-v-e75cd181]{display:flex;flex-direction:column;gap:4px}.cred-field label[data-v-e75cd181]{font-size:13px;font-weight:500;color:var(--text-1, #374151)}.cred-field input[data-v-e75cd181],.cred-field select[data-v-e75cd181]{padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none}.cred-field input[data-v-e75cd181]:focus,.cred-field select[data-v-e75cd181]:focus{border-color:#1890ff}.cred-radio[data-v-e75cd181]{display:flex;gap:16px}.cred-radio label[data-v-e75cd181]{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.steps-modal-card[data-v-0f761248]{max-width:680px;width:95vw}.steps-summary[data-v-0f761248]{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--surface-alt, #f8fafc)}.ss-item[data-v-0f761248]{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 12px;border-right:1px solid var(--border-lt, #eef0f3)}.ss-item[data-v-0f761248]:last-child{border-right:none}.ss-label[data-v-0f761248]{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3, #8899a6);margin-bottom:2px}.ss-value[data-v-0f761248]{font-size:15px;font-weight:700;color:var(--text, #0f1419)}.steps-body[data-v-0f761248]{max-height:60vh;overflow-y:auto;padding:16px 18px}.steps-empty[data-v-0f761248]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 0;color:var(--text-3, #8899a6);font-size:12px}.steps-error-state[data-v-0f761248]{color:var(--red, #dc2626)}.steps-error-detail[data-v-0f761248]{font-size:11px;font-family:var(--mono);color:var(--text-3);max-width:400px;text-align:center;word-break:break-word}.steps-spinner[data-v-0f761248]{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent, #2563eb);border-radius:50%;animation:spin-0f761248 .7s linear infinite}@keyframes spin-0f761248{to{transform:rotate(360deg)}}.phase-block[data-v-0f761248]{margin-bottom:20px}.phase-block[data-v-0f761248]:last-child{margin-bottom:0}.phase-header[data-v-0f761248]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--surface-alt, #f8fafc);border:1px solid var(--border-lt, #eef0f3);border-radius:var(--r-sm, 6px);margin-bottom:10px}.phase-title[data-v-0f761248]{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-2, #536471)}.phase-num[data-v-0f761248]{width:20px;height:20px;border-radius:50%;background:var(--accent, #2563eb);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phase-steps[data-v-0f761248]{padding-left:4px}.step-row[data-v-0f761248]{display:flex;gap:12px;padding:0}.step-row.step-failed .step-content[data-v-0f761248]{background:var(--red-bg, #fef2f2);border-color:var(--red-bd, #fecaca)}.step-timeline[data-v-0f761248]{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0;padding-top:10px}.step-dot[data-v-0f761248]{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:2px solid}.step-dot-green[data-v-0f761248]{background:var(--green-bg, #ecfdf5);border-color:var(--green, #059669)}.step-dot-red[data-v-0f761248]{background:var(--red-bg, #fef2f2);border-color:var(--red, #dc2626)}.step-dot-gray[data-v-0f761248]{background:#f3f4f6;border-color:var(--text-3, #9ca3af)}.step-line[data-v-0f761248]{width:2px;flex:1;background:var(--border, #e2e5ea);min-height:8px}.step-content[data-v-0f761248]{flex:1;padding:7px 10px;margin-bottom:4px;border:1px solid var(--border-lt, #eef0f3);border-radius:var(--r-sm, 6px);background:var(--surface, #fff);transition:border-color .15s}.step-content[data-v-0f761248]:hover{border-color:var(--border, #e2e5ea)}.step-main[data-v-0f761248]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.step-message[data-v-0f761248]{font-size:12px;color:var(--text, #0f1419);line-height:1.45;flex:1}.step-duration[data-v-0f761248]{font-size:10px;color:var(--text-3);white-space:nowrap;flex-shrink:0;padding:1px 6px;background:var(--surface-alt, #f8fafc);border-radius:4px;border:1px solid var(--border-lt, #eef0f3)}.step-error-msg[data-v-0f761248]{font-size:11px;color:var(--red, #dc2626);font-family:var(--mono);margin-top:4px;line-height:1.4;word-break:break-word}.step-meta[data-v-0f761248]{display:flex;gap:6px;margin-top:4px}.step-meta[data-v-0f761248]:empty{display:none}.step-type[data-v-0f761248],.step-ca[data-v-0f761248]{font-size:9.5px;font-family:var(--mono);color:var(--text-3, #8899a6);padding:1px 5px;background:var(--surface-alt, #f8fafc);border-radius:3px}.steps-modal-footer[data-v-0f761248]{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;background:var(--surface-alt, #f8fafc);border-radius:0 0 var(--r, 8px) var(--r, 8px)}.bst-tab[data-v-4d435c24]{padding:0}.ak-card[data-v-f003889f]{padding:16px;border-radius:8px;border:1px solid var(--border, #e5e7eb);border-left-width:4px;background:var(--surface, #fff);cursor:pointer;transition:transform .1s,box-shadow .1s;display:flex;flex-direction:column;gap:4px}.ak-card[data-v-f003889f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.ak-header[data-v-f003889f]{display:flex;align-items:center;gap:6px}.ak-icon[data-v-f003889f]{font-size:16px}.ak-title[data-v-f003889f]{font-size:12px;font-weight:600;color:var(--text-2, #6b7280);text-transform:uppercase;letter-spacing:.3px}.ak-val[data-v-f003889f]{font-size:32px;font-weight:700;line-height:1.1}.ak-sub[data-v-f003889f]{font-size:11px;color:var(--text-3, #9ca3af)}.ak-action[data-v-f003889f]{margin-top:8px;font-size:12px;font-weight:600;color:var(--accent, #2563eb);cursor:pointer}.ak-action[data-v-f003889f]:hover{text-decoration:underline}.modal-overlay[data-v-f3a34bc4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-f3a34bc4]{background:var(--bg-card, #fff);border-radius:10px;width:700px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.modal-hdr[data-v-f3a34bc4]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.modal-hdr h3[data-v-f3a34bc4]{font-size:14px;font-weight:600;margin:0}.modal-x[data-v-f3a34bc4]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-2);line-height:1}.modal-body[data-v-f3a34bc4]{padding:16px 20px;overflow-y:auto}.pag[data-v-f3a34bc4]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.modal-overlay[data-v-96ef3ad8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-96ef3ad8]{background:var(--bg-card, #fff);border-radius:10px;width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.modal-hdr[data-v-96ef3ad8]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.modal-hdr h3[data-v-96ef3ad8]{font-size:14px;font-weight:600;margin:0}.modal-x[data-v-96ef3ad8]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-2);line-height:1}.modal-body[data-v-96ef3ad8]{padding:16px 20px;overflow-y:auto}.pag[data-v-96ef3ad8]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.modal-overlay[data-v-f9881661]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-f9881661]{background:var(--bg-card, #fff);border-radius:10px;width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.modal-hdr[data-v-f9881661]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.modal-hdr h3[data-v-f9881661]{font-size:14px;font-weight:600;margin:0}.modal-x[data-v-f9881661]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-2);line-height:1}.modal-body[data-v-f9881661]{padding:16px 20px;overflow-y:auto}.pag[data-v-f9881661]{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px}.ar-grid[data-v-140a4a44]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ar-chips[data-v-140a4a44]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tl-link[data-v-2a38a953]{color:var(--blue, #2563eb);text-decoration:underline;cursor:pointer;font-size:10px}.tl-link[data-v-2a38a953]:hover{opacity:.8}.pd-date-row[data-v-8829727e]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pd-date-label[data-v-8829727e]{font-size:12px;font-weight:600;color:var(--text-2, #6b7280)}.pd-date-input[data-v-8829727e]{font-size:12px;padding:4px 8px}.pd-date-display[data-v-8829727e]{font-size:12px;color:var(--text-3, #9ca3af)}.sel[data-v-b886afb7]{font-size:12px;padding:4px 8px;border-radius:4px;border:1px solid var(--border, #d1d5db);background:var(--bg-card, #fff)}[data-v-f9b9be1c] .ant-table-row{cursor:pointer}.kpi-row[data-v-09821752]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.clickable[data-v-09821752]{cursor:pointer;transition:box-shadow .15s,transform .15s}.clickable[data-v-09821752]:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.sites-top-grid[data-v-4ce8a03d]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}@media (max-width: 768px){.sites-top-grid[data-v-4ce8a03d]{grid-template-columns:1fr}}.upload-z[data-v-4ce8a03d]{border:2px dashed var(--border);border-radius:var(--r);padding:28px;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface-alt)}.upload-z[data-v-4ce8a03d]:hover{border-color:var(--accent);background:var(--accent-lt)}.upload-z.disabled[data-v-4ce8a03d]{opacity:.5;cursor:not-allowed}.upload-z.disabled[data-v-4ce8a03d]:hover{border-color:var(--border);background:var(--surface-alt)}.upload-z .uz-icon[data-v-4ce8a03d]{font-size:28px;color:var(--accent);margin-bottom:6px}.upload-z .uz-text[data-v-4ce8a03d]{font-size:12px;font-weight:600}.upload-z .uz-sub[data-v-4ce8a03d]{font-size:10.5px;color:var(--text-2);margin-top:3px}.bulk-upload[data-v-f9826a4e]{padding:16px 0}.bulk-title[data-v-f9826a4e]{font-size:14px;font-weight:600;margin-bottom:12px}.bulk-row[data-v-f9826a4e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bulk-hint[data-v-f9826a4e]{font-size:12px;color:#999;margin-top:8px}.sample-link[data-v-f9826a4e]{font-size:13px;color:#1890ff;text-decoration:none}.sample-link[data-v-f9826a4e]:hover{text-decoration:underline}.kpi-row[data-v-c0c548dd]{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}@media (max-width: 900px){.kpi-row[data-v-c0c548dd]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.kpi-row[data-v-c0c548dd]{grid-template-columns:repeat(2,1fr)}}.kpi-row[data-v-a145184d]{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}@media (max-width: 1200px){.kpi-row[data-v-a145184d]{grid-template-columns:repeat(3,1fr)}}.kpi-chips[data-v-a145184d]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kpi-chips .ant-tag[data-v-a145184d]{font-size:10px;line-height:16px;padding:0 4px}.filter-bar[data-v-a145184d]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.bulk-bar[data-v-a145184d]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:10px;background:var(--bg-2, #f6f8fa);border-radius:6px;font-size:13px}.login-page[data-v-ba3dda51]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5}.login-card[data-v-ba3dda51]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:40px;width:400px;text-align:center}.login-logo[data-v-ba3dda51]{margin-bottom:8px}.logo-icon[data-v-ba3dda51]{width:56px;height:56px;background:#1677ff;color:#fff;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;margin-bottom:16px}.login-logo h1[data-v-ba3dda51]{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.login-subtitle[data-v-ba3dda51]{margin:4px 0 0;color:#8c8c8c;font-size:14px}.login-divider[data-v-ba3dda51]{height:1px;background:#f0f0f0;margin:24px 0}.login-body[data-v-ba3dda51]{display:flex;flex-direction:column;align-items:center;gap:16px}.login-hint[data-v-ba3dda51]{margin:0;color:#595959;font-size:14px}.google-btn-container[data-v-ba3dda51]{min-height:44px;display:flex;justify-content:center}.login-loading[data-v-ba3dda51]{color:#1677ff;font-size:13px}.login-error[data-v-ba3dda51]{color:#ff4d4f;font-size:13px;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px;padding:8px 16px;width:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f6f9;--surface:#fff;--surface-alt:#f8fafc;--border:#e2e5ea;--border-lt:#eef0f3;--text:#0f1419;--text-2:#536471;--text-3:#8899a6;--accent:#2563eb;--accent-lt:#eff6ff;--accent-dk:#1d4ed8;--green:#059669;--green-bg:#ecfdf5;--green-bd:#a7f3d0;--red:#dc2626;--red-bg:#fef2f2;--red-bd:#fecaca;--amber:#d97706;--amber-bg:#fffbeb;--amber-bd:#fde68a;--blue:#2563eb;--blue-bg:#eff6ff;--blue-bd:#bfdbfe;--purple:#7c3aed;--purple-bg:#f5f3ff;--purple-bd:#ddd6fe;--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-hover:rgba(255,255,255,.06);--hdr-h:50px;--sb-w:220px;--r:8px;--r-sm:6px;--sh:0 1px 3px rgba(0,0,0,.08);--sh-lg:0 4px 12px rgba(0,0,0,.1);--font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif;--mono:"SF Mono","Fira Code",monospace}html{font-size:13.5px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;overflow:hidden;height:100vh}.sb{position:fixed;left:0;top:0;bottom:0;width:var(--sb-w);background:var(--sidebar-bg);z-index:100;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sb::-webkit-scrollbar{width:3px}.sb::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.sb-logo{padding:13px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.sb-logo .ico{width:30px;height:30px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;flex-shrink:0}.sb-logo .sb-title{color:#f1f5f9;font-weight:600;font-size:13.5px;letter-spacing:-.2px}.sb-logo .v{font-size:8.5px;background:#3b82f640;color:#93bbfc;padding:1px 5px;border-radius:3px;margin-left:auto;font-weight:500;white-space:nowrap}.sb-sec{padding:16px 14px 4px;font-size:8.5px;text-transform:uppercase;letter-spacing:1.2px;color:#94a3b880;font-weight:700}.sb-nav{list-style:none;padding:2px 8px}.sb-nav li{margin-bottom:1px}.sb-nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;color:var(--sidebar-text);text-decoration:none;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;transition:all .15s;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sb-nav a:hover{background:var(--sidebar-hover);color:#cbd5e1}.sb-nav a.act{background:#2563eb33;color:#e2e8f0}.sb-nav a .ic{width:15px;height:15px;opacity:.55;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sb-nav a.act .ic{opacity:1}.sb-nav a .badge-n{margin-left:auto;font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:8px;background:#f9731633;color:#fdba74;min-width:18px;text-align:center}.sb-foot{margin-top:auto;padding:10px 12px;border-top:1px solid rgba(255,255,255,.06)}.sb-foot .u{display:flex;align-items:center;gap:9px;padding:6px 8px}.sb-foot .av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0}.sb-foot .un{color:#e2e8f0;font-size:11.5px;font-weight:500}.sb-foot .ur{color:var(--sidebar-text);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.logout-btn{width:100%;margin-top:6px;padding:5px 8px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);background:transparent;color:var(--sidebar-text);font-size:10.5px;cursor:pointer;transition:all .15s;font-family:var(--font)}.logout-btn:hover{background:#ffffff14;color:#e2e8f0}.hdr{position:fixed;top:0;left:var(--sb-w);right:0;height:var(--hdr-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:90;display:flex;align-items:center;padding:0 20px;gap:12px}.hdr .bc{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2)}.hdr .bc b{color:var(--text);font-weight:600}.hdr .bc .sep{color:var(--text-3)}.h-search{margin-left:auto;position:relative}.h-search input{width:220px;padding:6px 10px 6px 28px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:11.5px;background:var(--bg);color:var(--text);transition:all .15s;font-family:var(--font)}.h-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-lt);width:280px}.h-search .si{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:12px;pointer-events:none}.h-acts{display:flex;align-items:center;gap:4px}.hbtn{width:32px;height:32px;border:none;background:none;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:all .15s;font-size:14px;font-family:var(--font)}.hbtn:hover{background:var(--bg);color:var(--text)}.main{position:fixed;top:var(--hdr-h);left:var(--sb-w);right:0;bottom:0;overflow-y:auto;padding:20px;background:var(--bg)}.pg-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.pg-sub{font-size:12px;color:var(--text-2);margin-top:1px}.pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.pg-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s;font-family:var(--font);white-space:nowrap;line-height:1}.btn:hover{background:var(--bg)}.btn-p{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-p:hover{background:var(--accent-dk)}.btn-sm{padding:4px 10px;font-size:11px}.btn-ghost{background:none;border-color:transparent}.btn-ghost:hover{background:var(--bg)}.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-green:hover{filter:brightness(1.08)}.btn-red{background:var(--red);color:#fff;border-color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.mod-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border)}.mod-tab{padding:8px 16px;font-size:12px;font-weight:600;color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mod-tab:hover{color:var(--text-2)}.mod-tab.act{color:var(--accent);border-bottom-color:var(--accent)}.ad-hero{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;transition:box-shadow .15s;position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--sh)}.kpi-l{font-size:10px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.kpi-v{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.1}.kpi-s{font-size:10.5px;color:var(--text-2);margin-top:3px}.kpi-top{border-top:3px solid var(--accent)}.kpi-top.green{border-top-color:var(--green)}.kpi-top.red{border-top-color:var(--red)}.kpi-top.amber{border-top-color:var(--amber)}.kpi-top.purple{border-top-color:var(--purple)}.kpi-top.blue{border-top-color:var(--blue)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:14px;overflow:hidden}.card-h{padding:12px 16px;border-bottom:1px solid var(--border-lt);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.card-h h3{font-size:13px;font-weight:600}.card-b{padding:14px 16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tbl{width:100%;border-collapse:collapse}.tbl thead th{text-align:left;padding:8px 14px;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);background:var(--surface-alt);border-bottom:1px solid var(--border);white-space:nowrap}.tbl tbody tr{border-bottom:1px solid var(--border-lt);transition:background .1s}.tbl tbody tr:hover{background:var(--surface-alt)}.tbl tbody tr:last-child{border-bottom:none}.tbl td{padding:8px 14px;font-size:12px;vertical-align:middle}.tbl-overflow{overflow-x:auto}.tm{font-family:var(--mono);font-size:11px;color:var(--text-2)}.ant-table{font-size:12px}.ant-table-thead>tr>th{text-align:left!important;padding:8px 14px!important;font-size:9.5px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3)!important;background:var(--surface-alt)!important;border-bottom:1px solid var(--border)!important;white-space:nowrap}.ant-table-tbody>tr>td{padding:8px 14px!important;font-size:12px!important;vertical-align:middle}.ant-table-tbody>tr{transition:background .1s}.ant-table-tbody>tr:hover>td{background:var(--surface-alt)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-lt)!important}.ant-table-cell-fix-right,.ant-table-cell-fix-left{background:var(--surface)!important}.ant-table-tbody>tr:hover .ant-table-cell-fix-right,.ant-table-tbody>tr:hover .ant-table-cell-fix-left{background:var(--surface-alt)!important}.ant-pagination{font-size:12px!important}.ant-pagination .ant-pagination-item{border-color:var(--border);border-radius:var(--r-sm)}.ant-pagination .ant-pagination-item-active{background:var(--accent);border-color:var(--accent)}.ant-pagination .ant-pagination-item-active a{color:#fff}.ant-table-column-sorter,.ant-table-filter-trigger{color:var(--text-3)}.ant-table-selection-column{padding:8px 10px!important}.b{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;letter-spacing:.2px;white-space:nowrap}.b-g{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bd)}.b-r{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bd)}.b-a{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd)}.b-b{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bd)}.b-p{background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple-bd)}.b-gray{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.pbar{width:80px;height:5px;background:#e5e7eb;border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:4px}.pfill{height:100%;border-radius:3px}.ad-timeline{display:flex;gap:0;margin-bottom:4px;position:relative}.ad-timeline:before{content:"";position:absolute;top:22px;left:0;right:0;height:3px;background:var(--border);z-index:0}.tl-step{flex:1;text-align:center;position:relative;z-index:1}.tl-dot{width:44px;height:44px;border-radius:50%;background:var(--surface);border:3px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:6px;transition:all .3s}.tl-step.done .tl-dot{background:var(--green);border-color:var(--green);color:#fff}.tl-step.active .tl-dot{background:var(--accent);border-color:var(--accent);color:#fff;animation:tl-pulse 2s infinite}.tl-step.failed .tl-dot{background:var(--red);border-color:var(--red);color:#fff}.tl-step.pending .tl-dot{background:var(--surface);border-color:var(--border);color:var(--text-3)}.tl-label{font-size:10px;font-weight:600;color:var(--text-2)}.tl-time{font-size:9px;color:var(--text-3);margin-top:1px}@keyframes tl-pulse{0%,to{box-shadow:0 0 0 4px var(--accent-lt)}50%{box-shadow:0 0 0 8px #2563eb14}}.discom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.discom-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;transition:all .2s;border-left:3px solid var(--border)}.discom-card:hover{box-shadow:var(--sh-lg);transform:translateY(-1px)}.discom-card.dc-good{border-left-color:var(--green)}.discom-card.dc-warn{border-left-color:var(--amber)}.discom-card.dc-bad{border-left-color:var(--red)}.discom-card .dc-name{font-size:13px;font-weight:700;margin-bottom:2px;display:flex;justify-content:space-between;align-items:center}.discom-card .dc-state{font-size:10px;color:var(--text-3);margin-bottom:8px}.discom-card .dc-rate{font-size:24px;font-weight:800;margin-bottom:4px}.discom-card .dc-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:6px}.discom-card .dc-fill{height:100%;border-radius:3px;transition:width .5s ease}.discom-card .dc-stats{display:flex;justify-content:space-between;font-size:10px;color:var(--text-2)}.error-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.ec-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px;text-align:center}.ec-card .ec-icon{font-size:22px;margin-bottom:4px}.ec-card .ec-name{font-size:11px;font-weight:700;margin-bottom:2px;font-family:var(--mono)}.ec-card .ec-cat{font-size:9px;color:var(--text-3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.ec-card .ec-count{font-size:22px;font-weight:800}.ec-card .ec-pct{font-size:10px;color:var(--text-3);margin-top:2px}.morning-checklist{list-style:none;padding:0}.morning-checklist li{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-lt);font-size:12px}.morning-checklist li:last-child{border-bottom:none}.mc-step{width:26px;height:26px;border-radius:50%;background:var(--accent-lt);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}.mc-done{background:var(--green-bg)!important;color:var(--green)!important}.mc-body{flex:1}.mc-title{font-weight:600;margin-bottom:1px}.mc-desc{font-size:10.5px;color:var(--text-2)}.queue-filter{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.queue-filter select,.queue-filter input{padding:5px 9px;font-size:11px;border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font);background:var(--surface);color:var(--text)}.queue-filter select:focus,.queue-filter input:focus{outline:none;border-color:var(--accent)}.queue-filter input[type=text]{width:180px}.report-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:14px}.rs-item{background:var(--surface-alt);border:1px solid var(--border-lt);border-radius:var(--r-sm);padding:10px 12px;text-align:center}.rs-item .rs-l{font-size:9px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.rs-item .rs-v{font-size:18px;font-weight:700}.hbar-row{margin-bottom:8px}.hbar-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px;color:var(--text-2)}.hbar-label span:first-child{font-weight:500}.hbar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.hbar-fill{height:100%;border-radius:3px;transition:width .4s ease}.toast-wrap{position:fixed;top:60px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:12px 18px;border-radius:var(--r);font-size:12px;font-weight:600;color:#fff;box-shadow:var(--sh-lg);animation:toast-in .3s ease;pointer-events:auto}@keyframes toast-in{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}.toast-ok{background:var(--green)}.toast-err{background:var(--red)}.toast-warn{background:var(--amber)}.empty-state{text-align:center;padding:28px 16px;color:var(--text-3)}.empty-state .es-icon{font-size:28px;margin-bottom:8px;opacity:.5}.empty-state .es-msg{font-size:12px}.pagination{display:flex;align-items:center;gap:6px;justify-content:flex-end;margin-top:12px;font-size:12px;color:var(--text-2)}.page-btn{padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font-size:11px;font-family:var(--font);color:var(--text)}.page-btn:hover{background:var(--bg)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn.act{background:var(--accent);color:#fff;border-color:var(--accent)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--surface);border-radius:var(--r);width:720px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--sh-lg)}.modal-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:14px;font-weight:600}.modal-body{padding:16px 18px;overflow-y:auto;flex:1}.modal-pre{font-family:var(--mono);font-size:11px;white-space:pre-wrap;word-break:break-all;color:var(--red);line-height:1.6;margin:0}
