/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.source-toolbar select,.source-toolbar input{color:#59616d;background:#fff;border:1px solid #dfe2e8;border-radius:6px;height:34px;padding:0 10px}.import-submit{color:#775988;background:#faf7fc;border:1px solid #e3d8ea;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:11px 13px;font-size:12px;display:flex}.import-submit>span{margin-right:auto}.import-analysis{gap:12px;margin-top:14px;display:grid}.import-mapping{background:#f8fafc;border:1px solid #dce4ee;border-radius:8px;flex-wrap:wrap;gap:7px;padding:10px;display:flex}.import-mapping span{color:#637084;background:#fff;border-radius:5px;padding:4px 8px;font-size:12px}.import-mapping b{color:#3c4e67}.dashboard-section>h3{border-bottom:1px solid #eceef2;justify-content:space-between;padding-bottom:12px;display:flex}.source-dashboard-hero{background:radial-gradient(circle at 92% -30%,#581e8f1a,#0000 35%),#fffffff0;border:1px solid #a889b8;border-radius:21px;padding:18px;position:relative;box-shadow:0 10px 26px #3e284c17}.source-dashboard-hero .dashboard-config-toolbar{position:absolute;top:-55px;right:0}.source-dashboard-hero .study-title{border-bottom:1px solid #eee8f1;align-items:center;min-height:74px;padding:0 6px 14px;position:relative}.source-dashboard-hero .hero-icon{color:#743c91;background:0 0;font-size:26px}.source-dashboard-hero .study-title h2{color:#302037;max-width:760px;margin-bottom:7px;font-size:18px;line-height:1.45}.study-meta{flex-wrap:wrap;gap:8px 18px;display:flex}.dashboard-cutoff{color:#7d7883;white-space:nowrap;align-self:flex-start;margin-left:auto;padding-top:5px;font-size:11px}.source-dashboard-hero .metric-row{grid-template-columns:1.45fr 1fr .8fr .8fr;gap:10px;margin-top:12px}.source-dashboard-hero .metric{background:#ffffffc7;border-radius:14px;min-height:150px;box-shadow:0 7px 18px #4630550f}.source-dashboard-hero .metric small{white-space:pre-line;line-height:1.7}.source-dashboard-hero .metric:last-child{background:linear-gradient(145deg,#fff,#fff9f7);border-color:#edd8d3}.task-metric-main{align-items:center;gap:12px;display:flex}.task-metric-main strong{margin-right:0;font-size:29px}.task-metric-main b{color:#6d6870;font-size:10px;font-weight:600;line-height:1.25}.source-task-metric>i{background:#e8ebf2;border-radius:999px;height:7px;margin:16px 0 6px;display:block;overflow:hidden}.source-task-metric>i em{border-radius:inherit;background:#6f2f8d;height:100%;display:block}.dashboard-section>h3 button{color:#80529a;background:0 0;border:0}.two-column{grid-template-columns:1fr 1fr;gap:14px;display:grid}.increment-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.empty-copy{color:#9299a4;place-items:center;min-height:70px;font-size:12px;display:grid}.data-source{color:#9299a4;font-size:11px}.dashboard-table{margin-top:18px}.dashboard-table h4{color:#505865;margin:0 0 10px;font-size:14px}.section-head details{position:relative}.section-head details p{z-index:4;color:#6e6673;background:#fff;border:1px solid #ddd2e4;border-radius:8px;width:420px;padding:12px;line-height:1.6;position:absolute;right:0;box-shadow:0 8px 24px #261b2e24}@media (max-width:900px){.two-column,.increment-grid{grid-template-columns:1fr}}.module-panel:has(.center-overview-table)>.module-head{display:none}.module-panel:has(.center-overview-table){padding:17px 18px 20px}.module-panel:has(.center-overview-table) .source-toolbar{justify-content:flex-start;margin-bottom:8px}.module-panel:has(.center-overview-table) .source-toolbar button{white-space:nowrap;width:60px;height:39px}.module-panel:has(.center-overview-table) .source-toolbar select{width:107px;height:39px}.module-panel:has(.center-overview-table) .source-note{color:#5f8f79;background:0 0;border-radius:0;height:25px;margin:0;padding:6px 12px;line-height:13px}.module-panel:has(.center-overview-table) .center-progress-mode-note{color:#94a3b8;height:16px;margin:13px 0 5px;padding:0;line-height:16px}.center-overview-table{border:0;border-radius:0;width:100%;overflow:visible}.center-overview-table .data-table{table-layout:fixed;border-collapse:collapse;color:#334155;border-bottom:2px solid #e5e7eb;width:600.141px;min-width:600.141px;font-size:11px}.center-overview-table .data-table th{color:#3f51b5;background:#dedeff;border-bottom:1px solid #9ca3af;height:37px;padding:10px 24px 10px 10px;font-size:11px;line-height:16px;position:relative}.center-overview-table .data-table th:before,.center-overview-table .data-table th:after{color:#c3c5e8;font-size:7px;line-height:7px;position:absolute;right:7px}.center-overview-table .data-table th:before{content:"▲";top:10px}.center-overview-table .data-table th:after{content:"▼";bottom:9px}.center-overview-table .data-table th:first-child:before{color:#8d93d2}.center-overview-table .data-table th:first-child{width:90px}.center-overview-table .data-table th:nth-child(2){width:172px}.center-overview-table .data-table th:nth-child(3){width:54px}.center-overview-table .data-table th:nth-child(4){width:119px}.center-overview-table .data-table th:nth-child(5){width:165.141px}.center-overview-table .data-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;height:59px;padding:7px 10px;font-size:11px;line-height:16px}.center-overview-table .data-table td:nth-child(2) b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.center-overview-table .data-table .status{color:#475569;background:#fff;border:1px solid #e2e8f0;padding:3px 9px;font-size:11px}.center-overview-table .data-table .status:before{content:"";background:#64748b;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.center-overview-table .data-table .status.ok:before{background:#0eae6c}.center-overview-table .silent-alert{color:#fff;background:#dc2626;width:18px;height:18px;font-size:12px}.center-overview-table .data-table td.ethics-overdue{color:#c83232;font-weight:700}.stage-dots{gap:3px;margin:4px 0 0;display:inline-flex}.stage-dots span{color:#9aa1ab;border:1px solid #d8dce3;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:inline-grid}.stage-dots span.done{color:#0c9c5a;background:#e7f7ed;border-color:#83d7aa}.silent-alert{color:#c17413;background:#fff1dc;border-radius:50%;place-items:center;width:18px;height:18px;margin-left:7px;font-weight:800;display:inline-grid}.center-tabs{z-index:4;background:#fff;border-bottom:1px solid #f0f0f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;max-width:100%;margin:0;padding:10px 12px 0;display:grid;position:sticky;top:0;overflow:hidden}.center-tab-scroll-zone{align-items:center;gap:4px;min-width:0;max-width:100%;display:flex;position:relative;overflow:hidden}.center-tab-buttons{scrollbar-width:thin;flex:auto;align-items:center;gap:16px;width:max-content;min-width:0;max-width:100%;padding:6px 4px;display:flex;overflow:auto hidden}.center-tab-buttons button{height:auto;padding:6px 14px;font-size:13px;font-weight:500;line-height:1.2}.workbench-jump{color:#7b8490;white-space:nowrap;align-items:center;gap:6px;padding-bottom:6px;display:inline-flex}.workbench-jump select{color:#666;min-width:148px;max-width:200px;height:30px;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:6px 4px;font-size:13px}.center-tabs button,.workbench-controls button{color:#666;white-space:nowrap;height:32px;box-shadow:none;background:0 0;border:0;border-radius:999px;flex-shrink:0;padding:0 14px}.center-tab-scroll-zone>button{border-radius:50%;width:32px;min-width:32px;padding:0;font-size:18px}.center-tabs button.active{color:#4338ca;background:#4f46e51a;font-weight:600}.center-tabs .center-tab-buttons button{height:auto;padding:6px 14px}.workbench-controls{z-index:4;color:#64748b;background:#fff;border:0;border-bottom:1px solid #e8edf5;justify-content:space-between;gap:12px;min-height:38px;padding:6px 12px;font-size:10px;line-height:normal;display:flex;position:sticky;top:55px}.workbench-controls>span{align-items:center;gap:9px;display:flex}.workbench-controls button{color:#475569;background:#fff;border:1px solid #dbe3f3;border-radius:6px;min-width:24px;height:24px;padding:0 7px;font-size:11px}.workbench-controls input[type=range]{width:86px}.workbench-legend span{align-items:center;gap:4px;display:inline-flex}.workbench-legend i{border-radius:3px;width:9px;height:9px}.workbench-legend .is-plan{background:#c5c6c6}.workbench-legend .is-on-time{background:#2f8f6b}.workbench-legend .is-running{background:#0072b2}.workbench-legend .is-late-done{background:#d59a00}.workbench-legend .is-late-open{background:#d55e00}.workbench-legend .is-milestone{background:linear-gradient(90deg,#334155 0 1px,#0000 1px);border-radius:0;width:10px;height:11px;margin:0 1px;position:relative}.workbench-legend .is-milestone:after{content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:7px solid #334155;position:absolute;top:0;left:2px}.module-panel.progress-panel{min-height:calc(100vh - 81px);padding:18px}.progress-panel .module-head{border:0;align-items:center;min-height:29px;margin-bottom:10px;padding:0}.progress-panel .module-head h2{color:#333;margin:0;font-size:15px;font-weight:700}.progress-panel .module-head>button{height:28px;padding:0 10px;font-size:12px}.progress-table-shell{background:#fbfcff;border:1px solid #dbe3f3;border-radius:12px;min-width:0;max-width:100%;max-height:72vh;overflow:hidden auto}.progress-workbench-shell{color:#333;flex-direction:column;gap:12px;min-width:0;max-width:100%;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:14px;line-height:normal;display:flex}.progress-board{background:#fbfcff;min-width:0}.progress-structure-row{border-bottom:1px solid #eef2f9;grid-template-columns:270px 190px minmax(0,1fr);align-items:center;min-width:0;height:44px;display:grid}.progress-board>header{z-index:2;color:#4a5a7d;background:#f5f6f8;font-size:12px;font-weight:700;position:sticky;top:93px}.progress-task-info,.progress-task-detail,.progress-task-gantt{box-sizing:border-box;align-items:center;min-height:100%;display:flex}.progress-task-info{gap:8px;min-width:0;padding:0 10px;position:relative}.progress-task-detail{color:#7b869b;font-variant-numeric:tabular-nums;border-left:1px solid #e8edf5;border-right:3px solid #b8c5dc;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;display:grid}.progress-task-gantt{background:#f8fafc;gap:8px;padding:0 10px;box-shadow:inset 3px 0 #b8c5dc}.progress-level-one,.progress-level-one .progress-task-info,.progress-level-one .progress-task-detail,.progress-level-one .progress-task-gantt{background:#edf2ff;font-weight:700}.progress-level-one .progress-task-info:before{content:"";background:#3b5bdb;width:4px;position:absolute;inset:0 auto 0 0}.progress-level-two,.progress-row{background:#fff}.progress-level-two .progress-task-info,.progress-level-two .progress-task-detail,.progress-level-two .progress-task-gantt,.progress-row .progress-task-info,.progress-row .progress-task-detail,.progress-row .progress-task-gantt{background:0 0}.progress-level-two .progress-task-info{padding-left:20px}.progress-level-two .progress-task-info:before,.progress-row .progress-task-info:before{content:"";border-left:1px dashed #c9d3ee;position:absolute;top:0;bottom:0;left:20px}.progress-row .progress-task-info{padding-left:40px}.progress-row .progress-task-info:before{left:40px}.progress-toggle{color:#3f51b5;width:24px;min-width:24px;height:24px;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #cdd7f1;border-radius:6px;padding:0;font-size:12px;line-height:1}.progress-title-one{color:#1e3a6e;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.progress-title-two{color:#3d4f6f;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.progress-count{color:#70809f;margin-left:auto;font-size:12px}.progress-row{color:#333;cursor:pointer}.progress-row .progress-task-info>span:last-child{color:#2a344a;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.progress-row:hover,.progress-row:hover .progress-task-info,.progress-row:hover .progress-task-detail,.progress-row:hover .progress-task-gantt{background:#f8fafc}.workbench-guide{border-top:1px dashed #c9d3ee;width:10px;min-width:10px;height:0;margin-right:2px}.progress-row .progress-task-info input[type=checkbox]{width:18px;min-width:18px;margin:0}.workbench-gantt-viewport{flex:1 1 0;min-width:0;overflow:hidden}.workbench-timeline-head{width:var(--workbench-gantt-width,297px);border-bottom:1px solid #cbd5e1;height:31px;position:relative}.workbench-gantt{width:var(--workbench-gantt-width,297px);background:repeating-linear-gradient(90deg,#0000 0 29px,#94a3b81f 29px 30px),#f8fafc;border-radius:6px;height:22px;position:relative}.workbench-timeline-head span{color:#64748b;white-space:nowrap;font-size:9px;font-weight:500;position:absolute;top:0;transform:translate(-50%)}.workbench-timeline-head span:after{content:"";border-left:1px solid #cbd5e1;position:absolute;top:15px;bottom:-17px;left:50%}.workbench-timeline-head i{color:#d55e00;border-left:1px solid #d55e00;font-size:9px;font-style:normal;font-weight:700;position:absolute;top:0;bottom:-1px;transform:translate(-50%)}.workbench-axis-state-head,.workbench-axis-state{color:#64748b;text-align:right;white-space:nowrap;min-width:64px;font-size:10px}.workbench-axis-state{font-size:11px;font-weight:700}.workbench-axis-state.ok{color:#2f8f6b}.workbench-axis-state.running{color:#0072b2}.workbench-axis-state.warn{color:#d55e00}.workbench-today-line{opacity:.9;border-left:1px dashed #ee6c4d;position:absolute;top:2px;bottom:2px}.workbench-plan-bar,.workbench-actual-bar{border-radius:999px;min-width:6px;position:absolute}.workbench-plan-bar{background:#c5c6c6;height:6px;top:5px}.workbench-actual-bar{background:#2f8f6b;height:6px;top:13px}.workbench-actual-bar.late{background:#d59a00}.workbench-actual-bar.overdue{background:#d55e00}.workbench-actual-bar.running{background:#0072b2}.task-edit-modal{width:min(620px,100vw - 30px)}.task-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 0 4px;display:grid}.task-date-grid label{color:#68717d;gap:7px;font-size:12px;display:grid}.task-date-grid input{border:1px solid #d9e0e9;border-radius:7px;height:38px;padding:0 10px}.progress-row time{color:#7b869b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-timeline-scroll-row{background:#fff;border:1px solid #dbe3f3;border-top-width:0;border-radius:0 0 10px 10px;height:18px;min-height:18px;margin-top:-12px}.progress-timeline-scroll-row .progress-task-info,.progress-timeline-scroll-row .progress-task-detail,.progress-timeline-scroll-row .progress-task-gantt{background:#fff}.progress-timeline-scroll-row .progress-task-gantt{padding-top:0;padding-bottom:0}.progress-timeline-scrollbar{scrollbar-color:#94a3b8 #eef2f7;scrollbar-width:thin;flex:1 1 0;min-width:0;height:16px;overflow:auto hidden}.progress-timeline-scroll-spacer{width:var(--workbench-gantt-width,297px);height:1px}.progress-axis-state-scroll-spacer{width:64px;min-width:64px}.progress-message{color:#2f6f44;margin:8px 0 13px;padding:4px 12px;font-size:13px;line-height:17px}@media (max-width:960px){.center-tabs{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.center-tab-scroll-zone{grid-area:1/1}.workbench-jump{grid-area:2/1;justify-content:flex-end}.progress-structure-row{grid-template-columns:34% 18% 48%}.progress-board>header{top:161.6px}.workbench-controls{top:98.6px}}@media (max-width:1180px){.workbench-controls{flex-direction:column;align-items:flex-start}.progress-board>header{top:118px}}@media (max-width:960px){.progress-board>header{top:161.6px}}.file-hash{color:#94a3b8;letter-spacing:.02em;margin-top:4px;font-size:10px;font-weight:400;display:block}.table-link,.button-link{color:#2563eb;justify-content:center;align-items:center;margin-right:8px;text-decoration:none;display:inline-flex}.button-link.light{color:#334155;background:#fff;border:1px solid #dbe3ef;border-radius:7px;padding:8px 13px;font-size:13px}.date-cell{color:#334155;width:142px;font:inherit;background:#fff;border:1px solid #d9e1ec;border-radius:6px;padding:6px 8px}.public-doc-toolbar{align-items:center;gap:14px;margin-bottom:16px;display:flex}.public-doc-toolbar>input[type=text],.public-doc-toolbar>input:not([type]){border:1px solid #dfe3e9;border-radius:7px;width:min(360px,52vw);height:36px;padding:0 12px}.public-doc-toolbar label{color:#68717d;align-items:center;gap:6px;font-size:12px;display:inline-flex}.public-doc-groups{gap:16px;display:grid}.public-doc-group{background:#fff;border:1px solid #e1e4e9;border-radius:9px;overflow:hidden}.public-doc-group>header{color:#592870;background:#f7f4f9;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.public-doc-group>header span{color:#8f779a;font-size:11px}.public-doc-category{border-top:1px solid #eceef2;padding:11px 15px}.public-doc-category-head{color:#59616d;justify-content:space-between;align-items:center;font-size:12px;display:flex}.public-doc-category-head button{color:#6d268f;cursor:pointer;background:0 0;border:0}.public-doc-category>p{color:#a0a6af;margin:8px 0 2px;font-size:11px}.public-doc-files{gap:6px;margin-top:8px;display:grid;overflow-x:auto}.public-doc-files>.public-doc-file-row{color:#69727f;background:#fafbfc;border-radius:6px;grid-template-columns:22px minmax(220px,1fr) 78px 104px 58px 76px 48px 32px;align-items:center;gap:8px;min-width:760px;padding:8px 9px;font-size:11px;display:grid;position:relative}.public-doc-file-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden;color:#4f5661!important}.public-doc-version,.public-doc-date{color:#8a929d;text-align:center}.public-doc-status{border-radius:999px;justify-self:center;padding:2px 7px;font-size:10px}.public-doc-status.active{color:#268459;background:#e9f7ef}.public-doc-status.history{color:#858c96;background:#f0f1f3}.public-doc-files a,.public-doc-files button{color:#6d268f;cursor:pointer;background:0 0;border:0;text-decoration:none}.public-doc-files button:disabled{cursor:default;opacity:.55}.public-doc-activate,.public-doc-download{white-space:nowrap;justify-self:center}.public-doc-more{justify-self:end;position:relative}.public-doc-more>button{color:#757d88;border-radius:5px;width:28px;height:28px;font-size:18px;line-height:20px}.public-doc-more>button:hover{background:#eee8f2}.public-doc-more-menu{z-index:5;background:#fff;border:1px solid #e2e5ea;border-radius:7px;min-width:80px;padding:5px;position:absolute;top:29px;right:0;box-shadow:0 8px 22px #32203c24}.public-doc-more-menu button{color:#b33a4e;text-align:left;border-radius:5px;width:100%;padding:6px 10px}.pub-modal-overlay{z-index:1000;background:#1d14226b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pub-modal-box{background:#fff;border-radius:12px;width:min(620px,100vw - 32px);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 64px #1e12263d}.pub-modal-head{border-bottom:1px solid #eceef2;justify-content:space-between;align-items:flex-start;padding:20px 22px 14px;display:flex}.pub-modal-title{color:#3e3444;margin:0;font-size:17px}.pub-modal-head p{color:#9399a3;margin:5px 0 0;font-size:12px}.pub-modal-head>button{color:#7f8791;cursor:pointer;background:0 0;border:0;border-radius:6px;width:30px;height:30px}.pub-policy-card{background:#faf7fc;border:1px solid #eadff0;border-radius:8px;gap:4px;margin:16px 22px;padding:11px 13px;display:grid}.pub-policy-card strong{color:#66327c;font-size:12px}.pub-policy-card span{color:#858c96;font-size:11px}.pub-upload-field{color:#5e6671;gap:7px;margin:14px 22px;font-size:12px;display:grid}.pub-upload-field>span b{color:#be4053}.pub-upload-field input{color:#47505c;height:38px;font:inherit;border:1px solid #dfe3e9;border-radius:7px;padding:0 11px}.pub-upload-field small{color:#9aa1aa;line-height:1.5}.pub-file-picker{color:#6c3185;text-align:left;cursor:pointer;background:#fbf8fc;border:1px dashed #c9b4d4;border-radius:8px;align-items:center;gap:12px;min-height:76px;padding:12px 16px;display:flex}.pub-file-picker>b{font-size:24px;font-weight:400}.pub-file-picker>span{gap:4px;min-width:0;display:grid}.pub-file-picker strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pub-file-picker small{color:#969da6}.pub-upload-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0 22px;display:grid}.pub-upload-grid .pub-upload-field{margin:0}.pub-upload-preview{color:#8b929c;background:#f7f8fa;border-radius:7px;margin:16px 22px 0;padding:10px 12px;font-size:11px}.pub-upload-preview strong{color:#5b3970}.pub-modal-actions{border-top:1px solid #eceef2;justify-content:flex-end;gap:10px;margin-top:18px;padding:14px 22px 20px;display:flex}.pub-modal-actions button{min-width:76px}.center-doc-layout{grid-template-columns:232px minmax(0,1fr);gap:0;min-width:0;display:grid}.module-panel:has(>.center-doc-layout){padding:0;overflow:hidden}.module-panel:has(>.center-doc-layout)>.module-head{display:none}.center-doc-layout>aside{background:#fff;border:0;border-right:1px solid #e1e5eb;border-radius:0;align-self:stretch;max-height:calc(100vh - 79px);overflow-y:auto}.center-doc-layout>aside>strong{z-index:2;color:#64748b;background:#fff;border-bottom:1px solid #e3e7ee;height:39px;padding:11px 14px;font-size:12px;display:block;position:sticky;top:0}.center-doc-layout>aside button{color:#64748b;text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:32px minmax(0,1fr);align-items:center;width:100%;height:37px;padding:8px 14px;font-size:12px;display:grid}.center-doc-layout>aside button.active{color:#3f51b5;background:#eef;border-radius:9px;width:calc(100% - 14px);height:37px;margin:4px 7px;padding-left:7px;padding-right:7px}.center-doc-layout>aside button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.center-doc-kicker{color:#969da7;font-size:11px}.center-doc-content{min-width:0;padding:61px 12px 18px;position:relative}.center-doc-content>.center-doc-kicker{position:absolute;top:17px;left:16px}.center-doc-content>h3{color:#334155;margin:0;font-size:15px;line-height:24px;position:absolute;top:13px;left:72px}.center-doc-content>.public-doc-toolbar{margin:0;position:absolute;top:10px;right:14px}.center-doc-content:before{content:"";background:#e5e7eb;height:1px;position:absolute;top:47px;left:0;right:0}.center-doc-content .public-doc-groups{gap:12px}.center-doc-content .public-doc-group{border-color:#e1e5ef;border-radius:9px}.center-doc-content .public-doc-group>header{color:#3f51b5;background:#dedeff;height:38px;padding:10px 15px;font-size:13px}.center-doc-content .public-doc-group>header span{color:#747da7;font-size:11px}.center-doc-content .public-doc-category{min-height:73px;padding:0}.center-doc-content .public-doc-category-head{grid-template-columns:190px auto;justify-content:start;height:37px;padding:0 15px;display:grid}.center-doc-content .public-doc-category-head button{color:#59616d;background:#f7f7f8;border:1px solid #e1e4e9;border-radius:4px;justify-self:start;padding:3px 9px}.center-doc-content .public-doc-category>p{border-top:1px solid #eef0f4;align-items:center;height:36px;margin:0;padding:0 35px;display:flex}@media (max-width:960px){.center-doc-layout{grid-template-columns:1fr}.center-doc-layout>aside{border-bottom:1px solid #e1e5eb;border-right:0;height:215px;max-height:215px}.center-doc-content{padding-top:60px}.pub-upload-grid{grid-template-columns:1fr}}.registration-form{background:#f8fafc;border:1px solid #e4e9f0;border-radius:10px;grid-template-columns:1.25fr 1fr auto;align-items:end;gap:12px;margin:0 0 18px;padding:16px;display:grid}.registration-form label{color:#64748b;gap:6px;font-size:12px;display:grid}.registration-form input,.registration-form select,.registration-form textarea{color:#334155;background:#fff;border:1px solid #d9e1ec;border-radius:6px;min-width:0;height:36px;padding:0 9px}.registration-form textarea{resize:vertical;height:76px;padding:8px 9px}.registration-section{background:#fff;border:1px solid #dce4ee;border-radius:8px;grid-column:1/-1;margin:0;padding:12px}.registration-section legend{color:#42546d;padding:0 7px;font-weight:700}.registration-section>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.registration-section .wide-field{grid-column:span 2}.registration-section em{color:#d84a4a;font-style:normal}.form-config-summary{background:#f8fafc;border:1px solid #dfe6ef;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px;padding:12px;display:grid}.form-config-summary label{color:#5f6e80;gap:5px;font-size:12px;display:grid}.form-config-summary select{background:#fff;border:1px solid #d9e1ec;border-radius:6px;height:34px;padding:0 8px}.form-config-summary .switch-label{align-items:center;gap:7px;display:flex}.form-config-section{border:1px solid #e0e6ee;border-radius:9px;margin:0 0 15px;overflow:hidden}.form-config-section .section-head{background:#f7f9fc;justify-content:space-between;align-items:center;padding:10px 13px;display:flex}.form-config-section .section-head h3{color:#43526a;margin:0;font-size:14px}.form-config-section .section-head small{color:#8994a5}.form-config-section td input:not([type=checkbox]),.form-config-section td select{border:1px solid #d9e1ec;border-radius:5px;width:100%;min-width:120px;height:32px;padding:0 7px}.field-key{color:#94a3b8;margin-top:3px;font-family:Consolas,monospace;display:block}.muted-row{opacity:.55;background:#f8fafc}@media (max-width:1180px){.registration-form,.registration-section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal.wide-editor{width:min(980px,100vw - 48px);max-height:calc(100vh - 48px);overflow:auto}.editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.wide-editor label{gap:6px;display:grid}.target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.target-grid label{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:12px;padding:8px 0;display:grid}.document-config-list{gap:14px;display:grid}.document-config-list section{background:#fff;border:1px solid #e3e8ef;border-radius:9px;overflow:hidden}.document-config-list h3{color:#475569;background:#f7f8fa;border-bottom:1px solid #e8edf3;margin:0;padding:11px 14px;font-size:13px}.document-config-row{border-bottom:1px solid #edf1f5;grid-template-columns:34px minmax(220px,1fr) 180px 90px 90px;align-items:center;gap:10px;padding:10px 14px;display:grid}.document-config-row:last-child{border-bottom:0}.document-config-row input[type=text],.document-config-row>input,.document-config-row select{border:1px solid #d9e1ec;border-radius:6px;height:34px;padding:0 9px}.drag-handle{color:#94a3b8;cursor:grab}.paste-modal{width:min(960px,100vw - 40px)}.paste-area{resize:vertical;width:100%;min-height:220px;font-family:Consolas,Microsoft YaHei,monospace;line-height:1.65}.import-errors{color:#b42318;background:#fff7f7;border:1px solid #fecaca;border-radius:7px;max-height:120px;margin-top:10px;padding:8px 12px;overflow:auto}.import-errors p{margin:3px 0}.import-preview{background:#f8fafc;border:1px solid #d8e2ef;border-radius:8px;max-height:300px;margin-top:12px;padding:10px;overflow:auto}.import-preview>b{margin-bottom:8px;display:block}.empty-cell{text-align:center;color:#94a3b8;padding:30px!important}.followup-config-block{background:#fff;border:1px solid #e3e8ef;border-radius:9px;margin-bottom:18px;padding:16px}.followup-config-block .section-head{margin-bottom:14px}.followup-config-block .section-head h3{margin:0 0 4px}.followup-config-block .section-head p{color:#7b8798;margin:0;font-size:13px}.day0-rules{gap:10px;display:grid}.day0-rule{grid-template-columns:90px 170px minmax(220px,1fr) 160px;align-items:end;gap:10px;display:grid}.day0-rule>b{color:#526174;align-self:center}.day0-rule>label{grid-template-columns:auto 80px;align-items:center;gap:8px;display:grid}.day0-rule input,.day0-rule select,.followup-config-block td input{border:1px solid #d9e1ec;border-radius:6px;height:34px;padding:0 8px}.followup-config-block td input{width:100%}.followup-config-block td .number-cell{text-align:center;width:84px}.followup-paste{background:#f8fafc;border-radius:8px;gap:8px;margin-bottom:12px;padding:12px;display:grid}.followup-paste textarea{resize:vertical;min-height:110px}.followup-paste button{justify-self:start}.wetlab-layout,.flash-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.radio-cards{flex-wrap:wrap;gap:8px;margin:10px 0 18px;display:flex}.radio-cards label{cursor:pointer;border:1px solid #dce3ed;border-radius:7px;padding:8px 12px}.radio-cards label.selected{color:#2459a9;background:#eff6ff;border-color:#3b82f6}.radio-cards input{margin-right:6px}.wetlab-batch{resize:vertical;width:100%;min-height:180px}.followup-config-block>label{color:#566579;gap:5px;margin:10px 0;font-size:13px;display:grid}.followup-config-block>label input,.followup-config-block>label textarea{width:100%}.followup-config-block>label textarea{resize:vertical;min-height:180px}.flash-layout{margin-top:14px}.flash-vars{color:#738095;flex-wrap:wrap;gap:6px;margin:10px 0;font-size:12px;display:flex}.flash-vars code{color:#526174;background:#edf2f7;border-radius:4px;padding:3px 6px}.flash-preview pre{white-space:pre-wrap;word-break:break-word;background:#fbfcfe;border:1px solid #e4e9f0;border-radius:8px;min-height:430px;margin:0;padding:16px;font:14px/1.8 Microsoft YaHei,sans-serif}.compact-data{white-space:nowrap;font-size:12px}.dual-data-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.distribution-list{gap:12px;display:grid}.distribution-list>div{grid-template-columns:12px 100px minmax(0,1fr);align-items:center;gap:9px;display:grid}.distribution-dot{background:#4d648d;border-radius:50%;width:9px;height:9px}.distribution-dot.d1{background:#3b82f6}.distribution-dot.d2{background:#8b5cf6}.distribution-dot.d3{background:#14b8a6}.distribution-dot.d4{background:#f59e0b}.distribution-list>div>div{background:#edf1f6;border-radius:5px;height:24px;position:relative;overflow:hidden}.distribution-list i{background:linear-gradient(90deg,#6680ae,#8ea4c9);height:100%;display:block}.distribution-list div span:last-child{color:#334155;justify-content:flex-end;align-items:center;font-size:12px;display:flex;position:absolute;inset:0 8px}.risk-editor .span-2{grid-column:span 2}.risk-editor textarea{resize:vertical;min-height:88px}.audit-filters{grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;margin-bottom:14px;display:grid}.audit-filters input,.audit-filters select{border:1px solid #d9e1ec;border-radius:6px;height:36px;padding:0 8px}.audit-detail{max-height:500px;overflow:auto}.audit-detail>div{border-bottom:1px solid #edf1f5;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.audit-detail dt{color:#64748b}.audit-detail dd{word-break:break-word;margin:0}.rule-settings-grid{background:#f8fafc;border:1px solid #e3e8ef;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:14px;display:grid}.rule-settings-grid label{color:#59687a;gap:5px;font-size:12px;display:grid}.rule-settings-grid input{border:1px solid #d9e1ec;border-radius:6px;height:34px;padding:0 8px}.rule-preview{margin-top:18px}.rule-preview h3{padding:0 4px}.mail-settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:16px;display:grid}.inline-input{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.mini-bars{gap:10px;padding:10px 0;display:grid}.mini-bars>div{grid-template-columns:58px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.mini-bars>div>span{background:#e9eef5;border-radius:999px;height:12px;overflow:hidden}.mini-bars i{border-radius:inherit;background:linear-gradient(90deg,#526fa4,#7d96c2);height:100%;display:block}.mini-bars strong{text-align:right;color:#334155}.metric-gantt{grid-template-columns:310px repeat(9,minmax(52px,1fr))}.metric-gantt .bar{text-align:center;width:auto;min-width:0;margin:0 3px;position:static}.metric-gantt>strong{text-align:center;color:#365a91;align-self:center}.big-number{color:#294f86;text-align:center;padding:28px 0 6px;font-size:42px;font-weight:700}.big-number small{color:#6b7b90;font-size:15px}.overview-dashboard{gap:16px;display:grid}.mvr-workbook{border:1px solid #dce4ee;border-radius:9px;margin-top:16px;overflow:hidden}.mvr-tabs{background:#f6f8fb;border-bottom:1px solid #dce4ee;gap:2px;padding:8px;display:flex;overflow-x:auto}.mvr-tabs button{color:#5c697a;background:0 0;border:0;border-radius:6px;flex:none;padding:7px 11px}.mvr-tabs button.active{color:#fff;background:#315b91}.mvr-section-body{max-height:46vh;padding:14px;overflow:auto}.mvr-grid{margin-bottom:0}.mvr-grid .span-2{grid-column:span 2}.mvr-grid textarea{resize:vertical;min-height:88px}.mvr-choice{border:1px solid #e0e7f0;border-radius:7px;align-items:center;gap:18px;margin:0 0 14px;padding:10px 12px;display:flex}.mvr-choice legend{color:#46566b;padding:0 6px;font-weight:600}.mvr-choice label{align-items:center;gap:5px;display:flex}.mvr-checklist{gap:8px;display:grid}.mvr-checklist>div{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(240px,1fr) 120px minmax(260px,1.2fr);align-items:center;gap:8px;padding:8px;display:grid}.mvr-checklist input,.mvr-checklist select,.mvr-table input{border:1px solid #d9e1ec;border-radius:6px;width:100%;height:34px;padding:0 8px}.mvr-table+.mvr-table{margin-top:18px}.mvr-table h4{margin:0}.mvr-table td{min-width:126px}.wide-editor{width:min(1180px,100vw - 40px);max-height:94vh;overflow:auto}.backup-summary{grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:4px 0 18px;display:grid}.backup-summary>div{background:#f8fafc;border:1px solid #e3e9f2;border-radius:8px;gap:6px;min-height:72px;padding:12px 14px;display:grid}.backup-summary span{color:#7a8798;font-size:12px}.backup-summary b{color:#243247;font-size:15px}.backup-summary b.green{color:#18a058}.issue-filters,.issue-toolbar .inline-actions{flex-wrap:wrap;gap:8px;display:flex}.issue-table{min-width:1780px}.issue-table th,.issue-table td{vertical-align:top}.issue-table .wide-cell{white-space:pre-wrap;min-width:210px}.table-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.issue-overdue{background:#fff7f6}.issue-badge{color:#526174;white-space:nowrap;background:#eef2f7;border-radius:999px;padding:2px 7px;font-size:12px;display:inline-block}.issue-badge.priority-urgent,.issue-badge.overdue{color:#b91c1c;background:#fee2e2}.issue-badge.priority-high{color:#c2410c;background:#ffedd5}.issue-badge.priority-medium,.issue-badge.status-in_progress{color:#a16207;background:#fef3c7}.issue-badge.priority-low{color:#0369a1;background:#e0f2fe}.issue-badge.status-resolved{color:#15803d;background:#dcfce7}.issue-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.issue-editor-grid .span-two{grid-column:span 2}.notification-tabs{border-bottom:1px solid #e3e9f2;gap:6px;margin-bottom:16px;display:flex}.notification-tabs button{color:#68778b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 16px}.notification-tabs button.active{color:#1f6feb;border-bottom-color:#1f6feb;font-weight:600}.notification-template-layout{grid-template-columns:210px minmax(0,1fr);gap:18px;display:grid}.notification-scene-list{align-content:start;gap:8px;display:grid}.notification-scene-list button{color:#46566b;text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e7f0;border-radius:7px;padding:11px 13px}.notification-scene-list button.active{color:#1559b7;background:#eff6ff;border-color:#84adf6;font-weight:600}.notification-editor{background:#fbfcfe;border:1px solid #e0e7f0;border-radius:8px;gap:14px;padding:18px;display:grid}.notification-editor>label:not(.setting-line){color:#46566b;gap:6px;font-size:13px;font-weight:600;display:grid}.notification-editor input[type=text],.notification-editor input:not([type]),.notification-editor textarea,.notification-sites input,.notification-sites select{color:#243247;background:#fff;border:1px solid #d8e0eb;border-radius:6px;width:100%;padding:8px 10px}.notification-editor textarea{resize:vertical;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.notification-channels{gap:24px;display:flex}.notification-channels label{align-items:center;gap:7px;display:flex}.template-vars{color:#5b6c82;overflow-wrap:anywhere;background:#eef4fb;border-radius:6px;margin:0;padding:10px 12px;font-size:12px}.notification-sites{min-width:1480px}.notification-sites td:nth-child(2){min-width:420px}.dashboard-config-toolbar{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.dashboard-theme-colorblindSafe .hero-icon{color:#00598b;background:#e8f1f6}.dashboard-theme-colorblindSafe .metric strong,.dashboard-theme-colorblindSafe .metric button{color:#00598b}.dashboard-theme-colorblindSafe .mini-bars i{background:#0072b2}.dashboard-config-backdrop{justify-content:flex-end}.dashboard-config-drawer{border-radius:0;width:min(780px,100vw - 28px);height:100vh;max-height:100vh;margin:0;overflow:auto}.dashboard-config-body{gap:14px;display:grid}.dashboard-config-body>section{background:#fbfcfe;border:1px solid #e0e7f0;border-radius:8px;padding:15px}.dashboard-config-body h4{color:#334155;margin:0 0 12px}.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.theme-picker button{cursor:pointer;background:#fff;border:1px solid #dde5ef;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.theme-picker button.active{border-color:#6f42a1;box-shadow:0 0 0 2px #6f42a11f}.theme-swatches{border-radius:5px;width:96px;height:18px}.theme-swatches.sunbird{background:linear-gradient(90deg,#581e8f 20%,#f66100 20% 40%,#9b6dc4 40% 60%,#fbb072 60% 80%,#6b5b8e 80%)}.theme-swatches.kingfisher{background:linear-gradient(90deg,#00598b 20%,#0072b2 20% 40%,#e69f00 40% 60%,#009e73 60% 80%,#d55e00 80%)}.dashboard-module-list{gap:7px;display:grid}.dashboard-module-list>div,.config-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-module-list>div{background:#fff;border:1px solid #e5eaf1;border-radius:6px;padding:9px 11px}.dashboard-module-list span{gap:4px;display:flex}.dashboard-module-list button{background:#fff;border:1px solid #d9e1eb;border-radius:5px;width:30px;height:28px}.config-checks{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.config-checks label{align-items:center;gap:6px;display:flex}.config-checks input[type=number]{border:1px solid #d8e0eb;border-radius:5px;width:70px;padding:5px 7px}.config-label{color:#64748b;margin:14px 0 8px;font-size:12px}.distribution-config-row{grid-template-columns:1.2fr 1fr 90px auto auto;align-items:center;gap:8px;margin-top:9px;display:grid}.distribution-config-row input:not([type=checkbox]),.distribution-config-row select{background:#fff;border:1px solid #d8e0eb;border-radius:6px;width:100%;min-width:0;padding:7px 8px}.dashboard-config-actions{background:#fff;padding:14px 0 2px;position:sticky;bottom:0}.dashboard-distributions small{color:#8a95a5}.center-detail-backdrop{justify-content:flex-end}.center-detail-drawer{border-radius:0;width:min(1040px,100vw - 28px);height:100vh;max-height:100vh;margin:0;overflow:auto}.center-detail-tabs{z-index:2;background:#fff;position:sticky;top:0}.center-detail-body{gap:14px;display:grid}.center-detail-drawer .modal-heading h3{align-items:center;gap:10px;display:flex}.center-detail-drawer>.source-note{margin:0 24px 12px}.center-close-control{color:#445066;border:1px solid #e6ebf2;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:0 24px 14px;padding:10px 12px;display:flex}.center-close-control select{min-width:150px}.source-detail-section{border:1px solid #e7ebf1;border-radius:8px;margin-bottom:14px;overflow:hidden}.source-detail-section>h4,.source-detail-section>.config-section-head{background:#f7f9fc;border-bottom:1px solid #e7ebf1;margin:0;padding:12px 14px}.source-section-toggle{color:#334155;text-align:left;background:#f7f9fc;border:0;border-radius:0;width:100%;margin:0;padding:12px 14px;font-weight:700}.source-section-toggle:before{content:"▾";color:#64748b;width:16px;margin-right:4px;display:inline-block}.source-section-toggle[aria-expanded=false]:before{content:"▸"}.source-detail-section>.source-section-toggle{border-bottom:1px solid #e7ebf1}.config-section-head>.source-section-toggle{background:0 0;flex:1;width:auto;padding:0}.center-file-groups{gap:12px;margin-top:14px;display:grid}.center-file-group{overflow:hidden;background:#fff!important;border:1px solid #e5eaf1!important;border-radius:8px!important;padding:0!important}.center-file-group-head{color:#334155;background:#f7f9fc;border-bottom:1px solid #e8edf3;justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.center-file-group-head span{color:#64748b;font-size:13px}.center-file-category>strong{color:#475569;padding:11px 14px 5px;font-size:13px;display:block}.center-file-entry{grid-template-columns:22px minmax(220px,1fr) 110px 70px;align-items:center;gap:10px;padding:8px 14px 12px;display:grid}.center-file-entry a{color:#1769aa;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.center-file-entry>span:not(.status){color:#64748b;font-size:13px}.source-timeline-item{border-bottom:1px solid #eef1f5;grid-template-columns:105px minmax(130px,1fr) auto auto;align-items:center;gap:12px;min-height:54px;padding:8px 14px;display:grid}.source-timeline-item:last-child{border-bottom:0}.source-timeline-item strong{color:#38445b;font-size:14px}.source-profile-card,.source-doa-card{border:1px solid #e7ebf1;border-radius:8px;margin-bottom:14px;padding:16px}.source-profile-grid{grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px;margin:12px 0 20px;display:grid}.source-profile-grid span{color:#7a8496;flex-direction:column;gap:4px;display:flex}.source-profile-grid strong{color:#263247}.source-doa-card{grid-template-columns:1fr auto;align-items:center;gap:8px 16px;display:grid}.source-doa-card h4{grid-column:1/-1;margin:0}.source-ledger-total{text-align:right;padding-right:8px;font-weight:700}.project-switcher{position:relative}.project-switcher>button{color:#3c4658;align-items:center;gap:7px;font-weight:700;display:inline-flex}.top-actions>button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.hdr-study-icon,.hdr-btn-icon,.hdr-icon-svg{flex:none;width:18px;height:18px}.hdr-study-icon{width:17px;height:17px}.breadcrumb{color:#333;align-items:center;font-size:13px;display:flex}.source-flash-report-hint{color:#64748b;margin-right:auto;font-size:12px}.project-switch-menu{z-index:50;background:#fff;border:1px solid #e2e6ec;border-radius:8px;width:230px;padding:6px;position:absolute;top:42px;right:0;box-shadow:0 12px 28px #27304324}.project-switch-menu button{text-align:left;border-radius:6px;width:100%;padding:0 10px;display:block}.project-switch-menu button:hover,.project-switch-menu button[aria-selected=true]{color:#64327e;background:#f3eff8}.top-actions .user-role-label{color:#535d6d;font-size:13px}.breadcrumb small{opacity:0;width:0;height:0;font-size:0;display:inline;overflow:hidden}.timeline .dot.done:after{content:"✓"}.portfolio-panel .refresh:before{content:"⟳ "}.motion-overview{gap:18px;display:grid}.motion-kpis{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;display:grid}.motion-kpis article{background:#fff;border:1px solid #ece7ef;border-radius:10px;min-width:0;height:121.797px;padding:16px 19px;box-shadow:0 3px 12px #23192a0f}.motion-kpis h3{color:#65606a;min-height:32px;margin:0 0 4px;font-size:12px;font-weight:500;line-height:16px}.motion-kpis strong{color:#3945b7;font-size:29px;line-height:1}.motion-kpis span{color:#8b8490;margin:7px 0 0;font-size:11px;display:block}.motion-kpis article.dark{background:linear-gradient(135deg,#4351bc,#6969ef);border-color:#5262dd}.motion-kpis article.dark h3,.motion-kpis article.dark strong,.motion-kpis article.dark span{color:#fff}.motion-kpis article.danger{background:snow;border-color:#f0d1d1}.motion-kpis article.danger strong,.motion-kpis article.danger span{color:#c82d2d}.motion-heatmap{background:#fff;border:1px solid #ece7ef;border-radius:10px;height:576px;padding:14px;overflow:hidden;box-shadow:0 3px 12px #23192a0f}.motion-heatmap h3{color:#3d3741;height:20px;margin:0 0 14px;font-size:16px;line-height:20px}.motion-heatmap-scroll{width:100%;height:512px;overflow:auto hidden}.motion-heatmap-chart{min-width:1240px;height:512px;padding:18px 70px 60px 250px;position:relative}.motion-heatmap-y-axis{grid-template-rows:repeat(14,24px);gap:5px;width:242px;display:grid;position:absolute;top:18px;left:0}.motion-heatmap-y-axis span{color:#5d6470;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:24px;overflow:hidden}.motion-heatmap-cells{grid-template-rows:repeat(14,24px);grid-template-columns:repeat(21,minmax(38px,1fr));gap:5px 4px;display:grid}.motion-heatmap-cells i{color:#6b4d48;background:#fafafa;border-radius:8px;place-items:center;min-width:0;font-size:10px;font-style:normal;display:grid}.motion-heatmap-cells i.has-value{color:#65413b}.motion-heatmap-x-axis{grid-template-columns:repeat(21,minmax(38px,1fr));gap:4px;margin-top:10px;display:grid}.motion-heatmap-x-axis span{color:#6b7280;transform-origin:top;white-space:nowrap;height:48px;font-size:10px;line-height:12px;transform:rotate(-28deg)}.motion-heatmap-legend{color:#525866;justify-items:center;gap:5px;font-size:10px;display:grid;position:absolute;top:19px;right:13px}.motion-heatmap-legend i{background:linear-gradient(#ff4a2a,#ffd9d0 58%,#fff);border-radius:11px;width:22px;height:145px}.motion-distributions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:-2px;padding-bottom:16px;display:grid}.motion-distribution-card{background:#fff;border:1px solid #ece7ef;border-radius:10px;height:380px;padding:14px;overflow:hidden;box-shadow:0 3px 12px #23192a0f}.motion-distribution-card>h3{color:#3d3741;height:20px;margin:0 0 14px;font-size:16px;line-height:20px}.motion-pie{height:220px;position:relative}.motion-pie svg{width:100%;height:220px;display:block;overflow:visible}.motion-pie circle{fill:none;stroke-width:28px}.motion-pie-rings{transform-origin:387.25px 106px;transform:rotate(-90deg)}.motion-pie-track{stroke:#f1f3f6}.motion-pie-segment{transition:stroke-dasharray .18s}.motion-pie-title{fill:#444;font-size:14px;font-weight:600}.motion-pie-label text,.motion-pie-svg-legend text{fill:#4b5563;font-size:11px;font-weight:400}.motion-pie-label polyline{fill:none;stroke-width:1px}.motion-distribution-card>table{border-collapse:collapse;color:#4b5563;width:100%;height:96px;font-size:11px}.motion-distribution-card th,.motion-distribution-card td{text-align:left;border:1px solid #e5e7eb;height:32px;padding:7px 10px}.motion-distribution-card th{color:#3f52b4;background:#dfe2ff;font-weight:600}.motion-center-card{color:#333;background:#fff;border:1px solid #e4e8f0;border-radius:12px;padding:18px;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:14px;line-height:normal;overflow:hidden;box-shadow:0 3px 14px #2327340f}.motion-center-table-wrap{width:100%;overflow:auto}.motion-center-table-bar{color:#64748b;align-items:center;gap:14px;min-height:33.5px;margin-bottom:8px;font-size:12px;line-height:normal;display:flex}.motion-center-table-bar label{white-space:nowrap;flex:none;align-items:center;gap:4px;margin:0;display:inline-flex}.motion-center-table-bar select{color:#334155;background:#fff;border:1px solid #dbe3f3;border-radius:7px;min-width:56px;padding:3px 6px;font-size:12px}.motion-center-table-bar>span{white-space:nowrap;flex:1 1 0}.motion-center-table-bar nav{flex:none;align-items:center;gap:3px;display:inline-flex}.motion-center-table-bar nav button{color:#64748b;background:0 0;border:1px solid #0000;border-radius:6px;min-width:28px;padding:4px 8px;font-size:12px}.motion-center-table-bar nav button.current{color:#4338ca;background:#eef2ff;border-color:#c7d2fe;font-weight:600}.motion-center-table{border-collapse:collapse;color:#334155;width:100%;min-width:1219px;font-size:12px}.motion-center-table th,.motion-center-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef2f7}.motion-center-table tbody td{padding:8px 10px;font-size:13px;line-height:18px}.motion-center-table thead th{color:#4f46e5;cursor:pointer;background:#f6f7ff;padding:10px 26px 10px 10px;font-weight:700;line-height:17px;position:relative}.motion-center-table thead th.sorting:after{content:"↕";color:#a5b4fc;font-size:9px;position:absolute;right:6px}.motion-center-table thead th.active:after{content:"↑";color:#4f46e5}.motion-center-table thead th[aria-sort=descending]:after{content:"↓"}.motion-center-table tbody tr:nth-child(2n){background:#fbfcff}.motion-center-table tfoot th{color:#334155;background:#f1f5f9;border-top:2px solid #c7d2fe;padding:10px 10px 6px;font-weight:700}.issue-table .wide-cell{white-space:pre-line}@media (max-width:980px){.motion-kpis,.motion-distributions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.motion-kpis,.motion-distributions{grid-template-columns:1fr}.source-timeline-item{grid-template-columns:1fr auto}.source-profile-grid{grid-template-columns:1fr 1fr}}.center-detail-body>section{background:#fbfcfe;border:1px solid #e1e7ef;border-radius:8px;padding:16px}.center-detail-body h4{color:#334155;margin:0 0 14px}.center-detail-body textarea{resize:vertical;border:1px solid #d8e0eb;border-radius:6px;width:100%;padding:9px 10px}.center-ledger-row{grid-template-columns:110px minmax(180px,1fr) 150px 110px auto auto;align-items:center;gap:8px;margin:8px 0;display:grid}.center-ledger-row.payment-row{grid-template-columns:minmax(180px,1.5fr) 130px 150px 90px auto}.center-ledger-row input,.center-ledger-row select{background:#fff;border:1px solid #d8e0eb;border-radius:6px;width:100%;min-width:0;padding:7px 8px}.center-detail-actions{background:#fff;padding:14px 0 2px;position:sticky;bottom:0}.progress-import-modal{width:min(1180px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}.progress-import-modal .modal-head p{color:#718096;margin:5px 0 0;font-size:13px}.import-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;display:grid}.import-steps span{color:#87909c;background:#f5f7fa;border-radius:7px;align-items:center;gap:8px;padding:9px 12px;display:flex}.import-steps span b{color:#fff;background:#dce1e7;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.import-steps span.active,.import-steps span.done{color:#603477;background:#f3edf7}.import-steps span.active b,.import-steps span.done b{background:#784493}.import-info-card{color:#526171;background:#f7fafc;border:1px solid #dce5ef;border-radius:7px;padding:12px 14px;line-height:1.7}.progress-import-textarea{white-space:pre;width:100%;min-height:240px;margin-top:12px;font:13px/1.55 Consolas,Microsoft YaHei,monospace}.progress-import-modal .checkbox-row{flex-direction:row;align-items:center;margin-top:10px}.progress-import-modal .checkbox-row input{margin:0}.import-summary-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.import-summary-row span{color:#596675;background:#edf1f5;border-radius:999px;padding:6px 10px}.import-summary-row span.ok{color:#18794e;background:#e8f7ef}.import-summary-row span.warn{color:#a15c00;background:#fff3df}.import-preview-wrap{max-height:420px}.import-row-warning td{background:#fff8ec}.import-result-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0;display:grid}.import-result-grid>div{background:#fafbfc;border:1px solid #e1e6ed;border-radius:9px;flex-direction:column;align-items:center;padding:24px;display:flex}.import-result-grid strong{color:#603477;font-size:30px}.import-result-grid span{color:#6c7785;margin-top:4px}.calendar-timeline-scroll{border:1px solid #e4e7ec;border-radius:8px;width:100%;overflow-x:auto}.calendar-timeline{min-width:980px;transition:width .2s}.calendar-timeline-head,.calendar-timeline-row{grid-template-columns:250px minmax(620px,1fr) 148px;display:grid}.calendar-timeline-head{color:#65707d;background:#f7f8fa;border-bottom:1px solid #e5e8ed;align-items:center;height:42px;font-size:11px}.calendar-timeline-head>b,.calendar-timeline-head>strong{padding:0 12px}.calendar-axis{height:100%;position:relative}.calendar-axis span{white-space:nowrap;position:absolute;bottom:11px;transform:translate(-50%)}.calendar-timeline-row{background:#fff;border-bottom:1px solid #edf0f3;position:relative}.calendar-timeline-row:last-child{border-bottom:0}.calendar-center-cell{z-index:5;background:#fff;border-right:1px solid #e8ebef;flex-direction:column;justify-content:center;gap:5px;padding:9px 12px;display:flex;position:sticky;left:0}.calendar-center-cell b{color:#394655;font-size:12px}.calendar-center-cell small{color:#8a94a0}.calendar-track{background:linear-gradient(90deg,#f8f9fbbf,#fff6);min-height:100%;position:relative;overflow:hidden}.calendar-gridline{background:#edf0f3;width:1px;position:absolute;top:0;bottom:0}.calendar-today{z-index:3;background:#a63c3c;width:1px;position:absolute;top:0;bottom:0}.calendar-today em{color:#a63c3c;white-space:nowrap;font-size:9px;font-style:normal;position:absolute;top:1px;left:3px}.calendar-phase-line{height:18px;position:absolute;left:0;right:0}.calendar-plan-bar,.calendar-actual-bar{border-radius:3px;height:15px;position:absolute;top:2px}.calendar-plan-bar{background:#cbd4dd33;border:1px dashed #9aa7b5}.calendar-actual-bar{z-index:2;color:#fff;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;min-width:16px;padding:1px 5px;font-size:9px;line-height:13px;overflow:hidden}.calendar-actual-bar.done{background:#429367}.calendar-actual-bar.active{background:#447fbd}.calendar-actual-bar.late{background:#d48732}.calendar-actual-bar.overdue{background:#c64d50}.calendar-actual-bar.planned{background:#99a4af}.calendar-rate{color:#56306a;border-left:1px solid #e8ebef;flex-direction:column;justify-content:center;place-items:center;gap:4px;display:flex}.calendar-rate small{color:#7d8794;font-size:10px;font-weight:500}.timeline-scale-note{color:#8a929c;white-space:nowrap;font-size:10px}.calendar-empty{color:#a1a8b1;font-size:11px;position:absolute;top:22px;left:16px}.timeline-range-note{color:#88919c;margin:8px 0 0;font-size:10px}.target-view-toolbar{color:#6f7782;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.target-view-toolbar>div{border:1px solid #dedfe5;border-radius:6px;display:flex;overflow:hidden}.target-view-toolbar button{color:#646d78;cursor:pointer;background:#fff;border:0;border-right:1px solid #e3e5e9;min-height:30px;padding:0 12px}.target-view-toolbar button:last-child{border-right:0}.target-view-toolbar button.active{color:#fff;background:#704087}.target-source-warning{color:#94621e;background:#fff8ea;border:1px solid #f2d29f;border-radius:6px;margin:0 0 10px;padding:9px 12px;font-size:11px}.source-target-chart-card{background:#fff;border:0;border-radius:12px;margin-bottom:16px;padding:12px 16px 10px}.source-target-legend{color:#626b76;justify-content:center;gap:14px;margin-bottom:5px;font-size:10px;display:flex}.source-target-legend span{align-items:center;gap:4px;display:flex}.source-target-legend i{border-radius:1px;width:11px;height:5px}.source-target-chart{grid-template-columns:42px minmax(0,1fr);height:260px;display:grid}.source-target-y-axis{color:#78828e;text-align:right;flex-direction:column;justify-content:space-between;padding:3px 7px 25px 0;font-size:10px;display:flex}.source-target-bars{background:repeating-linear-gradient(#0000 0 calc(25% - 1px),#e8ebef 25%);border-bottom:1px solid #e4e7eb;grid-template-columns:repeat(5,minmax(72px,1fr));gap:20px;padding:3px 16px 0;display:grid}.source-target-bar-group{grid-template-rows:minmax(0,1fr) 24px;min-width:0;display:grid}.source-target-bar-group>div{justify-content:center;align-items:flex-end;gap:2px;min-height:0;display:flex}.source-target-bar-group i{border-radius:4px 4px 0 0;width:min(22px,31%);min-height:1px}.source-target-legend .planned,.source-target-bar-group .planned{background:linear-gradient(#d9d9d9,#bfc1c4)}.source-target-legend .screened,.source-target-bar-group .screened{background:#ee630b}.source-target-legend .enrolled,.source-target-bar-group .enrolled{background:#8a5aa4}.source-target-bar-group>span{color:#505a66;text-align:center;text-overflow:ellipsis;white-space:nowrap;padding-top:7px;font-size:10px;overflow:hidden}.source-target-chart-card>p{color:#85909c;text-align:center;margin:13px 0 0;font-size:10px}.target-dimension-summary{color:#697380;margin:0 0 10px;font-size:12px}.source-target-card{padding:0;overflow:hidden}.source-target-card-head{border-bottom:1px solid #e7e9ed;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.source-target-card-head h3{color:#4c5562;margin:0;font-size:13px}.source-target-card-head span{color:#8a929c;font-size:11px}.source-target-table-wrap{max-width:100%;overflow:auto}.source-target-table{border-collapse:separate;border-spacing:0;color:#515b68;width:100%;min-width:1160px;font-size:11px}.source-target-table th,.source-target-table td{text-align:center;white-space:nowrap;background:#fff;border-bottom:1px solid #eceef1;border-right:1px solid #eceef1;min-width:142px;height:38px;padding:7px 10px}.source-target-table th{z-index:2;color:#59636f;white-space:normal;background:#f7f8fa;font-weight:600;position:sticky;top:0}.source-target-table th:first-child,.source-target-table td:first-child{z-index:1;text-align:left;min-width:185px;position:sticky;left:0}.source-target-table th:first-child{z-index:3}.source-target-table .target-group-row td{color:#57366a;background:#faf8fb;font-weight:600}.target-cell-progress{justify-items:stretch;gap:5px;display:grid}.target-cell-progress>i{background:#e9edf2;border-radius:999px;width:100%;height:4px;display:block;overflow:hidden}.target-cell-progress>i em{border-radius:inherit;background:#84609a;height:100%;display:block}.timeliness-toolbar{color:#7d8793;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:11px;display:flex}.source-block-title{color:#4e5662;margin:0 0 10px;font-size:13px}.source-chart-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.source-chart-heading h3{color:#4e5662;margin:0;font-size:13px}.source-chart-heading span{color:#9299a3;font-size:10px}.timeliness-toolbar>div{border:1px solid #dfe3e8;border-radius:6px;display:flex;overflow:hidden}.timeliness-toolbar button{color:#6c7580;cursor:pointer;background:#fff;border:0;border-right:1px solid #e5e8ec;width:42px;height:28px}.timeliness-toolbar button:last-child{border-right:0}.timeliness-toolbar button.active{color:#fff;background:#704087}.timeliness-cards .metric{min-height:105px}.timeliness-cards .metric small+small{color:#9aa2ac;margin-top:4px}.change-up{color:#16845b!important}.change-down{color:#bd4e4e!important}.timeliness-trend-card,.timeliness-heatmap-card{margin-top:12px}.mini-trend{width:100%;overflow-x:auto}.trend-legend{color:#66717e;justify-content:flex-end;gap:16px;font-size:11px;display:flex}.trend-legend span{align-items:center;gap:5px;display:flex}.trend-legend i{border-radius:50%;width:9px;height:9px}.mini-trend svg{width:100%;min-width:620px;height:230px;display:block}.mini-trend text{fill:#88929e;font-size:10px}.trend-grid{stroke:#edf0f3;stroke-width:1px}.enrollment-heatmap{min-width:760px;overflow-x:auto}.heatmap-header,.heatmap-row{grid-template-columns:170px repeat(12,minmax(42px,1fr));align-items:center;gap:4px;margin:4px 0;display:grid}.heatmap-header{color:#87919d;text-align:center;font-size:9px}.heatmap-header span{text-align:left;font-size:11px}.heatmap-header b{font-weight:500}.heatmap-row span{color:#5f6b78;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.heatmap-row i{color:#442052;border-radius:4px;place-items:center;height:29px;font-size:10px;font-style:normal;display:grid}.personnel-cleanup-modal{width:min(1040px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}.personnel-cleanup-modal .modal-head p{color:#7c8793;margin:5px 0 0;font-size:12px}.personnel-cleanup-section{margin-top:16px}.personnel-cleanup-section h4{color:#4a5562;margin:0 0 8px}.personnel-cleanup-section .data-table-wrap{max-height:240px}.target-import-modal{width:min(1080px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}.target-import-modal .modal-head p{color:#7c8793;margin:5px 0 0;font-size:12px}.target-paste-area{min-height:170px}.target-preview-block{margin-top:14px}@media (max-width:900px){.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day0-rule,.wetlab-layout,.flash-layout,.dual-data-panels,.audit-filters,.rule-settings-grid,.mail-settings-grid,.mvr-checklist>div{grid-template-columns:1fr}.backup-summary,.issue-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-template-layout{grid-template-columns:1fr}.notification-scene-list{grid-template-columns:repeat(3,minmax(0,1fr))}.distribution-config-row,.center-ledger-row,.center-ledger-row.payment-row{grid-template-columns:1fr 1fr}}.source-sample-page,.source-detect-page{gap:0;min-width:0;display:grid}.source-sample-section{background:#fff;border:1px solid #e4e8f0;border-radius:12px;min-width:0;padding:18px;box-shadow:0 3px 14px #2327340f}.source-detect-header{justify-content:space-between;align-items:center;gap:12px;min-height:20px;margin-bottom:10px;display:flex}.source-detect-header h2{color:#333;margin:0;font-size:15px;font-weight:700;line-height:20px}.source-sample-section>h3{color:#343a45;margin:0 0 14px;font-size:16px;font-weight:600}.source-sample-head{justify-content:space-between;align-items:center;min-height:29px;margin-bottom:10px;display:flex}.source-sample-head h3{color:#333;margin:0;font-size:15px;font-weight:700;line-height:20px}.source-sample-actions{gap:8px;display:flex}.source-sample-actions button{height:29px;padding:0 12px;font-size:12px}.source-table-meta{color:#64748b;align-items:center;gap:14px;height:33.5px;margin:0 0 8px;font-size:12px;line-height:normal;display:flex}.source-detect-page .source-table-meta{color:#64748b;gap:14px;height:33.5px;margin-bottom:8px;font-size:12px;line-height:normal}.source-table-meta label{align-items:center;gap:7px;display:flex}.source-table-meta select{color:#545d6a;background:#fff;border:1px solid #dbe3f3;border-radius:7px;width:56px;min-width:56px;height:26px;padding:4px;font-family:Arial,sans-serif;font-size:12px}.source-detect-page .source-table-meta select{border:1px solid #dbe3f3;border-radius:7px;width:56px;min-width:56px;height:26px;padding:4px;font-family:Arial,sans-serif;font-size:12px}.source-pages{white-space:nowrap;width:max-content;margin-left:auto;padding-top:3.5px;display:block}.source-pages button{color:#69717e;cursor:pointer;background:#fff;border:1px solid #e0e3e8;border-radius:4px;min-width:30px;height:30px;padding:6px 12px;display:inline-block}.source-pages button.on{color:#6d268f;background:#f5eff8;border-color:#7d42a0}.source-pages button:disabled{color:#c6cbd3;cursor:not-allowed;background:#fafafa}.source-page-ellipsis{color:#8a929e;justify-content:center;align-items:center;min-width:21px;height:28px;display:inline-flex}.source-snapshot-wrap{border:0;border-radius:4px;min-width:0;max-width:100%}.source-detect-page .source-snapshot-wrap{border:0;border-radius:0}.source-snapshot-table{width:max-content;min-width:100%}.source-snapshot-table th,.source-snapshot-table td{color:#333;text-align:left;padding:8px 10px;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:11px;line-height:16px}.source-snapshot-table th{color:#3f51b5;background:#dedeff;height:37px;padding:10px 26px 10px 10px;font-weight:700;line-height:16px;position:relative}.source-snapshot-table th:before,.source-snapshot-table th:after{color:#c7c9ea;font-size:8px;line-height:8px;position:absolute;right:8px}.source-snapshot-table th:before{content:"▲";top:10px}.source-snapshot-table th:after{content:"▼";bottom:9px}.source-snapshot-table th:first-child:before{color:#8f95d4}.source-snapshot-table td{height:33px}.source-sample-page .source-snapshot-table{border-bottom:1px solid #eef2f7}.source-sample-page .source-snapshot-wrap{border:0;border-radius:0}.source-sample-page .source-sample-section:first-child .source-snapshot-table{border-bottom-width:1.5px;width:925.516px}.source-sample-page .source-sample-section:nth-child(2) .source-snapshot-table{width:1991.23px}.source-sample-page .source-snapshot-table th,.source-sample-page .source-snapshot-table td{color:#333;text-align:left;padding:8px 10px;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:11px;line-height:16px}.source-sample-page .source-snapshot-table th{color:#3f51b5;background:#dedeff;height:37px;padding:10px 26px 10px 10px;font-weight:700}.source-sample-page .source-snapshot-table td{height:33px}.source-detect-page .source-snapshot-table th{color:#3f51b5;text-align:left;background:#dedeff;height:38px;padding:10px 26px 10px 10px;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:12px;font-weight:700;line-height:17px}.source-detect-page .source-snapshot-table td{color:#333;text-align:left;height:35px;padding:8px 10px;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif;font-size:13px;line-height:18px}.source-detect-page .source-snapshot-table{border-bottom:1.5px solid #eef2f7}.source-detect-page .source-sample-section:first-child,.source-detect-page .source-sample-section:nth-child(3){padding-bottom:18.5px}.source-snapshot-table th:first-child,.source-snapshot-table td:first-child{z-index:1;background:#fff;position:sticky;left:0}.source-snapshot-table thead th:first-child{z-index:2;background:#dedeff}.source-detect-page .source-snapshot-table thead th:first-child{background:#dedeff}.sort-caret{color:#8e96a2;margin-left:4px;font-size:8px}.source-snapshot-table td.symbol-ok{color:#1e9a5c;font-weight:700}.source-snapshot-table td.symbol-miss{color:#9aa2ad;font-weight:700}.source-snapshot-table td.symbol-warn{color:#e58b19;font-weight:800}.motion-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.motion-basic-card{background:#fff;border:1px solid #e3e6eb;border-radius:8px;padding:18px}.motion-basic-card h3{color:#343a45;margin:0 0 16px;font-size:16px}.motion-basic-stat{color:#5e6673;border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:15px 4px;display:flex}.motion-basic-stat strong{color:#3f4651;font-size:26px}.mrd-chart-grid,.driver-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.source-chart-card{background:#fafafa;border:1px solid #e6e8ec;border-radius:8px;height:262px;padding:12px;position:relative}.source-chart-card h4{text-align:center;color:#535b68;margin:0;font-size:13px}.chart-unit{color:#7b8390;font-size:10px;position:absolute;top:34px;left:12px}.mrd-bars{background:repeating-linear-gradient(0deg,#0000 0 34px,#e7e9ed 35px);border-bottom:1px solid #aeb4bd;justify-content:space-evenly;align-items:flex-end;height:174px;padding:18px 16px 0 33px;display:flex;position:relative}.mrd-y-axis{color:#7b8390;flex-direction:column;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:18px;bottom:0;left:4px}.mrd-bar-column{color:#626a76;flex-direction:column;align-items:center;width:68px;font-size:11px;display:flex}.mrd-stack{color:#fff;text-align:center;border-radius:1px 1px 0 0;flex-direction:column;width:68px;display:flex;overflow:hidden}.mrd-stack>div{flex-direction:column;justify-content:center;min-height:13px;display:flex}.mrd-stack b{font-size:10px;line-height:11px}.mrd-stack small{font-size:8px;line-height:9px}.mrd-positive{background:#c61f50;order:0}.mrd-negative{background:#506b93;flex:1;order:1}.chart-legend{justify-content:center;gap:14px;padding-top:8px;font-size:10px;display:flex}.chart-legend .negative{color:#506b93}.chart-legend .positive{color:#c61f50}.driver-card{min-height:235px}.driver-donut{border-radius:50%;place-items:center;width:126px;height:126px;margin:18px auto 10px;display:grid}.driver-donut i{background:#fafafa;border-radius:50%;width:64px;height:64px}.driver-legend{color:#59616e;grid-template-columns:repeat(2,1fr);gap:4px 7px;font-size:9px;display:grid}.driver-legend span:first-child{color:#5066cd}.driver-legend span:nth-child(2){color:#1f9ee5}.driver-legend span:nth-child(3){color:#6c7ee2}.driver-legend span:nth-child(4){color:#a7b1ed}.detect-driver-meta{margin-top:14px}.source-followup-section{position:relative}.source-followup-refresh{justify-content:flex-end;display:flex}.source-followup-count{color:#666f7c;margin:8px 0 16px;font-size:13px}.source-followup-section .source-snapshot-table td:last-child{color:#c17a15}@media (max-width:960px){.motion-basic-grid{grid-template-columns:1fr}}@media (max-width:760px){.source-sample-section{padding:12px}.source-sample-head,.source-table-meta{flex-direction:column;align-items:flex-start}.source-pages{flex-wrap:wrap;margin-left:0}}.source-wetlab-label{color:#505866;margin:0 0 9px;font-size:13px;font-weight:600}.source-wetlab-scenes{margin-bottom:18px}.source-wetlab-input{width:100%;min-height:190px}.source-wetlab-buttons{justify-content:flex-start;gap:8px;margin-top:14px}.source-wetlab-preview{margin-top:18px}.source-flash-page{gap:18px;display:grid}.source-flash-card{background:#fff;border:1px solid #e3e6eb;border-radius:8px;padding:18px}.source-flash-title,.source-flash-date-row,.source-flash-editor-head,.source-flash-save{justify-content:space-between;align-items:center;display:flex}.source-flash-title{margin-bottom:14px}.source-flash-title strong{color:#343a45;font-size:16px}.source-flash-date-row{border-top:1px solid #edf0f3;padding:12px 0}.source-flash-date-row label{color:#5c6571;align-items:center;gap:10px;font-size:12px;display:flex}.source-flash-date-row input{border:1px solid #dfe2e8;border-radius:5px;height:34px;padding:0 9px}.source-flash-editor{background:#fafafa;border:1px solid #e7e9ed;border-radius:7px;padding:14px}.source-flash-editor-head b{color:#4d5561;font-size:13px}.source-flash-editor-head span,.source-flash-editor>p{color:#8a929e;font-size:11px}.source-flash-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.source-flash-chips button{color:#6d268f;cursor:pointer;background:#fff;border:1px solid #ddd3e4;border-radius:13px;padding:4px 9px;font-size:11px}.source-flash-editor textarea{resize:vertical;color:#535c68;background:#fff;border:1px solid #dfe2e8;border-radius:6px;width:100%;min-height:180px;padding:11px;line-height:1.55}.source-flash-save{justify-content:flex-end;gap:8px;margin-top:10px}.source-flash-preview{background:#fff;border:1px solid #ebeef1;border-radius:7px;margin-top:12px;padding:14px}.source-flash-preview>p{color:#8a929e;font-size:11px}.source-flash-preview>p span{color:#e07d1a}.source-flash-preview pre{white-space:pre-wrap;color:#4f5865;font-family:inherit;font-size:13px;line-height:1.7}.source-flash-preview>div{justify-content:flex-end;gap:8px;display:flex}.source-empty-placeholder{background:#fff;border:1px solid #e3e6eb;border-radius:8px;place-items:center;min-height:150px;display:grid}.source-empty-placeholder p{color:#7c8490;margin:0;font-size:13px}.target-filter-label{color:#7a828e;margin-left:auto;font-size:12px}.legacy-timeline{display:none!important}.hero-card.source-dashboard-hero{background:radial-gradient(circle at 92% -30%,#581e8f1a,#0000 45%),#fffffff0;border:1px solid #a889b8;border-radius:21px;margin-top:35px;padding:18px;box-shadow:0 10px 26px #3e284c17}.source-dashboard-hero .study-title h2{max-width:none;font-weight:700}.source-top-cards{gap:12px!important}.source-top-cards .source-metric-wrapper>.metric{background:#ffffffcf;border-color:#e9e7ed}.source-top-cards .source-blocker-metric>.metric{background:linear-gradient(145deg,#fff,#fff9f7);border-color:#edd8d3}.source-top-cards .source-blocker-metric strong{color:#b8463d}.source-top-cards .source-blocker-metric button{color:#fff;background:linear-gradient(110deg,#6b2c8d,#a074bd);border-radius:12px;align-self:flex-start;margin-top:15px;padding:7px 12px}.source-top-cards .metric>strong{font-size:36px}.source-forecast-metric.metric>strong{font-size:25px}.source-top-cards .metric>span{align-items:center;display:flex}.record-import-modal{width:min(1000px,90vw);max-height:90vh;overflow:auto}.record-import-modal textarea{border:1px solid #dcdde4;border-radius:8px;width:100%;height:220px;padding:12px;font-family:monospace}.record-import-modal label{align-items:center;gap:12px;margin:16px 0;display:flex}.record-import-modal select{border:1px solid #dedbe4;border-radius:6px;padding:8px}.record-import-modal .modal-foot{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.record-import-modal .error,.duplicate-warning{color:#b8463d}.personnel-delete-result{white-space:pre-wrap;background:#f6f2fa;border-radius:8px;padding:12px}.source-metric-wrapper>.metric{width:100%;height:100%;min-height:176px}.source-top-cards .metric{background:#ffffffcf;border:1px solid #e9e7ed;border-radius:15px;min-height:176px}.source-top-cards .metric strong{color:#9067b3}.source-enrollment-metric,.source-forecast-metric{flex-direction:column;gap:12px;display:flex}.source-enrollment-metric>i{background:#e9eaf0;border-radius:8px;height:8px;margin-top:auto;overflow:hidden}.source-enrollment-metric>i>em{background:#7736aa;height:100%;display:block}.source-forecast-metric>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-forecast-metric label{white-space:nowrap;font-size:11px}.source-forecast-metric select{background:0 0;border:0;max-width:150px;padding:0;font-size:11px}.source-forecast-metric>strong{font-size:24px;color:#222!important}.source-forecast-metric>small{margin-top:auto}.source-point-timeline .section-head{border-bottom:1px solid #eee;padding:14px 16px}.source-point-timeline .section-head details{max-width:500px;font-size:11px}.source-timeline-controls{border-bottom:1px solid #eee;align-items:center;gap:10px;padding:10px 16px;font-size:11px;display:flex}.source-timeline-controls input{accent-color:#7631a7;width:115px}.source-timeline-controls button{background:#fff;border:1px solid #eee;border-radius:6px;padding:4px 8px}.source-point-legend{color:#7631a7;gap:15px;margin-left:auto;display:flex}.source-point-scroll{max-height:620px;overflow:auto}.source-point-row{border-bottom:1px solid #eee;grid-template-columns:190px minmax(0,1fr) 190px;display:grid}.source-point-head{z-index:5;color:#76808c;background:#fff;height:48px;font-size:11px;position:sticky;top:0}.source-point-head>div:first-child,.source-point-head>div:last-child{justify-content:center;align-items:center;display:flex}.source-point-axis{border-left:1px solid #eee;border-right:1px solid #eee;position:relative}.source-point-axis>span{font-size:10px;font-style:italic;position:absolute;top:18px;transform:translate(-50%)}.source-point-axis>b{background:#fff;font-size:11px;position:absolute;top:2px}.source-point-center{z-index:3;background:#fff;flex-direction:column;justify-content:center;gap:6px;padding:12px;font-size:12px;display:flex;position:sticky;left:0;box-shadow:3px 0 6px #00000007}.source-point-center small{color:#82909c;font-size:10px}.source-point-lane{position:relative}.source-point-connector{pointer-events:none;border-top:1px dashed #b5a5c4;position:absolute}.source-timeline-point{color:#4c5563;z-index:2;flex-direction:column;align-items:center;width:90px;font-size:10px;display:flex;transform:translate(-50%);background:0 0!important;border:0!important;padding:0!important;position:absolute!important}.source-timeline-point>i{background:#fff;border:2px solid #7631a7;border-radius:50%;width:12px;height:12px;margin-bottom:3px;display:block}.source-timeline-point.is-actual>i{background:#7631a7}.source-timeline-point.is-progress>i{background:#369c79;border-color:#369c79}.source-timeline-point small{color:#83909e;white-space:nowrap;font-size:9px}.source-point-forecast{z-index:3;color:#ba6d27;background:#fff;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;padding:12px;font-size:12px;display:flex;position:sticky;right:0;box-shadow:-3px 0 6px #00000007}.source-point-forecast small{color:#88929c;font-size:10px}.source-point-timeline .calendar-today{pointer-events:none;border-color:#dad2e4}.timeline-detail{max-height:85vh;overflow:auto;width:90vw!important;max-width:900px!important}.security-rule{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.security-rule>span:first-child{flex-direction:column;gap:7px;display:flex}.security-rule small{color:#82909c;font-size:12px}.security-rule>span:last-child{align-items:center;gap:10px;display:flex}.security-rule input[type=number]{width:115px}.security-review{background:#faf8fd;border:1px solid #e4dbed;border-radius:10px;margin-top:18px;padding:20px}.security-review textarea{width:100%;min-height:90px;margin:10px 0}.security-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.security-platform-note{color:#806023;background:#fff8e8;border-radius:8px;padding:12px;font-size:12px}.audit-filters{flex-wrap:wrap;align-items:end!important;gap:12px!important}.audit-filters label{flex-direction:column;gap:5px;font-size:12px;display:flex}.audit-filters input{width:150px}@media (max-width:900px){.source-top-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.source-timeline-controls{flex-wrap:wrap}.source-point-legend{margin-left:0}}.auth-screen{background:linear-gradient(135deg,#f4effb,#fafbff);justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.auth-card{background:#fff;border:1px solid #e3d9eb;border-radius:18px;width:min(480px,100%);padding:36px;box-shadow:0 16px 70px #54287015}.auth-brand{color:#6d268f;margin-bottom:28px;font-size:25px;font-weight:800}.auth-brand span{font-weight:500}.auth-card h1{margin-bottom:10px;font-size:22px}.auth-note,.auth-card footer{color:#727681;font-size:13px;line-height:1.7}.auth-card label,.account-editor>label{margin:18px 0;font-size:14px;display:block}.auth-card input,.account-editor>label>input:not([type=checkbox]),.account-editor select{box-sizing:border-box;border:1px solid #d6d4de;border-radius:7px;width:100%;margin-top:7px;padding:11px}.auth-card small,.account-editor small{color:#747b89;margin-top:5px;font-size:12px;line-height:1.5;display:block}.auth-card button{justify-content:center;align-items:center;width:100%;height:44px;margin:10px 0;padding:0 16px;line-height:1;display:flex}.auth-card a{text-align:center;color:#6d268f;margin:14px;display:block}.auth-message{background:#f3edf9;border-radius:7px;padding:12px;line-height:1.6}.auth-card footer{border-top:1px solid #eee;margin-top:24px;padding-top:18px}.account-panel{background:#fff;border:1px solid #e2dfe9;border-radius:12px;padding:24px}.account-panel .panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.account-panel h2{font-size:20px}.account-panel p{color:#7b8190;font-size:13px}.account-editor{width:min(720px,95vw);max-height:90vh;overflow:auto}.grants-list fieldset{border:1px solid #e4d9ed;border-radius:8px;margin:12px 0;padding:14px}.grants-list label{padding:4px;display:block}.account-editor input[type=checkbox]{width:auto;margin-right:8px}:root{--purple:#6d268f;--purple2:#8751ad;--muted:#87909e;--border:#dde0e7;--surface:#fff}*{box-sizing:border-box}html,body{color:#333;background:#f7f7f8;min-height:100%;margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button{font:inherit}.app-shell{background:#f7f7f8;grid-template-columns:240px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.is-collapsed{grid-template-columns:72px 1fr}.sidebar{z-index:5;background:#fff;border-right:1px solid #e3e5e9;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:10px;height:74px;padding:12px 40px;display:flex}.brand img{object-fit:contain;width:42px;height:42px}.brand-text{color:#8236ad;flex-direction:column;font-size:18px;line-height:1.03;display:flex}.brand-text strong,.brand-text span{font-weight:800}.side-nav{flex-direction:column;gap:2px;padding:12px 10px 70px;display:flex;overflow:auto}.side-nav button,.collapse-button{color:#545d6d;white-space:nowrap;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;height:38px;padding:0 14px;display:flex}.side-nav button:hover{background:#f5f2fb}.side-nav button.active{color:#5845a8;background:#e8e4ff;box-shadow:inset 3px 0 #5d4cab}.nav-icon{text-align:center;color:#667085;width:18px;font-size:16px}.side-nav .active .nav-icon{color:#5d4cab}.side-nav small{color:#6c43aa;background:#f1eafb;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.chev{color:#8a93a1;margin-left:auto}.collapse-button{background:#fff;border-top:1px solid #e8eaee;border-radius:0;width:100%;height:58px;position:absolute;bottom:0;left:0}.is-collapsed .brand{padding:12px 15px}.is-collapsed .brand-text,.is-collapsed .nav-label,.is-collapsed .side-nav small,.is-collapsed .chev{display:none}.is-collapsed .side-nav button,.is-collapsed .collapse-button{justify-content:center;padding:0}.is-collapsed .nav-icon{font-size:20px}.workspace{min-width:0}.topbar{z-index:4;background:#fff;border-bottom:1px solid #e6e8ec;justify-content:space-between;align-items:center;height:59px;padding:0 26px;display:flex;position:sticky;top:0}.breadcrumb{color:#677080;font-size:14px}.breadcrumb i{color:#b1b5bd;margin:0 12px;font-style:normal}.breadcrumb b{color:#293142}.top-actions{color:#626b78;align-items:center;gap:13px;font-size:13px;display:flex}.top-actions button{color:#596273;cursor:pointer;background:0 0;border:0;height:36px}.avatar{color:#5847a5;background:#e7e4ff;border-radius:50%;place-items:center;width:30px;height:30px;display:inline-grid}.content{padding:20px}:is(.content:has(>.progress-panel),.content:has(>.motion-center-card),.content:has(>.source-detect-page),.content:has(>.source-sample-page)){padding-top:19px}.portfolio-panel{background:#fff;border:1px solid #e0e3e9;border-radius:14px;min-height:625px;padding:18px;box-shadow:0 4px 18px #1f293714}.panel-tools{justify-content:space-between;align-items:center;display:flex}.segments{background:#f6f7f9;border:1px solid #e1e4e9;border-radius:9px;padding:2px;display:inline-flex}.segments button{color:#424a58;cursor:pointer;background:0 0;border:0;border-radius:7px;height:34px;padding:0 14px}.segments button.selected{color:#642483;background:#eee7f5;font-weight:700;box-shadow:inset 0 0 0 1px #d4c2e2}.refresh{color:#535b67;cursor:pointer;background:#fafafa;border:1px solid #e2e5e9;border-radius:5px;height:32px;padding:0 12px}.project-grid{grid-template-columns:repeat(4,minmax(270px,1fr));gap:16px;margin-top:73px;display:grid}.project-card{background:linear-gradient(145deg,#fff 70%,#faf7fd);border:1px solid #dce0e7;border-top:3px solid #8b5ab0;border-radius:14px;min-height:230px;padding:15px;overflow:hidden;box-shadow:0 3px 10px #2823460f}.card-head{justify-content:space-between;gap:8px;display:flex}.card-head h3{color:#5a1d73;margin:0 0 5px;font-size:17px}.card-head p{color:#828b99;white-space:nowrap;text-overflow:ellipsis;max-width:255px;margin:0;font-size:12px;overflow:hidden}.type-pill{color:#5c2673;background:#fbf9fc;border:1px solid #d9d1df;border-radius:12px;flex:none;height:23px;padding:3px 10px;font-size:11px;font-weight:700}.timeline{grid-template-columns:repeat(5,1fr);margin:18px 0 16px;display:grid}.stage{text-align:center;min-width:0;position:relative}.line{background:#d3dae3;height:2px;position:absolute;top:8px;left:50%;right:-50%}.line.done{background:#6f258e}.dot{z-index:1;color:#fff;background:#fff;border:2px solid #b8c2ce;border-radius:50%;place-items:center;width:18px;height:18px;margin:0 auto 6px;font-size:11px;display:grid;position:relative}.dot.done{background:#6f258e;border-color:#6f258e}.stage b{color:#4b5360;font-size:11px;line-height:1.35;display:block}.stage time{color:#9ba3ad;white-space:nowrap;margin-top:7px;font-size:10px;display:block}.project-card footer{color:#7b8491;border-top:1px solid #e8eaee;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;display:flex}.project-card footer b{color:#53206f;font-size:14px}.project-card footer button{color:#622382;cursor:pointer;background:#f7f2fb;border:0;border-radius:8px;padding:6px 10px;font-weight:700}.empty{text-align:center;color:#9aa2ad;grid-column:1/-1;padding:80px}.feedback{color:#d93359;cursor:pointer;background:#fff;border:1px solid #d73d61;border-radius:50%;width:38px;height:38px;position:fixed;bottom:20px;right:25px;box-shadow:0 3px 10px #0000001f}.feedback span{font-size:9px;position:absolute;top:2px;right:3px}.toast{z-index:20;color:#fff;background:#2d2633;border-radius:6px;padding:10px 18px;font-size:13px;position:fixed;top:76px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@media (max-width:1450px){.project-grid{grid-template-columns:repeat(3,minmax(270px,1fr))}}@media (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(270px,1fr))}.top-actions>span:not(.avatar){display:none}}@media (max-width:960px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{display:none}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.brand{padding:12px 15px}.brand-text,.nav-label,.side-nav small,.chev{display:none}.side-nav button,.collapse-button{justify-content:center;padding:0}.project-grid{grid-template-columns:1fr;margin-top:30px}.content{padding:10px}.portfolio-panel{padding:12px}.panel-tools{align-items:flex-start;gap:10px}.segments{flex-wrap:wrap}.refresh{white-space:nowrap}.breadcrumb{display:none}}.top-actions select{color:#424b59;cursor:pointer;background:#fff;border:0;height:34px;padding:0 8px;font-weight:700}.nav-block>button{width:100%}.nav-block ul{margin:2px 0 5px;padding:0 0 0 44px;list-style:none}.nav-block li button{color:#727b89;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;width:100%;height:31px;padding:0 8px;font-size:12px}.nav-block li button:hover,.nav-block li button.selected-leaf{color:#603080;background:#f4f0f9;font-weight:700}.is-collapsed .nav-block ul{display:none}.header-user-area{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:7px;height:36px;padding:4px 6px;display:flex;position:relative}.header-user-area:hover,.header-user-area[aria-expanded=true]{background:#f6f3f8}.header-user-chevron{color:#9097a3;font-size:11px}.header-user-menu{z-index:400;background:#fff;border:1px solid #e7e9ed;border-radius:10px;min-width:132px;padding:6px;position:absolute;top:42px;right:0;box-shadow:0 8px 30px #0f172a14}.header-user-menu button{text-align:left;color:#3f4753;background:#fff;border:0;border-radius:7px;width:100%;height:34px;padding:0 12px;display:block}.header-user-menu button:hover{background:#f6f3f8}.header-user-menu button.danger{color:#c33a3a}.lockscreen-overlay{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ae0;place-items:center;display:grid;position:fixed;inset:0}.lockscreen-body{text-align:center}.lockscreen-clock{color:#f1f5f9;letter-spacing:4px;font-variant-numeric:tabular-nums;font-size:80px;font-weight:300;line-height:1.15;display:block}.lockscreen-date{color:#cbd5e1;letter-spacing:1px;margin:14px 0 32px;font-size:16px}.lockscreen-unlock-btn{color:#f1f5f9;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff52;border-radius:8px;padding:10px 32px;font-size:14px}.lockscreen-unlock-btn:hover{background:#ffffff2e}.password-modal{z-index:5000;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.password-panel{background:#fff;border-radius:12px;width:min(460px,100vw - 40px);overflow:hidden;box-shadow:0 18px 60px #0f172a38}.password-panel>header{border-bottom:1px solid #eceef2;justify-content:space-between;align-items:center;height:58px;padding:0 20px;display:flex}.password-panel h3{color:#333;margin:0;font-size:17px}.password-panel>header button{color:#7b8491;cursor:pointer;background:0 0;border:0;font-size:24px}.password-body{gap:15px;padding:20px;display:grid}.password-body label{color:#59616d;gap:7px;font-size:13px;display:grid}.password-body label b{color:#c43b3b}.password-body input{border:1px solid #dfe3e8;border-radius:6px;outline:none;height:38px;padding:0 11px}.password-body input:focus{border-color:#7a3c98;box-shadow:0 0 0 3px #6f2d9114}.password-message{color:#b43b34;background:#fff3f2;border-radius:6px;margin:0;padding:9px 11px;font-size:12px;line-height:1.5}.password-panel>footer{background:#fafafa;border-top:1px solid #eceef2;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.login-page{--login-brand:#764ebf;color:#20243a;background:linear-gradient(145deg,#3f0282 0%,#6419bf 40%,#f5aaca 90%);grid-template-columns:minmax(0,1fr) minmax(470px,42vw);align-items:center;min-height:100vh;padding:clamp(40px,6vw,72px) clamp(56px,8vw,104px);display:grid;position:relative;overflow:hidden}.login-photo{opacity:.32;pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-photo:before,.login-photo:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.login-photo:before{background:radial-gradient(circle at 65% 68%,#ffffff85,#a05ef11a 28%,#0000 61%);width:72vw;height:72vw;top:-31vw;left:-25vw}.login-photo:after{background:radial-gradient(circle at 42% 38%,#ffd6e6d1,#87d4ea38 34%,#0000 68%);width:48vw;height:48vw;bottom:-22vw;right:-12vw}.login-orbit{border:1px solid #ffffff38;border-radius:50%;position:absolute;transform:rotate(-24deg)}.orbit-one{width:620px;height:210px;top:29%;left:3%}.orbit-two{width:470px;height:150px;top:37%;left:12%;transform:rotate(18deg)}.login-cell{background:#ffffff4d;border-radius:48% 52% 55% 45%;width:34px;height:34px;position:absolute;box-shadow:0 0 22px #ffffff38}.cell-one{top:22%;left:11%}.cell-two{width:62px;height:62px;top:68%;left:35%}.cell-three{width:25px;height:25px;top:32%;left:48%}.login-eyebrow{z-index:3;color:#fff;letter-spacing:.23em;text-transform:uppercase;margin:0;font-size:14px;position:absolute;top:clamp(100px,4vw,120px);left:clamp(100px,6vw,150px)}.login-intro{z-index:2;color:#fff;max-width:560px;padding-bottom:18px;position:relative}.login-intro h1{letter-spacing:-.04em;white-space:nowrap;text-shadow:0 10px 30px #36006938;margin:0;font-size:clamp(42px,4.7vw,72px);line-height:1.05}.login-intro p{letter-spacing:.18em;margin:24px 0 0;font-size:20px}.login-wrap{z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#fffffff0;border-radius:42px;width:min(100%,484px);height:594px;padding:70px 53px 58px;box-shadow:0 34px 90px #2c005f47}.login-card h2{text-align:center;color:#29223d;margin:0 0 30px;font-size:30px}.login-tabs{background:#f1eef6;border-radius:12px;grid-template-columns:1fr 1fr;height:48px;padding:4px;display:grid}.login-tabs button{color:#7e778c;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:14px}.login-tabs button.active{color:var(--login-brand);background:#fff;font-weight:700;box-shadow:0 3px 10px #3c306c14}.account-login-panel{padding-top:22px}.account-login-panel>label{color:#454058;gap:8px;margin-bottom:17px;font-size:13px;display:grid}.login-input-wrap{background:#fff;border:1px solid #e0dce9;border-radius:11px;align-items:center;gap:10px;height:47px;padding:0 14px;display:flex}.login-input-wrap:focus-within{border-color:#9b72d3;box-shadow:0 0 0 3px #764ebf1a}.login-input-wrap i{color:#8b75ad;font-style:normal}.login-input-wrap input{color:#302b3e;background:0 0;border:0;outline:0;width:100%;font-size:14px}.login-remember{align-items:center;color:#6c6677!important;grid-template-columns:none!important;gap:8px!important;margin:0 0 18px!important;display:flex!important}.login-remember input{width:17px;height:17px;accent-color:var(--login-brand)}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(90deg,#6e42b5,#8854d6);border:0;border-radius:11px;width:100%;height:48px;font-size:15px;font-weight:700;box-shadow:0 10px 24px #764ebf33}.login-admin-note{text-align:center;color:#9891a3;margin:13px 0 0;font-size:11px}.wecom-login-panel{text-align:center;padding-top:25px}.login-qr{background:#fff;border:1px solid #e5e1ea;border-radius:16px;place-items:center;width:176px;height:176px;margin:0 auto 15px;display:grid}.login-qr-grid{background-blend-mode:multiply;background:repeating-linear-gradient(0deg,#222 0 5px,#0000 5px 10px),repeating-linear-gradient(90deg,#222222b8 0 5px,#0000 5px 10px);border:13px solid #fff;width:132px;height:132px;box-shadow:inset 0 0 0 8px #222}.wecom-login-panel>p{color:#6d6679;margin:0 0 19px;font-size:13px}.login-managed-message{color:#61458d;background:#f1ebfb;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5}.login-managed-message p{margin:0 0 6px}.login-managed-message a{color:#603285;font-weight:700;text-decoration:none}.login-secure-note{color:#9a94a5;justify-content:center;align-items:center;gap:6px;margin:22px 0 0;font-size:11px;display:flex}.login-secure-note span{color:var(--login-brand)}.login-footer{color:#ffffffc2;letter-spacing:.02em;text-align:center;margin-top:18px;font-size:11px}@media (max-width:980px){.login-page{grid-template-columns:1fr;gap:42px;padding:48px 24px 56px}.login-eyebrow{text-align:center;grid-column:1;position:relative;top:auto;left:auto}.login-intro{text-align:center;margin:0 auto}.login-card{padding:58px 42px 54px}}@media (max-width:560px){.login-page{padding:36px 18px;display:block;overflow:auto}.login-eyebrow{margin-bottom:35px;font-size:11px}.login-intro{margin-bottom:34px}.login-intro h1{white-space:normal;font-size:34px}.login-intro p{font-size:14px}.login-card{border-radius:30px;height:auto;min-height:570px;padding:42px 24px}.login-footer{margin-bottom:20px}}.backend-badge{color:#7d8590;white-space:nowrap;background:#f1f2f4;border-radius:12px;padding:5px 8px;font-size:11px}.backend-badge.online{color:#277c49;background:#e9f7ee}.backend-badge.offline{color:#ad3e3e;background:#fff0f0}.data-table td button.danger-action{color:#ba3e4a}.module-panel,.timeline-panel,.operation,.hero-card{background:#fff;border:1px solid #e0e3e9;border-radius:13px;box-shadow:0 3px 14px #2327340f}.module-panel{min-height:calc(100vh - 100px);padding:20px}.module-head{border-bottom:1px solid #eceef2;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:17px;display:flex}.module-head h2{color:#3f2851;margin:0 0 5px;font-size:19px}.module-head p{color:#8a929f;margin:0;font-size:12px}.sync-time{color:#9aa2ac;font-size:11px}.data-state-panel{text-align:center;color:#7f8793;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 100px);display:flex}.data-state-panel h2{color:#452b55;margin:16px 0 7px;font-size:18px}.data-state-panel p{margin:0 0 18px;font-size:12px}.data-state-spinner{border:3px solid #eadff0;border-top-color:#6d268f;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite data-spin}.data-state-icon{color:#bf4d2a;background:#fff1ec;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;font-weight:800;display:grid}@keyframes data-spin{to{transform:rotate(360deg)}}.table-tools{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.search{color:#8b93a1;border:1px solid #dfe2e8;border-radius:6px;align-items:center;width:260px;height:34px;padding:0 10px;display:flex}.search input{color:#48505d;border:0;outline:0;width:100%;padding-left:8px}.table-tools>div:last-child{gap:8px;display:flex}.primary,.light,.table-tools button,.linked-card button,.upload-zone button{cursor:pointer;border-radius:6px;height:34px;padding:0 14px}.primary{color:#fff;background:#6d268f;border:1px solid #6d268f}.primary:disabled{opacity:.45;cursor:not-allowed}.light{color:#545d6a;background:#fff;border:1px solid #dfe2e8}.data-table-wrap{border:1px solid #e3e6eb;border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:#5e6673;text-align:left;white-space:nowrap;background:#f8f8fa;border-bottom:1px solid #e1e4e9;height:43px;padding:0 14px}.data-table td{color:#646d7a;white-space:nowrap;border-bottom:1px solid #eceef1;height:46px;padding:0 14px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbf9fd}.data-table td button{color:#6f2d91;cursor:pointer;background:0 0;border:0;margin-right:9px}.status{color:#3b72ad;background:#eaf2ff;border-radius:12px;padding:3px 9px;display:inline-block}.status.ok{color:#2b8751;background:#eaf8ef}.status.warn{color:#b26c12;background:#fff3df}.pagination{color:#8a929e;justify-content:flex-end;align-items:center;gap:5px;margin-top:16px;font-size:12px;display:flex}.pagination span{margin-right:10px}.pagination button{color:#69717e;background:#fff;border:1px solid #e0e3e8;border-radius:4px;width:28px;height:28px}.pagination button.on{color:#6d268f;background:#f5eff8;border-color:#7d42a0}.upload-zone{color:#858e9b;cursor:pointer;background:#fcfaff;border:1.5px dashed #c9bbd5;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;height:225px;display:flex}.upload-zone>span{color:#8250a3;font-size:36px}.upload-zone h3{color:#565e6b;margin:5px 0;font-size:15px}.upload-zone p{font-size:12px}.upload-zone button{color:#fff;background:#6d268f;border:1px solid #6d268f}.import-history{margin-top:25px}.import-history h3{color:#4b5260;font-size:15px}.import-history .data-table{border:1px solid #e3e6eb;border-radius:8px;overflow:hidden}.summary-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.chart-card{border:1px solid #e2e5ea;border-radius:10px;margin-top:18px;padding:18px}.chart-card h3{margin:0 0 10px;font-size:15px}.bars{border-bottom:1px solid #dadde3;justify-content:space-around;align-items:flex-end;height:180px;padding:0 20px;display:flex}.bars div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:150px;display:flex}.bars span{background:linear-gradient(#9b70b5,#6f2b92);border-radius:4px 4px 0 0;width:42%;min-height:12px}.bars small{color:#8a929d;font-size:10px}.linked-card{border:1px solid #e0e3e9;border-radius:10px;align-items:center;gap:18px;max-width:660px;padding:20px;display:flex}.linked-logo{color:#fff;background:linear-gradient(145deg,#8249a7,#5e237e);border-radius:14px;place-items:center;width:64px;height:64px;font-weight:800;display:grid}.linked-card h3{margin:0 0 6px}.linked-card p{color:#8b939e;margin:0;font-size:12px}.linked-card button{color:#fff;background:#6d268f;border:0;margin-left:auto}.dashboard-page{flex-direction:column;gap:16px;display:flex}.hero-card{padding:20px}.study-title{align-items:flex-start;gap:13px;display:flex}.hero-icon{color:#713293;background:#f2eafa;border-radius:9px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.study-title h2{color:#3f2b4c;margin:0 0 8px;font-size:18px}.study-title p{color:#828a97;margin:0;font-size:12px}.metric-row,.operation-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.metric{background:linear-gradient(145deg,#fff,#faf8fc);border:1px solid #e4e6eb;border-radius:9px;flex-direction:column;min-height:118px;padding:14px;display:flex}.metric>span{color:#79828f;font-size:12px}.metric strong{color:#55226f;margin:8px 0 4px;font-size:25px}.metric small{color:#9199a4;font-size:11px}.metric button{color:#6d268f;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:auto;padding:6px 0 0;font-size:11px}.timeline-panel,.operation{padding:18px}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head h3,.operation h3{color:#424a56;margin:0;font-size:15px}.section-head>div{color:#7e8793;align-items:center;gap:7px;font-size:11px;display:flex}.section-head button{background:#fff;border:1px solid #e0e3e8;border-radius:4px;height:25px}.section-head input{width:90px}.legend{color:#8a929e;justify-content:flex-end;gap:14px;margin:13px 0 8px;font-size:10px;display:flex}.legend .green{color:#3a9b64}.legend .blue{color:#3b77bb}.legend .orange{color:#d98125}.legend .red{color:#c44343}.gantt-head{color:#8b939d;background:#f8f8fa;border:1px solid #e4e6ea;grid-template-columns:265px repeat(9,1fr);align-items:center;height:34px;margin-left:0;font-size:10px;display:grid}.gantt-head>*{padding-left:10px}.gantt-row{border:1px solid #eceef1;border-top:0;grid-template-columns:265px repeat(9,1fr);align-items:center;min-height:60px;font-size:10px;display:grid;position:relative;overflow:hidden}.gantt-row>div:first-child{flex-direction:column;gap:5px;padding-left:10px;display:flex}.gantt-row small{color:#939ba5}.bar{color:#fff;z-index:2;border-radius:4px;place-items:center;height:22px;display:grid;position:absolute;overflow:hidden}.bar.one{width:8%;left:270px}.bar.two{width:13%;left:35%}.bar.three{width:12%;left:49%}.bar.four{width:25%;left:63%}.bar.b0{background:#d8892f}.bar.b1{background:#4d83c2}.bar.b2{background:#bd4c4c}.bar.b3{background:#4c9b6d}.operation-cards{grid-template-columns:repeat(5,1fr)}.operation .metric{min-height:96px}.modal-backdrop{z-index:30;background:#15131961;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(480px,100vw - 30px);padding:20px;box-shadow:0 20px 60px #00000038}.modal-head{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.modal-head h3{color:#4c2b5c;margin:0}.modal-head button{color:#9299a3;cursor:pointer;background:0 0;border:0;font-size:23px}.modal label{color:#606976;flex-direction:column;gap:7px;margin-top:15px;font-size:12px;display:flex}.modal input,.modal textarea{border:1px solid #dfe2e7;border-radius:6px;outline:0;padding:10px}.modal textarea{resize:vertical;height:86px}.modal input:focus,.modal textarea:focus{border-color:#8a54a9;box-shadow:0 0 0 3px #f0e9f5}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (max-width:1200px){.summary-grid,.metric-row{grid-template-columns:repeat(2,1fr)}.operation-cards{grid-template-columns:repeat(3,1fr)}.gantt-head,.gantt-row{grid-template-columns:220px repeat(9,1fr)}.gantt-row .bar.one{left:225px}}@media (max-width:760px){.module-panel{padding:12px}.module-head,.table-tools{flex-direction:column;align-items:stretch;gap:10px}.search{width:100%}.summary-grid,.metric-row,.operation-cards{grid-template-columns:1fr}.timeline-panel{overflow:auto}.gantt-head,.gantt-row{min-width:900px}}.breadcrumb{color:#333;align-items:center;font-size:13px;line-height:1.3;display:flex}.breadcrumb span{color:#64748b}.breadcrumb i{color:#cbd5e1;margin:0 8px}.breadcrumb b{color:#1e293b;font-weight:600}.header-user-chevron{width:14px;height:14px}.source-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.source-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.wide-table,.access-matrix{border:1px solid #e2e5ea;border-radius:8px;max-width:100%;overflow:auto}.wide-table .data-table{min-width:1100px}.wide-table .data-table th:first-child,.wide-table .data-table td:first-child{z-index:1;background:#fff;position:sticky;left:0}.wide-table .data-table th:first-child{background:#f8f8fa}.source-note{color:#745184;background:#f7f3fa;border-radius:7px;margin:12px 0 0;padding:10px 12px;font-size:11px}.milestone-tree{gap:14px;display:grid}.milestone-card{background:#fff;border:1px solid #e2e4ea;border-radius:9px;overflow:hidden}.milestone-card>header{color:#57266d;background:#f7f4f9;justify-content:space-between;padding:13px 16px;display:flex}.milestone-card>header span{color:#8b7298;font-size:11px}.task-group{border-top:1px solid #eceef2;padding:12px 16px}.task-group>strong{color:#59616d;margin-bottom:8px;font-size:12px;display:block}.task-row{color:#68717e;border-top:1px dashed #e7e9ed;grid-template-columns:22px 28px 90px 1fr auto auto;align-items:center;min-height:37px;font-size:12px;display:grid}.task-row button{color:#6d268f;cursor:pointer;background:0 0;border:0}.source-badge{color:#52729b;background:#e9eff8;border-radius:10px;width:max-content;padding:2px 7px;font-size:10px;display:inline-block}.source-badge.custom{color:#7b4296;background:#f4eafa}.scheme-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;display:grid}.scheme-card{border:1px solid #e1e4e9;border-radius:10px;grid-template-columns:1fr auto;gap:10px;padding:16px;display:grid}.scheme-card h3{color:#4b2b59;margin:9px 0 5px;font-size:15px}.scheme-card p{color:#9198a3;margin:0;font-size:11px}.scheme-card>strong{color:#6d268f;font-size:27px}.scheme-card>strong small{font-size:11px}.scheme-card footer{border-top:1px solid #eceef2;grid-column:1/-1;gap:8px;padding-top:10px;display:flex}.scheme-card button,.matrix-toggle{color:#6d268f;cursor:pointer;background:0 0;border:0}.matrix-toggle{color:#999;border-radius:12px;padding:4px 8px}.matrix-toggle.on{color:#27804b;background:#eaf7ef}.settings-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:15px;display:grid}.setting-card{border:1px solid #e2e5ea;border-radius:10px;padding:17px}.setting-card h3{color:#4f2f5e;margin:0 0 5px}.setting-card p{color:#8b939f;margin:0 0 13px;font-size:12px;line-height:1.6}.setting-line{color:#626b77;border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:10px 0;font-size:12px;display:flex}.setting-card>.primary{margin-top:12px}@media (max-width:900px){.source-toolbar{flex-direction:column;align-items:stretch}.scheme-grid,.settings-grid{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
