@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";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)}@-ms-viewport{width:device-width}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}:root{--brand-accent: #c3e00a;--sidebar-bg: #101d3b;--status-red: #ef4444;--status-amber: #f59e0b;--status-green: #16a34a;--status-blue: #2563eb;--tint-red: #fff1f0;--tint-amber: #fffbe6;--tint-green: #f0fdf4;--tint-blue: #eff6ff;--page-bg: #f4f5f7;--card-radius: 12px;--card-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--card-shadow-hover: 0 6px 20px rgba(16, 24, 40, .12);--hairline: #eef0f3}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{background:var(--page-bg)}#app{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1f2430}.login-wrapper[data-v-0d240109]{min-height:100vh;display:flex;flex-direction:row}.login-left[data-v-0d240109]{flex:1;background:#101d3b;padding:60px 80px;display:flex;flex-direction:column;justify-content:center;color:#fff}.left-content[data-v-0d240109]{max-width:600px}.logo-section[data-v-0d240109]{margin-bottom:60px}.ubudu-logo[data-v-0d240109]{height:50px;width:auto}.main-headline[data-v-0d240109]{font-size:48px;font-weight:700;color:#fff;margin-bottom:24px;line-height:1.2}.sub-headline[data-v-0d240109]{font-size:18px;color:#ffffffe6;line-height:1.6;margin-bottom:48px}.features-list[data-v-0d240109]{margin-bottom:60px}.feature-item[data-v-0d240109]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.feature-icon[data-v-0d240109]{color:#c3e00a;font-size:24px;flex-shrink:0}.feature-item span[data-v-0d240109]{font-size:16px;color:#fffffff2}.login-right[data-v-0d240109]{flex:1;background:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:40px}.login-form-container[data-v-0d240109]{width:100%;max-width:480px;background:#fff;padding:48px;border-radius:12px;box-shadow:0 4px 24px #00000014}.login-header[data-v-0d240109]{margin-bottom:32px}.login-header h2[data-v-0d240109]{font-size:32px;font-weight:700;color:#101d3b;margin-bottom:8px}.login-header p[data-v-0d240109]{color:#666;font-size:16px}[data-v-0d240109] .ant-form-item-label>label{color:#101d3b;font-weight:600;font-size:14px}[data-v-0d240109] .ant-input,[data-v-0d240109] .ant-input-password{height:48px;border-radius:8px;border:1px solid #d9d9d9;font-size:16px}[data-v-0d240109] .ant-input-password .ant-input{height:auto;font-size:16px;padding-right:40px;line-height:1.5}[data-v-0d240109] .ant-input-affix-wrapper{padding-right:11px}[data-v-0d240109] .ant-input:-webkit-autofill,[data-v-0d240109] .ant-input:-webkit-autofill:hover,[data-v-0d240109] .ant-input:-webkit-autofill:focus,[data-v-0d240109] .ant-input-password input:-webkit-autofill,[data-v-0d240109] .ant-input-password input:-webkit-autofill:hover,[data-v-0d240109] .ant-input-password input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#101d3b!important;transition:background-color 5000s ease-in-out 0s}[data-v-0d240109] .ant-input:focus,[data-v-0d240109] .ant-input-password:focus,[data-v-0d240109] .ant-input-focused,[data-v-0d240109] .ant-input-password-focused{border-color:#101d3b;box-shadow:0 0 0 2px #101d3b1a}[data-v-0d240109] .ant-btn-primary{height:48px;background-color:#c3e00a;border-color:#c3e00a;color:#101d3b;font-weight:600;font-size:16px;border-radius:8px}[data-v-0d240109] .ant-btn-primary:hover,[data-v-0d240109] .ant-btn-primary:focus{background-color:#b0cc09;border-color:#b0cc09;color:#101d3b}a[data-v-0d240109]{color:#c3e00a!important;text-decoration:none!important;font-weight:500}a[data-v-0d240109]:hover{opacity:.8}.social-divider[data-v-0d240109]{display:flex;align-items:center;margin:24px 0}.social-divider[data-v-0d240109]:before,.social-divider[data-v-0d240109]:after{content:"";flex:1;border-bottom:1px solid #e8e8e8}.social-divider span[data-v-0d240109]{padding:0 16px;color:#8c8c8c;font-size:14px}.google-btn-wrapper[data-v-0d240109]{display:flex;justify-content:center}.demo-credentials[data-v-0d240109]{margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8;text-align:center}.demo-credentials p[data-v-0d240109]{font-size:12px;color:#8c8c8c;margin:4px 0}.demo-credentials strong[data-v-0d240109]{color:#595959}@media (max-width: 1024px){.login-wrapper[data-v-0d240109]{flex-direction:column}.login-left[data-v-0d240109]{padding:40px}.main-headline[data-v-0d240109]{font-size:36px}.login-right[data-v-0d240109]{min-height:100vh}}@media (max-width: 768px){.login-left[data-v-0d240109]{padding:32px 24px}.main-headline[data-v-0d240109]{font-size:28px}.sub-headline[data-v-0d240109]{font-size:16px}.login-form-container[data-v-0d240109]{padding:32px 24px}}.reset-password-container[data-v-be734697]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#101d3b,#1a2f5a);padding:20px}.reset-password-card[data-v-be734697]{width:100%;max-width:420px;box-shadow:0 10px 40px #0000004d;border-radius:8px}.reset-password-header[data-v-be734697]{text-align:center;margin-bottom:32px}.reset-password-header h1[data-v-be734697]{font-size:28px;font-weight:600;color:#101d3b;margin-bottom:8px}.reset-password-header p[data-v-be734697]{color:#8c8c8c;font-size:14px}[data-v-be734697] .ant-btn-primary{background-color:#c3e00a;border-color:#c3e00a;color:#fff}[data-v-be734697] .ant-btn-primary:hover{background-color:#d4f01b;border-color:#d4f01b}[data-v-be734697] .ant-btn-primary:focus{background-color:#d4f01b;border-color:#d4f01b}.alert-banner[data-v-fb09c0b8]{margin-bottom:20px;background:#fff;border:1px solid var(--hairline, #eef0f3);border-radius:var(--card-radius, 12px);box-shadow:var(--card-shadow, 0 1px 3px rgba(16, 24, 40, .08));overflow:hidden}.ab-header[data-v-fb09c0b8]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer}.ab-header-left[data-v-fb09c0b8]{display:flex;align-items:center;gap:12px}.ab-icon[data-v-fb09c0b8]{width:36px;height:36px;border-radius:9px;background:#fef2f2;color:#ef4444;display:flex;align-items:center;justify-content:center;font-size:17px}.ab-title[data-v-fb09c0b8]{font-weight:700;font-size:15px;color:#111726}.ab-subtitle[data-v-fb09c0b8]{font-size:12.5px;color:#8a93a8;margin-top:1px}.ab-header-right[data-v-fb09c0b8]{display:flex;align-items:center;gap:12px}.ab-active[data-v-fb09c0b8]{font-size:12px;font-weight:600;color:#ef4444;background:#fef2f2;border-radius:20px;padding:3px 12px}.ab-chevron[data-v-fb09c0b8]{color:#9aa1ad;font-size:12px}.ab-body[data-v-fb09c0b8]{border-top:1px solid var(--hairline, #eef0f3)}.ab-row[data-v-fb09c0b8]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px 13px 16px;border-left:3px solid transparent;border-bottom:1px solid #f5f6f8}.ab-row[data-v-fb09c0b8]:last-of-type{border-bottom:none}.ab-row.sev-critical[data-v-fb09c0b8]{border-left-color:#ef4444}.ab-row.sev-warning[data-v-fb09c0b8]{border-left-color:#f59e0b}.ab-row.sev-info[data-v-fb09c0b8]{border-left-color:#2563eb}.ab-row-main[data-v-fb09c0b8]{min-width:0}.ab-row-title[data-v-fb09c0b8]{font-weight:600;font-size:14px;color:#1f2430}.ab-row-sub[data-v-fb09c0b8]{font-size:12.5px;color:#6b7280;margin-top:2px}.ab-row-side[data-v-fb09c0b8]{display:flex;align-items:center;gap:14px;flex-shrink:0}.ab-pill[data-v-fb09c0b8]{font-size:12px;font-weight:600;border-radius:16px;padding:3px 10px;white-space:nowrap}.ab-pill.sev-critical[data-v-fb09c0b8]{background:#fef2f2;color:#ef4444}.ab-pill.sev-warning[data-v-fb09c0b8]{background:#fffbeb;color:#d97706}.ab-pill.sev-info[data-v-fb09c0b8]{background:#eff6ff;color:#2563eb}.ab-view[data-v-fb09c0b8]{font-size:13px;font-weight:600;color:#16a34a;white-space:nowrap}.ab-view[data-v-fb09c0b8]:hover{text-decoration:underline}.ab-dismiss[data-v-fb09c0b8]{color:#c2c9d6;font-size:13px;cursor:pointer}.ab-dismiss[data-v-fb09c0b8]:hover{color:#6b7280}.ab-footer[data-v-fb09c0b8]{text-align:center;padding:12px;font-size:13px;font-weight:600;color:#4b5563;cursor:pointer;border-top:1px solid var(--hairline, #eef0f3)}.ab-footer[data-v-fb09c0b8]:hover{background:#fafbfc;color:#16a34a}.notification-bell[data-v-e5cd5a92]{margin-right:24px;cursor:pointer}.bell-icon[data-v-e5cd5a92]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#000000a6;transition:color .2s,background .2s}.bell-icon[data-v-e5cd5a92]:hover{color:#1890ff;background:#0000000a}.notification-dropdown[data-v-e5cd5a92]{width:380px;max-height:500px;background:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026}.notification-header[data-v-e5cd5a92]{padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.notification-header .title[data-v-e5cd5a92]{font-weight:600;font-size:16px}.mark-all-read[data-v-e5cd5a92]{font-size:14px;color:#1890ff}.notification-list[data-v-e5cd5a92]{max-height:400px;overflow-y:auto}.notification-list[data-v-e5cd5a92]::-webkit-scrollbar{width:6px}.notification-list[data-v-e5cd5a92]::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.empty-state[data-v-e5cd5a92]{padding:40px 16px;text-align:center;color:#999}.notification-item[data-v-e5cd5a92]{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f0f0f0;transition:background-color .3s}.notification-item[data-v-e5cd5a92]:hover{background-color:#f5f5f5}.notification-item.unread[data-v-e5cd5a92]{background-color:#e6f7ff}.notification-item.unread[data-v-e5cd5a92]:hover{background-color:#d9f0ff}.notification-content[data-v-e5cd5a92]{flex:1}.notification-title[data-v-e5cd5a92]{font-weight:600;font-size:14px;margin-bottom:4px;color:#000000d9}.notification-message[data-v-e5cd5a92]{font-size:13px;color:#000000a6;margin-bottom:4px;line-height:1.5}.notification-time[data-v-e5cd5a92]{font-size:12px;color:#00000073}.notification-footer[data-v-e5cd5a92]{padding:8px 16px;text-align:center;border-top:1px solid #f0f0f0}.notification-footer a[data-v-e5cd5a92]{color:#1890ff;font-size:14px;cursor:pointer}.notification-footer .all-loaded[data-v-e5cd5a92]{color:#9aa1ad;font-size:13px}.driver-active .driver-overlay{pointer-events:none}.driver-active.driver-no-scroll{overflow:hidden}.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in var(--driver-animation-duration,.4s) ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in var(--driver-animation-duration,.4s)}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{zoom:1;margin:0;font:700 19px/1.5 sans-serif;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font:400 14px/1.5 sans-serif}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font:12px/1.3 sans-serif;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-active-element-parent-no-scroll{overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.dashboard-layout[data-v-aaef67cc]{min-height:100vh}.app-sider[data-v-aaef67cc]{background:var(--sidebar-bg)!important}.app-version[data-v-aaef67cc]{margin-top:auto;padding:12px 16px;color:#6b7689;font-size:11px;letter-spacing:.02em;border-top:1px solid rgba(255,255,255,.06);white-space:nowrap}.app-version.collapsed[data-v-aaef67cc]{text-align:center;padding:12px 4px}[data-v-aaef67cc] .ant-layout-sider-children{display:flex;flex-direction:column}.logo[data-v-aaef67cc]{height:64px;display:flex;align-items:center;gap:12px;padding:0 20px}.logo-mark[data-v-aaef67cc]{width:36px;height:36px;border-radius:9px;background:var(--brand-accent);color:#0b1733;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.logo-text[data-v-aaef67cc]{line-height:1.1}.logo-title[data-v-aaef67cc]{color:#fff;font-weight:700;font-size:15px;letter-spacing:.02em}.logo-sub[data-v-aaef67cc]{color:#8a93a8;font-size:10px;font-weight:600;letter-spacing:.12em}.app-menu[data-v-aaef67cc]{background:transparent!important;border-inline-end:none!important;padding:8px 12px;flex:1;overflow-y:auto}[data-v-aaef67cc] .app-menu .ant-menu-item-group-title{color:#6b7589;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:16px 12px 6px}[data-v-aaef67cc] .app-menu .ant-menu-item{width:100%;margin:2px 0;border-radius:8px;color:#c2c9d6}[data-v-aaef67cc] .app-menu .ant-menu-item:hover{background:#ffffff12!important;color:#fff!important}[data-v-aaef67cc] .app-menu .ant-menu-item-selected{background:#c3e00a24!important;color:var(--brand-accent)!important;font-weight:600}[data-v-aaef67cc] .app-menu .ant-menu-item-selected:after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-accent)}.dashboard-header[data-v-aaef67cc]{background:#fff;padding:0 20px;height:64px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--hairline)}.header-left[data-v-aaef67cc]{display:flex;align-items:center;gap:14px}.trigger[data-v-aaef67cc]{font-size:18px;cursor:pointer;color:#5b6472;transition:color .2s}.trigger[data-v-aaef67cc]:hover{color:#16a34a}.header-breadcrumb[data-v-aaef67cc] .ant-breadcrumb-link{color:#8a93a8}.header-breadcrumb[data-v-aaef67cc] .ant-breadcrumb-link:last-child,.header-breadcrumb[data-v-aaef67cc] li:last-child .ant-breadcrumb-link{color:#1f2430;font-weight:600}.header-search[data-v-aaef67cc]{flex:1;display:flex;justify-content:center}.search-input[data-v-aaef67cc]{max-width:460px;width:100%;background:#f4f5f7;border-radius:10px;border:1px solid transparent}.search-input[data-v-aaef67cc]:hover,.search-input[data-v-aaef67cc]:focus-within{background:#fff;border-color:#e3e6eb}.kbd[data-v-aaef67cc]{font-size:11px;color:#9aa1ad;background:#fff;border:1px solid #e3e6eb;border-radius:6px;padding:1px 6px}.header-right[data-v-aaef67cc]{display:flex;align-items:center;gap:14px;margin-left:auto}.user-chip[data-v-aaef67cc]{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 8px;border-radius:10px;transition:background .2s}.user-chip[data-v-aaef67cc]:hover{background:#f4f5f7}.user-avatar[data-v-aaef67cc]{background:#101d3b;color:#fff;font-weight:600;flex-shrink:0}.user-meta[data-v-aaef67cc]{line-height:1.15}.user-name[data-v-aaef67cc]{font-weight:600;font-size:13px;color:#1f2430}.user-role[data-v-aaef67cc]{font-size:11px;color:#8a93a8}.user-caret[data-v-aaef67cc]{color:#9aa1ad;font-size:11px}.dashboard-content[data-v-aaef67cc]{margin:0;padding:24px;background:var(--page-bg);min-height:calc(100vh - 64px)}@media (max-width: 768px){.header-search[data-v-aaef67cc],.user-meta[data-v-aaef67cc]{display:none}}.status-grid-card[data-v-865f3e25] .ant-card-head-title{font-weight:600}.status-grid-card[data-v-865f3e25]{border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.grid-title[data-v-865f3e25]{font-size:16px;font-weight:700}.grid-count[data-v-865f3e25]{margin-left:8px;color:#9aa1ad;font-size:13px;font-weight:500}.grid-extra[data-v-865f3e25]{display:flex;align-items:center;gap:16px}.legend[data-v-865f3e25]{display:flex;gap:14px}.legend-item[data-v-865f3e25]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4b5563}.ldot[data-v-865f3e25]{width:8px;height:8px;border-radius:50%;display:inline-block}.project-card[data-v-865f3e25]{border:1px solid var(--hairline);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fff;transition:box-shadow .2s ease,transform .2s ease;height:100%}.project-card.signal-red[data-v-865f3e25]{background:#fff5f5;border-color:#fecaca}.project-card.signal-yellow[data-v-865f3e25]{background:#fffbeb;border-color:#fde68a}.project-card.signal-green[data-v-865f3e25]{background:#f0fdf4;border-color:#bbf7d0}.project-card[data-v-865f3e25]:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.project-card__header[data-v-865f3e25]{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-card__name[data-v-865f3e25]{font-weight:600;font-size:14px;color:#1f2430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-dot[data-v-865f3e25]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-card__company[data-v-865f3e25]{color:#8c8c8c;font-size:12px;margin:4px 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card__footer[data-v-865f3e25]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12.5px;color:#6b7280}.pcm-sep[data-v-865f3e25]{color:#cbd2db}.pcm--alert[data-v-865f3e25]{color:#ef4444;font-weight:600}.pcm-milestone[data-v-865f3e25]{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#9aa1ad}.drawer-section-title[data-v-865f3e25]{font-size:13px;font-weight:600;color:#595959;margin:0 0 8px}.drawer-list-item[data-v-865f3e25]{cursor:pointer}.drawer-link[data-v-865f3e25]{color:#1890ff}.drawer-list-item:hover .drawer-link[data-v-865f3e25]{text-decoration:underline}.my-dashboard[data-v-1f445696]{padding:0}.milestones-card[data-v-1f445696]{margin-bottom:20px;border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.greeting[data-v-1f445696]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.greeting-title[data-v-1f445696]{font-size:26px;font-weight:800;color:#111726;margin:0;letter-spacing:-.01em}.greeting-sub[data-v-1f445696]{margin:4px 0 0;color:#6b7280;font-size:14px}.greeting-actions[data-v-1f445696]{display:flex;align-items:center;gap:10px;flex-shrink:0}.date-pill[data-v-1f445696]{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--hairline);border-radius:10px;padding:7px 12px;font-size:13px;color:#4b5563}.refresh-btn[data-v-1f445696]{background:#101d3b;border-color:#101d3b;color:#fff;border-radius:10px}.refresh-btn[data-v-1f445696]:hover{background:#1c2a4d!important;border-color:#1c2a4d!important;color:#fff!important}.kpi-strip[data-v-1f445696]{margin-bottom:20px}.kpi-card[data-v-1f445696]{background:#fff;border:1px solid var(--hairline);border-top:3px solid var(--accent);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:16px 18px;height:100%}.kpi-top[data-v-1f445696]{display:flex;align-items:center;justify-content:space-between}.kpi-title[data-v-1f445696]{color:#6b7280;font-size:13px;font-weight:500}.kpi-icon[data-v-1f445696]{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.kpi-value[data-v-1f445696]{font-size:32px;font-weight:800;color:#111726;line-height:1.1;margin:10px 0 6px}.kpi-unit[data-v-1f445696]{font-size:14px;font-weight:500;color:#9aa1ad;margin-left:4px}.kpi-foot[data-v-1f445696]{font-size:12.5px;min-height:18px}.status-grid[data-v-1f445696]{margin-bottom:24px}.work-card[data-v-1f445696]{margin-bottom:16px}[data-v-1f445696] .ant-list-item-meta-title a{color:#1890ff}[data-v-1f445696] .ant-list-item-meta-title a:hover{text-decoration:underline}[data-v-1f445696] .ant-card-head-title{font-weight:600}.horizontal-timeline-container[data-v-1f445696]{overflow-x:auto;overflow-y:hidden;padding:20px 0;margin:0 -12px}.horizontal-timeline[data-v-1f445696]{display:flex;align-items:flex-start;min-width:min-content;padding:0 12px}.timeline-item[data-v-1f445696]{display:flex;flex-direction:column;align-items:center;position:relative;min-width:200px;max-width:250px;margin-right:16px}.timeline-item[data-v-1f445696]:last-child{margin-right:0}.timeline-connector[data-v-1f445696]{position:absolute;top:20px;left:-16px;width:16px;height:2px;border-top:2px solid;z-index:1}.timeline-marker[data-v-1f445696]{display:flex;flex-direction:column;align-items:center;margin-bottom:12px;z-index:2}.timeline-dot[data-v-1f445696]{width:40px;height:40px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;background:#fff;margin-bottom:8px}.timeline-date[data-v-1f445696]{text-align:center;white-space:nowrap}.milestone-card[data-v-1f445696]{width:100%;box-shadow:0 1px 4px #00000014;transition:all .3s ease}.milestone-card[data-v-1f445696]:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.horizontal-timeline-container[data-v-1f445696]::-webkit-scrollbar{height:8px}.horizontal-timeline-container[data-v-1f445696]::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.horizontal-timeline-container[data-v-1f445696]::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.horizontal-timeline-container[data-v-1f445696]::-webkit-scrollbar-thumb:hover{background:#8c8c8c}.executive-dashboard[data-v-05b5a281]{padding:24px}[data-v-05b5a281] .ant-list-item-meta-title a{color:#1890ff}[data-v-05b5a281] .ant-list-item-meta-title a:hover{text-decoration:underline}[data-v-05b5a281] .ant-card-head-title{font-weight:600}.project-card[data-v-fbafa83d]{border:1px solid #f0f0f0;border-left:4px solid #d9d9d9;border-radius:8px;padding:14px 16px;background:#fff;cursor:pointer;height:100%;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s ease,transform .2s ease}.project-card[data-v-fbafa83d]:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-2px)}.pc-top[data-v-fbafa83d]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pc-name[data-v-fbafa83d]{font-weight:600;font-size:15px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pc-more[data-v-fbafa83d]{color:#bfbfbf;margin:-4px -8px 0 0}.pc-org[data-v-fbafa83d]{color:#8c8c8c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-tags[data-v-fbafa83d]{display:flex;flex-wrap:wrap;gap:4px}.pc-footer[data-v-fbafa83d]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid #f5f5f5;font-size:12px;color:#595959}.pc-health[data-v-fbafa83d]{display:inline-flex;align-items:center;gap:6px}.pc-health-dot[data-v-fbafa83d]{width:8px;height:8px;border-radius:50%;display:inline-block}.pc-budget[data-v-fbafa83d]{font-weight:600}.grid-pagination[data-v-fbafa83d]{display:flex;justify-content:flex-end;margin-top:20px}.deployment-checklist[data-v-65930553]{padding:0}.required-item[data-v-65930553] .ant-checkbox-inner{border-color:#ff4d4f;border-width:2px}[data-v-65930553] .ant-collapse-header{font-weight:600;font-size:15px}[data-v-65930553] .ant-list-item{padding:16px 0}[data-v-65930553] .ant-list-item-meta-avatar{align-self:flex-start;margin-top:4px}.tt-text[data-v-2c02a48c]{white-space:pre-wrap}.tt-link[data-v-2c02a48c]{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:12px;color:#2f6bff;cursor:pointer}.tt-link.disabled[data-v-2c02a48c]{opacity:.6;cursor:default}.tt-badge[data-v-2c02a48c]{background:#eef3ff;color:#2f6bff;border-radius:8px;padding:0 6px;font-size:10px}.aid-title[data-v-694e6a74]{font-size:18px;font-weight:700;margin:0 0 8px;color:#111726}.aid-section[data-v-694e6a74]{margin-top:16px}.aid-label[data-v-694e6a74]{font-size:12px;font-weight:600;color:#8a93a8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.aid-meta[data-v-694e6a74]{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px;color:#4b5563}.aid-meta .overdue[data-v-694e6a74]{color:#ef4444;font-weight:600}.aid-people[data-v-694e6a74]{display:flex;flex-direction:column;gap:8px}.person[data-v-694e6a74]{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#1f2430}.aid-desc[data-v-694e6a74]{white-space:pre-wrap;font-size:14px;line-height:1.6;color:#374151}.aid-muted[data-v-694e6a74]{color:#9aa1ad;font-size:13px}.aid-status-actions[data-v-694e6a74]{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.aid-actions[data-v-694e6a74]{margin-top:12px}.av-assignee[data-v-694e6a74]{background:#2563eb;font-size:11px;font-weight:600}.av-owner[data-v-694e6a74]{background:#f59e0b;font-size:11px;font-weight:600}.av-helper[data-v-694e6a74]{background:#94a3b8;font-size:11px;font-weight:600}.comment-list[data-v-694e6a74]{display:flex;flex-direction:column;gap:14px;max-height:320px;overflow-y:auto;margin-bottom:12px}.comment[data-v-694e6a74]{display:flex;gap:10px}.comment-body[data-v-694e6a74]{flex:1;min-width:0}.comment-head[data-v-694e6a74]{display:flex;align-items:center;gap:8px}.comment-author[data-v-694e6a74]{font-weight:600;font-size:13px}.comment-time[data-v-694e6a74]{font-size:11px;color:#9aa1ad}.comment-del[data-v-694e6a74]{margin-left:auto;font-size:11px;color:#c2c9d6;cursor:pointer}.comment-del[data-v-694e6a74]:hover{color:#ef4444}.comment-text[data-v-694e6a74]{font-size:13px;color:#374151;white-space:pre-wrap;margin-top:2px}.comment-compose[data-v-694e6a74]{display:flex;gap:8px;align-items:flex-end}.attach-list[data-v-694e6a74]{display:flex;flex-direction:column;gap:8px;margin-top:14px}.attach[data-v-694e6a74]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #eef0f3;border-radius:8px}.attach-icon[data-v-694e6a74]{color:#6b7280;font-size:16px}.attach-info[data-v-694e6a74]{display:flex;flex-direction:column;min-width:0;flex:1}.attach-name[data-v-694e6a74]{color:#2563eb;font-size:13px;font-weight:500}.attach-size[data-v-694e6a74]{font-size:11px;color:#9aa1ad}.attach-del[data-v-694e6a74]{color:#c2c9d6;cursor:pointer}.attach-del[data-v-694e6a74]:hover{color:#ef4444}.project-action-items-tab[data-v-d09e8a8c] .completed-row{opacity:.6}.proc-stepper[data-v-1a1b3bd4]{padding:4px 0}.proc-insert[data-v-1a1b3bd4]{text-align:center}.proc-insert[data-v-1a1b3bd4] .ant-btn{color:#bfbfbf}.proc-insert[data-v-1a1b3bd4]:hover .ant-btn{color:#1890ff}.proc-step[data-v-1a1b3bd4]{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.proc-dot[data-v-1a1b3bd4]{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid #d9d9d9;color:#8a93a2;cursor:pointer;font-weight:600;background:#fff}.proc-step.done .proc-dot[data-v-1a1b3bd4]{background:#16a34a;border-color:#16a34a;color:#fff}.proc-body[data-v-1a1b3bd4]{flex:1}.proc-name[data-v-1a1b3bd4]{font-weight:600}.proc-step.done .proc-name[data-v-1a1b3bd4]{color:#16a34a}.proc-desc[data-v-1a1b3bd4]{color:#5b6573;font-size:12px;margin-top:2px}.proc-meta[data-v-1a1b3bd4]{color:#16a34a;font-size:11px;margin-top:2px}.chat[data-v-270c653d]{display:flex;flex-direction:column;height:60vh}.chat-list[data-v-270c653d]{flex:1;overflow-y:auto;padding:8px 4px}.chat-msg[data-v-270c653d]{display:flex;gap:10px;margin-bottom:14px}.chat-av[data-v-270c653d]{background:#2f6bff;flex-shrink:0}.chat-bubble[data-v-270c653d]{background:#f7f9fc;border-radius:8px;padding:8px 12px;max-width:80%}.chat-head[data-v-270c653d]{font-size:12px}.chat-time[data-v-270c653d]{color:#8a93a2;margin-left:6px}.chat-edited[data-v-270c653d]{color:#b0b6c0;margin-left:6px;font-size:11px;font-style:italic}.chat-edit-btn[data-v-270c653d]{color:#8a93a2;margin-left:8px;cursor:pointer;font-size:12px;opacity:0;transition:opacity .15s}.chat-msg:hover .chat-edit-btn[data-v-270c653d]{opacity:1}.chat-edit-btn[data-v-270c653d]:hover{color:#2f6bff}.chat-edit-box[data-v-270c653d]{margin-top:6px}.chat-edit-actions[data-v-270c653d]{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.chat-text[data-v-270c653d]{white-space:pre-wrap;margin-top:2px}.chat-text[data-v-270c653d] .mention{color:#2f6bff;font-weight:600}.chat-input[data-v-270c653d]{border-top:1px solid #eceff4;padding-top:10px}.chat-send[data-v-270c653d]{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.chat-hint[data-v-270c653d]{color:#bfbfbf;font-size:11px}.project-detail[data-v-d854fde5] .ant-spin-container{display:flex;flex-direction:column}.sec-header[data-v-d854fde5]{order:1}.sec-kpi[data-v-d854fde5]{order:2}.sec-workspace[data-v-d854fde5]{order:3}.sec-details[data-v-d854fde5]{order:4}.sec-financials[data-v-d854fde5]{order:5}.kpi-strip[data-v-d854fde5]{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.kpi-chip[data-v-d854fde5]{flex:1 1 150px;min-width:150px;padding:12px 16px;border-radius:10px;border:1px solid #e3e7ee;border-left:4px solid #8a93a2;background:#fff}.kpi-chip .kpi-label[data-v-d854fde5]{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#8a93a2}.kpi-chip .kpi-value[data-v-d854fde5]{font-size:18px;font-weight:700;color:#1f2733;margin-top:2px}.kpi-chip.accent-commercial[data-v-d854fde5]{border-left-color:#2f6bff}.kpi-chip.accent-delivery[data-v-d854fde5]{border-left-color:#16a34a}.kpi-chip.accent-support[data-v-d854fde5]{border-left-color:#f59e0b}.kpi-chip.accent-time[data-v-d854fde5]{border-left-color:#7c3aed}.sec-details[data-v-d854fde5],.sec-financials[data-v-d854fde5]{margin-top:16px}.section-collapse[data-v-d854fde5] .ant-collapse-header{font-weight:600;border-left:4px solid #8a93a2;border-radius:8px 8px 0 0}.sec-financials .section-collapse[data-v-d854fde5] .ant-collapse-header{border-left-color:#2f6bff}.so-section-head[data-v-d854fde5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.so-section-title[data-v-d854fde5]{font-weight:600;font-size:15px}.dn-line-note[data-v-d854fde5]{font-size:11px;color:#8a93a2;margin-top:3px}.dn-line-error[data-v-d854fde5]{font-size:11px;color:#ff4d4f;margin-top:3px}[data-v-d854fde5] .hw-removed-row{opacity:.5}.tree-node-title[data-v-01aa4445]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 0}.node-name[data-v-01aa4445]{flex:1;font-weight:500}.node-info[data-v-01aa4445]{display:flex;align-items:center;gap:8px;margin:0 16px}.node-actions[data-v-01aa4445]{display:flex;align-items:center;opacity:0;transition:opacity .2s}.tree-node-title:hover .node-actions[data-v-01aa4445]{opacity:1}[data-v-01aa4445] .ant-tree-node-content-wrapper,[data-v-01aa4445] .ant-tree-title{width:100%}.tickets-page[data-v-3f335b22],.meetings-page[data-v-716ec455]{padding:24px}[data-v-716ec455] .ant-list-item-meta-title a{color:#1890ff}[data-v-716ec455] .ant-list-item-meta-title a:hover{text-decoration:underline}.kanban-card[data-v-0e4ceb98]{position:relative;background:#fff;border:1px solid #edeff3;border-left:4px solid var(--accent, #d0d7e2);border-radius:12px;padding:14px 16px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;box-shadow:0 1px 2px #1018280d;display:flex;flex-direction:column;gap:8px}.kanban-card[data-v-0e4ceb98]:hover{box-shadow:0 8px 22px #1018281f;transform:translateY(-1px)}.kanban-card.completed[data-v-0e4ceb98]{background:#f8fafc}.kanban-card.completed .kc-title[data-v-0e4ceb98]{color:#9aa1ad}.kc-top[data-v-0e4ceb98]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kc-title[data-v-0e4ceb98]{font-weight:700;font-size:15px;line-height:1.3;color:#111726;letter-spacing:-.01em}.kc-title.strike[data-v-0e4ceb98]{text-decoration:line-through}.kc-status-icon[data-v-0e4ceb98]{font-size:18px;flex-shrink:0;margin-top:2px}.kc-sub[data-v-0e4ceb98]{font-size:13px;color:#98a2b3;margin-top:-2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kc-line[data-v-0e4ceb98]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kc-pill[data-v-0e4ceb98]{font-size:11px;font-weight:600;text-transform:capitalize;border:1px solid currentColor;border-radius:20px;padding:1px 10px;line-height:1.5;background:transparent}.kc-pill-client[data-v-0e4ceb98]{color:#7c3aed;border-color:#7c3aed;text-transform:none}.kc-due[data-v-0e4ceb98]{font-size:12.5px;color:#98a2b3;display:inline-flex;align-items:center;gap:4px}.kc-due.overdue[data-v-0e4ceb98]{color:#ef4444;font-weight:600}.kc-divider[data-v-0e4ceb98]{height:1px;background:#f0f2f5;margin:2px -16px}.kc-footer[data-v-0e4ceb98]{display:flex;align-items:center;justify-content:space-between;gap:8px}.kc-people[data-v-0e4ceb98]{display:flex;align-items:center;gap:8px;min-width:0}.kc-doer-name[data-v-0e4ceb98]{font-size:13px;color:#475467;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.kc-helpers[data-v-0e4ceb98]{margin-left:2px}.av[data-v-0e4ceb98]{font-size:10px;font-weight:600}.av-assignee[data-v-0e4ceb98]{background:#2563eb}.av-helper[data-v-0e4ceb98]{background:#94a3b8}.kc-actions[data-v-0e4ceb98]{display:flex;align-items:center;gap:4px;flex-shrink:0}.kc-btn[data-v-0e4ceb98]{padding:0 8px}.kgc-grp[data-v-73f9c829]{margin-bottom:8px}.kgc-head[data-v-73f9c829]{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f5f7fa;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;color:#1f2430}.kgc-grip[data-v-73f9c829]{cursor:grab;color:#b0b6c0}.kgc-grip[data-v-73f9c829]:active{cursor:grabbing}.kgc-caret[data-v-73f9c829]{color:#8a93a2;font-size:11px}.kgc-name[data-v-73f9c829]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kgc-cards[data-v-73f9c829]{display:flex;flex-direction:column;gap:12px;padding:8px 0 4px 6px;min-height:8px}.kgc-dropzone[data-v-73f9c829]{min-height:28px;border-radius:6px;border:1px dashed transparent;transition:border-color .15s,background .15s}.kgc-dropzone[data-v-73f9c829]:hover{border-color:#d0d7e2}.kanban-ghost[data-v-73f9c829],.kgc-cards[data-v-73f9c829] .sortable-ghost,.kgc-dropzone[data-v-73f9c829] .sortable-ghost{opacity:.5;background:#e6f4ff;border:1px dashed #1890ff}.action-items-page[data-v-134f6620]{padding:24px}[data-v-134f6620] .ant-list-item-meta-title a{color:#1890ff}[data-v-134f6620] .ant-list-item-meta-title a:hover{text-decoration:underline}[data-v-134f6620] .completed-row{opacity:.6}.filter-toggle[data-v-134f6620]{cursor:pointer;border:1px solid #d9d9d9;border-radius:4px;padding:2px 10px;font-size:13px;-webkit-user-select:none;user-select:none}.filter-summary[data-v-134f6620]{display:flex;align-items:center;gap:4px;margin-top:10px;padding-top:8px;border-top:1px dashed #eef0f3}.kf-filters[data-v-134f6620]{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end}.kf-field[data-v-134f6620]{display:flex;flex-direction:column;gap:4px}.kf-field>label[data-v-134f6620]{font-size:12px;font-weight:600;color:#8a93a8}.kf-field-wide[data-v-134f6620]{flex:1 1 260px;min-width:260px;max-width:460px}.kf-toggles[data-v-134f6620]{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid #f0f0f0}.grouped-collapse[data-v-134f6620]{background:transparent}[data-v-134f6620] .grouped-collapse .ant-collapse-item{margin-bottom:12px;background:#fff;border-radius:8px!important;border:1px solid #f0f0f0;overflow:hidden}[data-v-134f6620] .grouped-collapse .ant-collapse-header{padding:12px 16px!important;align-items:center!important}.group-header[data-v-134f6620]{display:flex;align-items:center}.kanban-row>.ant-col[data-v-134f6620]{display:flex}.kbp-col[data-v-134f6620] .ant-collapse-item{border:none;margin-bottom:6px}.kbp-col[data-v-134f6620] .ant-collapse-header{padding:6px 8px!important;background:#f5f7fa;border-radius:6px}.kbp-col[data-v-134f6620] .ant-collapse-content-box{padding:8px 0 0!important}.kbp-col-head[data-v-134f6620]{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:#1f2430}.kbp-col-cards[data-v-134f6620]{display:flex;flex-direction:column;gap:12px}.kanban-column[data-v-134f6620]{width:100%;height:calc(100vh - 280px);min-height:380px;display:flex;flex-direction:column;transition:all .2s ease}.kanban-column[data-v-134f6620] .ant-card-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.kanban-cards[data-v-134f6620]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.kanban-ghost[data-v-134f6620],.kanban-cards[data-v-134f6620] .sortable-ghost{opacity:.5;background:#e6f4ff;border:1px dashed #1890ff}.kanban-card[data-v-134f6620]{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:12px;cursor:grab;transition:all .2s ease;box-shadow:0 1px 3px #00000014}.kanban-card[data-v-134f6620]:hover{box-shadow:0 4px 12px #0000001f;border-color:#d9d9d9}.kanban-card[data-v-134f6620]:active{cursor:grabbing}.kanban-card.completed[data-v-134f6620]{opacity:.7;background-color:#f6ffed;border-color:#b7eb8f;cursor:default}.card-header[data-v-134f6620]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.card-title[data-v-134f6620]{font-weight:500;font-size:14px;line-height:1.4;flex:1}.card-title.strike[data-v-134f6620]{text-decoration:line-through;color:#8c8c8c}.card-meta[data-v-134f6620]{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#8c8c8c;margin-bottom:8px}.card-meta span[data-v-134f6620]{display:flex;align-items:center;gap:4px}.card-meta .overdue[data-v-134f6620]{color:#ff4d4f;font-weight:500}.card-company[data-v-134f6620]{color:#722ed1;font-weight:500}.card-project[data-v-134f6620]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-owner[data-v-134f6620]{color:#faad14;font-weight:500}.card-helpers[data-v-134f6620]{color:#1890ff}.card-creator[data-v-134f6620]{font-style:italic;color:#bfbfbf;font-size:11px}.card-actions[data-v-134f6620]{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.kanban-card[draggable=true][data-v-134f6620]{position:relative}.kanban-card[draggable=false][data-v-134f6620]{cursor:default}.weekly-content-wrapper[data-v-134f6620]{display:flex;gap:16px;align-items:flex-start}.kanban-content[data-v-134f6620]{flex:1;min-width:0}.review-panel[data-v-134f6620]{flex:0 0 30%;width:30%;min-width:420px;max-width:560px;max-height:calc(100vh - 200px);overflow-y:auto;background:#fff;border:1px solid var(--hairline, #eef0f3);border-radius:12px;padding:16px;position:sticky;top:16px;box-shadow:var(--card-shadow, 0 2px 8px rgba(0, 0, 0, .06))}.review-panel-header[data-v-134f6620]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.review-panel-groups[data-v-134f6620]{display:flex;flex-direction:column;gap:4px}.review-group[data-v-134f6620]{border:1px solid #f5f5f5;border-radius:6px;padding:8px;margin-bottom:4px}.review-group-header[data-v-134f6620]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-group-title[data-v-134f6620]{display:flex;align-items:center;gap:6px;font-size:13px}.review-task-item[data-v-134f6620]{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;gap:8px;transition:background .15s}.review-task-item[data-v-134f6620]:hover{background:#fafafa}.review-task-item.in-kanban[data-v-134f6620]{opacity:.5}.review-task-info[data-v-134f6620]{flex:1;min-width:0}.review-task-title[data-v-134f6620]{font-size:13px;line-height:1.4;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-task-meta[data-v-134f6620]{display:flex;align-items:center;gap:6px;margin-top:2px}.review-task-actions[data-v-134f6620]{flex-shrink:0}.quick-create-form[data-v-134f6620]{background:#fafafa;border:1px dashed #d9d9d9;border-radius:6px;padding:10px;margin-bottom:8px}.last-week-banner-content[data-v-134f6620]{margin-top:4px}.last-week-tasks-list[data-v-134f6620]{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.last-week-task-item[data-v-134f6620]{display:flex;align-items:center;gap:8px;font-size:13px}.ai-agent-page[data-v-048ea725]{max-width:1200px;margin:0 auto}.chat-container[data-v-048ea725]{height:500px;overflow-y:auto;padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:16px}.message[data-v-048ea725]{margin-bottom:16px;display:flex}.message.user[data-v-048ea725]{justify-content:flex-end}.message.assistant[data-v-048ea725]{justify-content:flex-start}.message-content[data-v-048ea725]{max-width:70%;padding:12px 16px;border-radius:8px}.message.user .message-content[data-v-048ea725]{background:#1890ff;color:#fff}.message.assistant .message-content[data-v-048ea725]{background:#fff;border:1px solid #d9d9d9}.message-header[data-v-048ea725]{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.message.user .message-time[data-v-048ea725]{color:#fffc}.message.assistant .message-time[data-v-048ea725]{color:#999}.message-text[data-v-048ea725]{line-height:1.6}.message-meta[data-v-048ea725]{margin-top:8px;font-size:11px}.input-area[data-v-048ea725]{margin-bottom:16px}.examples[data-v-048ea725]{text-align:center;padding:24px;color:#999}.users-list[data-v-468edc4c]{padding:24px}[data-v-468edc4c] .ant-table{background:#fff}[data-v-468edc4c] .ant-input-search,[data-v-468edc4c] .ant-select{border-radius:6px}[data-v-468edc4c] .ant-tag{margin:2px}.analytics-dashboard[data-v-d388cb4e]{padding:24px}[data-v-d388cb4e] .ant-statistic-title{font-size:14px;margin-bottom:4px}[data-v-d388cb4e] .ant-statistic-content{font-size:24px;font-weight:600}[data-v-d388cb4e] .ant-card{border-radius:8px}[data-v-d388cb4e] .ant-table-cell{font-size:13px}.team-workload[data-v-06aeba37]{padding:24px}[data-v-06aeba37] .ant-table-cell{font-size:13px}[data-v-06aeba37] .ant-card{border-radius:8px}[data-v-06aeba37] .ant-progress{margin-bottom:0}.top-strip[data-v-7e995fed]{display:flex;align-items:stretch;gap:28px;flex-wrap:wrap}.top-divider[data-v-7e995fed]{width:1px;background:#f0f0f0;align-self:stretch}.my-badges[data-v-7e995fed]{flex:1;min-width:280px}.my-badges-title[data-v-7e995fed]{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.stats-grid[data-v-7e995fed]{display:flex;flex-wrap:wrap;gap:28px;align-items:center}.stat[data-v-7e995fed]{min-width:110px}.stat-label[data-v-7e995fed]{color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.stat-value[data-v-7e995fed]{font-size:26px;font-weight:600;line-height:1.3}.stat-sub[data-v-7e995fed]{font-size:14px;color:#aaa;font-weight:400}.trend-up[data-v-7e995fed]{color:#52c41a;font-size:14px;margin-left:6px}.trend-down[data-v-7e995fed]{color:#ff4d4f;font-size:14px;margin-left:6px}.rank-medal[data-v-7e995fed]{font-size:16px}.badge-row[data-v-7e995fed]{display:flex;flex-wrap:wrap;gap:10px}.badge[data-v-7e995fed]{text-align:center;width:72px;opacity:.35;filter:grayscale(1);transition:all .2s}.badge.earned[data-v-7e995fed]{opacity:1;filter:none}.badge-emoji[data-v-7e995fed]{font-size:26px}.badge-label[data-v-7e995fed]{font-size:11px;color:#666}.wall-badge[data-v-7e995fed]{display:inline-block;background:#f5f5f5;border-radius:12px;padding:2px 10px;font-size:12px;margin:2px}.chart-wrap[data-v-7e995fed]{position:relative}.chart-empty[data-v-7e995fed]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.avatar-preview[data-v-2cb2e12c]{text-align:center;margin-bottom:16px}.avatar-big[data-v-2cb2e12c]{background:#2f6bff;font-size:32px}.avatar-hint[data-v-2cb2e12c]{color:#999;font-size:12px;margin-top:8px}.avatar-controls[data-v-2cb2e12c]{margin-bottom:16px}.avatar-grid[data-v-2cb2e12c]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.avatar-option[data-v-2cb2e12c]{text-align:center;padding:8px 4px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s}.avatar-option[data-v-2cb2e12c]:hover{background:#f5f7fa}.avatar-option.active[data-v-2cb2e12c]{border-color:#2f6bff;background:#eef3ff}.avatar-style-label[data-v-2cb2e12c]{font-size:11px;color:#666;margin-top:4px}.avatar-actions[data-v-2cb2e12c]{display:flex;justify-content:space-between}.guide-page[data-v-a42fdfa6]{display:flex;flex-direction:column;height:calc(100vh - 120px)}.guide-bar[data-v-a42fdfa6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.guide-title[data-v-a42fdfa6]{margin:0;font-size:20px;font-weight:700}.guide-sub[data-v-a42fdfa6]{color:#8c8c8c;font-size:13px}.guide-frame[data-v-a42fdfa6]{flex:1;width:100%;border:1px solid #e6e9ef;border-radius:8px;background:#fff}.guide-fallback[data-v-a42fdfa6]{margin-top:8px;font-size:12px;color:#9aa1ad}.ghtml[data-v-71d210b1]{display:flex;gap:20px;height:calc(100vh - 120px)}.ghtml-side[data-v-71d210b1]{width:260px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid #eceff4;padding-right:14px}.ghtml-search[data-v-71d210b1]{margin-bottom:12px}.ghtml-nav[data-v-71d210b1]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.ghtml-nav a[data-v-71d210b1]{padding:8px 10px;border-radius:8px;color:#4b5563;text-decoration:none;font-size:14px}.ghtml-nav a[data-v-71d210b1]:hover{background:#f5f7fa;color:#1f2430}.ghtml-nav a.active[data-v-71d210b1]{background:#eef3ff;color:#2f6bff;font-weight:600}.ghtml-noresult[data-v-71d210b1]{color:#9aa1ad;font-size:13px;padding:8px 10px}.ghtml-dl[data-v-71d210b1]{margin-top:12px}.ghtml-content[data-v-71d210b1]{flex:1;overflow-y:auto;padding:0 28px 80px;scroll-behavior:smooth}.ghtml-hero h1[data-v-71d210b1]{font-size:26px;margin:8px 0 2px}.ghtml-hero p[data-v-71d210b1]{color:#8c8c8c;margin:0 0 8px}.ghtml-meta[data-v-71d210b1]{font-size:12px;color:#9aa1ad}.ghtml-section[data-v-71d210b1]{border-top:1px solid #f0f0f0;padding-top:8px;margin-top:24px}.ghtml-section[data-v-71d210b1]:first-of-type{border-top:none}.ghtml-content[data-v-71d210b1] h1{font-size:24px}.ghtml-content[data-v-71d210b1] h2{font-size:19px;margin-top:26px}.ghtml-content[data-v-71d210b1] h3{font-size:16px}.ghtml-content[data-v-71d210b1] p,.ghtml-content[data-v-71d210b1] li{line-height:1.65}.ghtml-content[data-v-71d210b1] a{color:#2f6bff}.ghtml-content[data-v-71d210b1] table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.ghtml-content[data-v-71d210b1] th,.ghtml-content[data-v-71d210b1] td{border:1px solid #e6e9ef;padding:7px 9px;text-align:left}.ghtml-content[data-v-71d210b1] th{background:#f7f9fc}.ghtml-content[data-v-71d210b1] blockquote{border-left:3px solid #2f6bff;margin:12px 0;padding:6px 14px;background:#f6f9ff;border-radius:0 6px 6px 0;color:#374151}.ghtml-content[data-v-71d210b1] code{background:#f4f6fa;padding:1px 5px;border-radius:4px;font-size:90%}.ghtml-content[data-v-71d210b1] pre{background:#0f1729;color:#e6edf3;padding:12px 14px;border-radius:8px;overflow-x:auto}.ghtml-content[data-v-71d210b1] pre code{background:none;color:inherit}.ghtml-content[data-v-71d210b1] img{max-width:100%;border:1px solid #e6e9ef;border-radius:8px;box-shadow:0 1px 4px #0000000f;margin:10px 0}.ghtml-content[data-v-71d210b1] mark{background:#fff1a8;padding:0 1px;border-radius:2px}.activity-logs-container[data-v-651cc2ed]{padding:24px}[data-v-651cc2ed] .ant-table{table-layout:fixed}[data-v-651cc2ed] .ant-table-cell{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}[data-v-651cc2ed] .ant-tag{max-width:100%;white-space:normal;word-break:break-word;height:auto;line-height:1.4}[data-v-651cc2ed] .ant-descriptions{word-break:break-word}[data-v-651cc2ed] .ant-modal-body .ant-table{table-layout:fixed}[data-v-651cc2ed] .ant-modal-body .ant-table-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis}.key-display[data-v-4929492d]{display:flex;align-items:center;gap:12px;padding:12px;background:#f5f5f5;border-radius:6px}.raw-key[data-v-4929492d]{flex:1;font-size:13px;word-break:break-all;color:#333}.usage-example[data-v-4929492d]{background:#1e1e1e;color:#d4d4d4;padding:12px 16px;border-radius:6px;font-size:12px;overflow-x:auto;margin-top:8px}.url-cell[data-v-db0921a7]{color:#2563eb}.hint[data-v-ceedeb75]{color:#888;font-size:12px;margin-top:4px}.logo-preview[data-v-ceedeb75]{border:1px dashed #d9d9d9;border-radius:8px;min-height:140px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;padding:12px;background:#fafafa}.logo-preview img[data-v-ceedeb75]{max-width:100%;max-height:160px;object-fit:contain}.logo-placeholder[data-v-ceedeb75]{text-align:center;color:#999;font-size:13px}.editable[data-v-631e94b0]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;max-width:100%}.val[data-v-631e94b0]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.val.inherited[data-v-631e94b0]{color:#8c98a4;font-style:italic}.ph[data-v-631e94b0]{color:#bfbfbf}.pencil[data-v-631e94b0]{color:#cfd4dc;font-size:12px;flex-shrink:0}.editable:hover .pencil[data-v-631e94b0]{color:#1890ff}.production-page[data-v-0b304733]{display:flex;flex-direction:column}.deliv-btn.deliv-ok[data-v-0b304733]{color:#16a34a;border-color:#86efac}.deliv-btn.deliv-ok[data-v-0b304733]:hover{color:#15803d;border-color:#16a34a}.deliv-btn.deliv-none[data-v-0b304733]{color:#ef4444;border-color:#fca5a5}.deliv-btn.deliv-none[data-v-0b304733]:hover{color:#dc2626;border-color:#ef4444}.deliv-view[data-v-0b304733]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#374151}.deliv-view .deliv-addr[data-v-0b304733]{white-space:pre-wrap;color:#4b5563}.prod-group[data-v-0b304733]{margin-bottom:20px}.prod-group-head[data-v-0b304733]{display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:8px;border-bottom:2px solid #e3e7ee}.prod-group-title[data-v-0b304733]{font-weight:700;font-size:15px}.rollup[data-v-0b304733]{font-size:12px;color:#3a4350}[data-v-0b304733] .row-in_progress>td{background:#eaf3ff!important}[data-v-0b304733] .row-blocking>td{background:#fff4e6!important}[data-v-0b304733] .row-qc>td{background:#f6f0ff!important}[data-v-0b304733] .row-shipped>td{background:#eafbf0!important}[data-v-0b304733] .row-delivered>td{background:#dcf5e4!important}[data-v-0b304733] .row-overdue>td{background:#ffecec!important}[data-v-0b304733] .excluded-row{opacity:.5}.show-excluded[data-v-0b304733]{font-size:12px;color:#8a93a2}.show-excluded[data-v-0b304733]:hover{color:#2f6bff}.legend[data-v-0b304733]{font-size:11px;padding:1px 8px;border-radius:10px}.legend.in_progress[data-v-0b304733]{background:#eaf3ff}.legend.blocking[data-v-0b304733]{background:#fff4e6}.legend.qc[data-v-0b304733]{background:#f6f0ff}.legend.shipped[data-v-0b304733]{background:#eafbf0}.legend.overdue[data-v-0b304733]{background:#ffecec}.batch-tree[data-v-0b304733]{padding:4px 0 4px 24px}.batch-row[data-v-0b304733]{display:flex;align-items:center;gap:14px;padding:6px 10px;margin-bottom:4px;border-left:3px solid #d9d9d9;border-radius:4px}.batch-row.row-in_progress[data-v-0b304733]{background:#eaf3ff;border-left-color:#2f6bff}.batch-row.row-blocking[data-v-0b304733]{background:#fff4e6;border-left-color:#f59e0b}.batch-row.row-qc[data-v-0b304733]{background:#f6f0ff;border-left-color:#7c3aed}.batch-row.row-shipped[data-v-0b304733]{background:#eafbf0;border-left-color:#16a34a}.batch-row.row-overdue[data-v-0b304733]{background:#ffecec;border-left-color:#ef4444}.batch-label[data-v-0b304733]{font-weight:600;min-width:70px}.batch-qty[data-v-0b304733]{min-width:50px;color:#3a4350}.batch-target[data-v-0b304733]{min-width:90px;color:#5b6573;font-size:12px}.batch-shipped[data-v-0b304733]{color:#16a34a;font-size:12px;min-width:100px}.batch-dep[data-v-0b304733]{flex:1}.delay-tag[data-v-0b304733]{margin-left:6px;cursor:pointer}.delay-tag.delay-add[data-v-0b304733]{border-style:dashed;color:#8a93a2;background:transparent}.delay-tag.delay-add[data-v-0b304733]:hover{color:#2f6bff;border-color:#2f6bff}.est-cell[data-v-0b304733]{display:flex;align-items:center;gap:6px}.est-rev[data-v-0b304733]{font-size:11px;color:#d46b08;white-space:nowrap}.est-rev[data-v-0b304733]:hover{color:#2f6bff;text-decoration:underline}
