html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}.pmp-command-list[data-v-6b8ecf8d]{max-height:320px;margin:12px 0 0;padding:0;list-style:none;overflow:auto}.pmp-command-list li[data-v-6b8ecf8d]{border-radius:var(--easel-radius);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;display:flex}.pmp-command-list li.is-active[data-v-6b8ecf8d]{background:var(--easel-primary-soft)}.pmp-command-group[data-v-6b8ecf8d]{color:var(--easel-secondary);font-size:var(--easel-caption)}.pmp-command-path[data-v-6b8ecf8d]{color:var(--easel-secondary);font-size:var(--easel-caption);margin-left:auto}.pmp-command-empty[data-v-6b8ecf8d]{color:var(--easel-secondary);cursor:default;justify-content:center}.main-content[data-v-ca75e25e]{min-width:0;padding:var(--easel-space-6);outline:none;flex:1}.sidebar-nav[data-v-ca75e25e]{flex:1;overflow-y:auto}.identity-notice[data-v-ca75e25e]{margin-bottom:var(--easel-space-4)}:root{--easel-primary:#1677ff;--easel-primary-hover:#4096ff;--easel-primary-soft:#e6f4ff;--easel-success:#389e0d;--easel-error:#cf1322;--easel-warning:#ad6800;--easel-text:#262626;--easel-heading:#141414;--easel-secondary:#595959;--easel-muted:#6f6f6f;--easel-disabled:#bfbfbf;--easel-page:#f5f5f5;--easel-surface:#fff;--easel-subtle:#fafafa;--easel-border:#f0f0f0;--easel-border-strong:#d9d9d9;--easel-font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--easel-font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--easel-title:20px;--easel-section:16px;--easel-body:14px;--easel-helper:13px;--easel-caption:12px;--easel-space-1:4px;--easel-space-2:8px;--easel-space-3:12px;--easel-space-4:16px;--easel-space-6:24px;--easel-space-8:32px;--easel-radius:8px;--easel-button-radius:6px;--easel-tag-radius:4px;--easel-sidebar:224px;--easel-header:64px;--easel-duration:.15s;--easel-overlay:#0000005c;--easel-shadow:0 6px 24px #00000014;--gvolt-stripe:#f2f7fc;--gvolt-amber:#ad6800;--gvolt-amber-bg:#fff7e6;--gvolt-red-bg:#fff1f0;--gvolt-green-bg:#f6ffed;--easel-min-width:1366px}.muted{color:var(--easel-muted)}.mono{font-family:var(--easel-font-mono);font-size:var(--easel-helper)}.wrap-anywhere{overflow-wrap:anywhere}.text-button{cursor:pointer;color:var(--easel-primary);text-align:left;background:0 0;border:0;padding:0;line-height:1.6}.text-button:hover{color:var(--easel-primary-hover)}.panel{background:var(--easel-surface);border-radius:var(--easel-radius);padding:var(--easel-space-4)}.section-heading{justify-content:space-between;gap:var(--easel-space-4);margin-bottom:var(--easel-space-4);align-items:center;display:flex}.gv-heading{justify-content:space-between;align-items:flex-start;gap:var(--easel-space-4);margin:var(--easel-space-2) 0 var(--easel-space-6);display:flex}.gv-heading h1{margin:0}.gv-heading p{color:var(--easel-secondary);margin-top:var(--easel-space-1)}.gv-table-wrap{background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);overflow:auto}table.gv-table{border-collapse:collapse;width:100%;font-size:var(--easel-body)}.gv-table th,.gv-table td{text-align:left;border-bottom:1px solid var(--easel-border);vertical-align:middle;padding:10px 12px}.gv-table th{background:var(--easel-subtle);color:var(--easel-heading);white-space:nowrap;z-index:1;font-weight:600;position:sticky;top:0}.gv-table tbody tr:nth-child(odd){background:#fff}.gv-table tbody tr:nth-child(2n){background:var(--gvolt-stripe)}.gv-table tbody tr:hover{background:var(--easel-primary-soft)}.gv-table .mono{font-size:var(--easel-caption);color:var(--easel-muted)}.gv-table .cell-name{color:var(--easel-heading);font-weight:500}.gv-table .num{text-align:right;font-variant-numeric:tabular-nums}.gv-table .red-text{color:var(--easel-error);font-weight:600}.gv-table .ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:180px;display:inline-block;overflow:hidden}.gv-table .sticky-col{z-index:1;background:inherit;position:sticky;left:0}.gv-table .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.gv-table .sortable .gv-sort-caret{vertical-align:middle;flex-direction:column;gap:2px;margin-left:5px;display:inline-flex}.gv-table .sortable .gv-sort-caret span{border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;line-height:0;display:block}.gv-table .sortable .gv-sort-caret .up{border-bottom:6px solid #b8c2d0}.gv-table .sortable .gv-sort-caret .down{border-top:6px solid #b8c2d0}.gv-table .sortable.asc,.gv-table .sortable.desc{color:var(--easel-primary)}.gv-table .sortable.asc .gv-sort-caret .up{border-bottom-color:var(--easel-primary)}.gv-table .sortable.desc .gv-sort-caret .down{border-top-color:var(--easel-primary)}.gv-actions{align-items:center;gap:var(--easel-space-1);white-space:nowrap;display:flex}.gv-stale{color:var(--easel-muted)}.gv-actions .ant-btn,.gv-actions .text-button{padding-inline:var(--easel-space-2)}.gv-desc{gap:var(--easel-space-3) var(--easel-space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.gv-desc .item{align-items:center;gap:var(--easel-space-2);display:flex}.gv-desc .item label{color:var(--easel-secondary);font-size:var(--easel-helper);white-space:nowrap;min-width:88px;font-weight:400}.gv-desc .item span{color:var(--easel-heading);font-weight:600}.console-shell{min-height:100dvh}.sidebar{width:var(--easel-sidebar);background:var(--easel-surface);border-right:1px solid var(--easel-border);z-index:30;transition:transform var(--easel-duration);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{padding:var(--easel-space-4) var(--easel-space-6) var(--easel-space-6);color:var(--easel-heading);flex-direction:column;flex-shrink:0;text-decoration:none;display:flex}.brand:hover,.brand:focus{color:var(--easel-heading)}.brand strong{font-size:var(--easel-title);letter-spacing:1px;font-weight:750;line-height:1.4}.brand span{color:var(--easel-secondary);font-size:var(--easel-helper);margin-top:var(--easel-space-1)}.nav-row{align-items:center;gap:var(--easel-space-3);width:100%;min-height:40px;margin-bottom:var(--easel-space-1);padding:var(--easel-space-2) var(--easel-space-4);color:var(--easel-text);cursor:pointer;border-radius:var(--easel-button-radius);text-align:left;white-space:nowrap;font-size:var(--easel-body);background:0 0;border:0;text-decoration:none;display:flex}.nav-row:hover{background:var(--easel-subtle);color:var(--easel-primary)}.nav-row>.anticon{font-size:var(--easel-section)}.nav-child{min-height:36px;padding-left:48px}.nav-parent-active{color:var(--easel-primary)}.nav-row.selected{color:var(--easel-primary);background:var(--easel-primary-soft);font-weight:500}.nav-group-label{align-items:center;gap:var(--easel-space-3);min-height:40px;margin-bottom:var(--easel-space-1);padding:var(--easel-space-2) var(--easel-space-4);color:var(--easel-muted);font-size:var(--easel-body);font-weight:600;display:flex}.nav-group-label>.anticon{font-size:var(--easel-body)}.nav-sub{padding-left:44px}.sidebar-footer{padding:var(--easel-space-4) var(--easel-space-6);border-top:1px solid var(--easel-border);font-size:var(--easel-caption);color:var(--easel-muted);justify-content:space-between;margin-top:auto;display:flex}.workspace{margin-left:var(--easel-sidebar);flex-direction:column;min-height:100dvh;display:flex}.topbar{height:var(--easel-header);align-items:center;gap:var(--easel-space-4);padding:0 var(--easel-space-6);background:var(--easel-surface);border-bottom:1px solid var(--easel-border);flex-shrink:0;display:flex}.breadcrumb{align-items:center;gap:var(--easel-space-3);white-space:nowrap;display:flex}.crumb-slash{margin-left:var(--easel-space-3);color:var(--easel-muted)}.topbar-right{align-items:center;gap:var(--easel-space-6);margin-left:auto;display:flex}.demo-label{font-size:var(--easel-helper);color:var(--easel-muted);border-right:1px solid var(--easel-border-strong);padding-right:var(--easel-space-6)}.profile-button{gap:var(--easel-space-3);color:var(--easel-text);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.profile-button .ant-avatar{background:var(--easel-primary)}.profile-button>.anticon{font-size:var(--easel-caption)}.role-switcher-overlay .ant-dropdown-menu{max-height:380px;overflow-y:auto}.collapsed .sidebar{transform:translate(-100%)}.collapsed .workspace{margin-left:0}.page-footer{padding:0 var(--easel-space-6) var(--easel-space-6);color:var(--easel-muted);align-items:center;gap:var(--easel-space-2);font-size:var(--easel-caption);margin-top:auto;display:flex}.page-footer .text-button{white-space:nowrap;margin-left:auto}.skip-link{top:-100px;left:var(--easel-space-4);z-index:2000;padding:var(--easel-space-3);background:var(--easel-surface);position:fixed}.skip-link:focus{top:var(--easel-space-3)}.gv-filterbar{align-items:center;gap:var(--easel-space-3);padding:var(--easel-space-3) var(--easel-space-4);background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);margin-bottom:var(--easel-space-4);flex-wrap:wrap;display:flex}.gv-filterbar .gv-field{align-items:center;gap:var(--easel-space-2);display:flex}.gv-filterbar label{font-size:var(--easel-helper);color:var(--easel-secondary);white-space:nowrap}.gv-filterbar .ant-input,.gv-filterbar .ant-select{width:160px}.gv-stats{gap:var(--easel-space-4);margin-bottom:var(--easel-space-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.gv-stat{background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);padding:var(--easel-space-4) var(--easel-space-6);cursor:pointer;color:inherit;text-decoration:none;display:block}.gv-stat:hover{border-color:var(--easel-primary);box-shadow:var(--easel-shadow)}.gv-stat.active{border-color:var(--easel-primary);box-shadow:0 0 0 2px var(--easel-primary)}.gv-stat .gv-stat-label{font-size:var(--easel-helper);color:var(--easel-secondary)}.gv-stat .gv-stat-value{font-variant-numeric:tabular-nums;margin-top:var(--easel-space-1);font-size:28px;font-weight:650}.gv-stat.gv-blue .gv-stat-value{color:#1677ff}.gv-stat.gv-green .gv-stat-value{color:var(--easel-success)}.gv-stat.gv-red .gv-stat-value{color:var(--easel-error)}.gv-stat.gv-amber .gv-stat-value{color:var(--gvolt-amber)}.gv-stat.gv-cyan .gv-stat-value{color:#08979c}.gv-stat.gv-purple .gv-stat-value{color:#722ed1}.req-form{gap:var(--easel-space-3);flex-direction:column;display:flex}.req-form .gv-field{align-items:center;gap:var(--easel-space-3);display:flex}.req-form .gv-field>label{color:var(--easel-secondary);font-size:var(--easel-body);white-space:nowrap;flex:0 0 96px}.req-form .gv-field .ant-input,.req-form .gv-field .ant-select{flex:1}.req-sec{margin:var(--easel-space-2) 0 0;font-size:var(--easel-section);color:var(--easel-heading)}.req-field-label{margin:var(--easel-space-2) 0 0;color:var(--easel-secondary);font-size:var(--easel-helper)}.req-desc{background:var(--easel-subtle);border-radius:var(--easel-radius);padding:var(--easel-space-3) var(--easel-space-4);font-size:var(--easel-body);white-space:pre-wrap;color:var(--easel-text);line-height:1.8}.req-card{border:1px solid var(--easel-border);border-radius:var(--easel-radius);overflow:hidden}.req-card-head{align-items:center;gap:var(--easel-space-3);padding:var(--easel-space-2) var(--easel-space-4);background:var(--easel-subtle);border-bottom:1px solid var(--easel-border);display:flex}.req-card-tag{font-size:var(--easel-section);color:var(--easel-heading);font-weight:650}.req-card-tag-main{color:var(--easel-primary)}.req-card-sub{font-size:var(--easel-helper);color:var(--easel-secondary)}.req-card-body{padding:var(--easel-space-4);gap:var(--easel-space-3);flex-direction:column;display:flex}.gv-table .cell-name{color:var(--easel-heading);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;overflow:hidden}.gv-table button.cell-name{width:100%;display:block}.gv-table .cell-name-text{-webkit-line-clamp:2;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.gv-table .nowrap{white-space:nowrap}.gv-table .muted{color:var(--easel-muted)}button.gv-stat{text-align:left;font:inherit}.ant-select-multiple .ant-select-selection-overflow{flex-wrap:wrap;gap:4px;display:flex}.ant-select-multiple .ant-select-selection-overflow .ant-select-selection-item{flex:none}.gv-toolbar{align-items:center;gap:var(--easel-space-3);margin-bottom:var(--easel-space-4);flex-wrap:wrap;display:flex}.gv-toolbar .gv-spacer{flex:1}.gv-stat.gv-magenta .gv-stat-value{color:#c41d7f}table.gv-table.gv-table-fixed{table-layout:fixed}.gv-stack{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.gv-legend{align-items:center;gap:var(--easel-space-4);padding:var(--easel-space-3) var(--easel-space-4);background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);margin-bottom:var(--easel-space-4);font-size:var(--easel-helper);color:var(--easel-secondary);flex-wrap:wrap;display:flex}.gv-legend .gv-dot{width:12px;height:12px;margin-right:var(--easel-space-1);vertical-align:-1px;border-radius:3px;display:inline-block}.gv-legend .gv-dot.green{background:var(--gvolt-green-bg);border:1px solid #b7eb8f}.gv-legend .gv-dot.red{background:var(--gvolt-red-bg);border:1px solid #ff7875}.gv-legend .gv-dot.outline-red{background:#fff;border:1px solid #ff4d4f}.gv-legend .gv-dot.amber{background:var(--gvolt-amber-bg);border:1px solid #ffd591}.gv-legend .gv-dot.none{border:1px solid var(--easel-border-strong);background:#fff}.gv-legend .gv-dot.bold{background:#262626;border:1px solid #262626}.gv-legend .gv-dot.magenta{background:#fff0f6;border:1px solid #f7b0d9}.gv-legend .gv-dot.purple{background:#f9f0ff;border:1px solid #d3adf7}table.gv-matrix th,table.gv-matrix td{text-align:center}table.gv-matrix td.gv-mname{text-align:left}.gv-ms{font-size:var(--easel-caption);text-align:center;vertical-align:top;border-radius:6px;min-width:92px;padding:5px 7px;line-height:1.45;display:inline-block}.gv-ms>span{white-space:nowrap;display:block}.gv-ms .f-plan,.gv-ms .f-act{color:var(--easel-heading)}.gv-ms .f-act.empty{color:var(--easel-muted)}.gv-ms .f-review{margin-top:1px;font-weight:500}.gv-ms .f-result{margin-top:1px}.gv-ms.done{background:var(--gvolt-green-bg)}.gv-ms.late,.gv-ms.overdue{background:var(--gvolt-red-bg)}.gv-ms.fail{background:#fff0f6}.gv-ms.pending{background:#f9f0ff}.gv-ms.warn{background:var(--gvolt-amber-bg)}.gv-ms.idle{background:#fff}.gv-ms.done .f-review,.gv-ms.done .f-result{color:#389e0d}.gv-ms.late .f-review,.gv-ms.late .f-result,.gv-ms.overdue .f-review,.gv-ms.overdue .f-result{color:#cf1322}.gv-ms.fail .f-review,.gv-ms.fail .f-result{color:#c41d7f}.gv-ms.pending .f-review,.gv-ms.pending .f-result{color:#722ed1}.gv-ms.warn .f-review,.gv-ms.warn .f-result{color:#ad6800}.gv-ms.idle .f-review,.gv-ms.idle .f-result{color:var(--easel-secondary)}.gv-ms.gv-ms-bold .f-review{font-weight:700}.gv-ms.done.gv-ms-hl{box-shadow:inset 0 0 0 2px #389e0d}.gv-ms.late.gv-ms-hl,.gv-ms.overdue.gv-ms-hl{box-shadow:inset 0 0 0 2px #cf1322}.gv-ms.fail.gv-ms-hl{box-shadow:inset 0 0 0 2px #c41d7f}.gv-ms.pending.gv-ms-hl{box-shadow:inset 0 0 0 2px #722ed1}.gv-ms.warn.gv-ms-hl{box-shadow:inset 0 0 0 2px #ad6800}.gv-ms.idle.gv-ms-hl{box-shadow:inset 0 0 0 2px #bfbfbf}.ms-back{margin-bottom:var(--easel-space-2);color:var(--easel-secondary);font-size:var(--easel-helper);align-items:center;gap:4px;display:inline-flex}.ms-back:hover{color:var(--easel-primary)}.ms-node-list{gap:var(--easel-space-4);flex-direction:column;display:flex}.ms-node{background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);padding:var(--easel-space-4)}.ms-node-head{align-items:center;gap:var(--easel-space-3);margin-bottom:var(--easel-space-3);flex-wrap:wrap;display:flex}.ms-node-head h3{font-size:var(--easel-section);color:var(--easel-heading);margin:0}.ms-node-date{color:var(--easel-secondary);font-size:var(--easel-helper)}.ms-node-note{color:var(--easel-muted);font-size:var(--easel-helper);margin:0}.ms-timeline{flex-direction:column;display:flex}.ms-tl-item{gap:var(--easel-space-3);padding:0 0 var(--easel-space-4) 0;display:flex;position:relative}.ms-tl-item:not(:last-child):before{content:"";background:var(--easel-border);width:2px;position:absolute;top:14px;bottom:0;left:5px}.ms-tl-dot{background:var(--easel-primary);width:12px;height:12px;box-shadow:0 0 0 3px var(--easel-primary-soft);border-radius:50%;flex:0 0 12px;margin-top:4px}.ms-tl-dot.dot-通过{background:var(--easel-success);box-shadow:0 0 0 3px var(--gvolt-green-bg)}.ms-tl-dot.dot-不通过{background:var(--easel-error);box-shadow:0 0 0 3px var(--gvolt-red-bg)}.ms-tl-dot.dot-待评审{background:var(--gvolt-amber);box-shadow:0 0 0 3px var(--gvolt-amber-bg)}.ms-tl-body{flex:1;min-width:0}.ms-tl-head{align-items:center;gap:var(--easel-space-2);flex-wrap:wrap;display:flex}.ms-tl-time{color:var(--easel-heading);font-weight:600;font-size:var(--easel-body)}.ms-tl-by{color:var(--easel-muted);font-size:var(--easel-caption)}.ms-tl-opinion{margin:var(--easel-space-1) 0 var(--easel-space-2);color:var(--easel-text);font-size:var(--easel-body);line-height:1.6}.ms-form{gap:var(--easel-space-3);flex-direction:column;display:flex}.ms-form-tip{color:var(--easel-secondary);font-size:var(--easel-helper);margin:0;line-height:1.6}.ms-form-actions{gap:var(--easel-space-2);display:flex}.ms-form .gv-field{align-items:center;gap:var(--easel-space-3);display:flex}.ms-form .gv-field>label{color:var(--easel-secondary);font-size:var(--easel-body);white-space:nowrap;flex:0 0 76px}.ms-form .gv-field .ant-input,.ms-form .gv-field .ant-select,.ms-form .gv-field textarea{flex:1}.ms-node-name{color:var(--easel-heading);font-weight:600}.ms-node-focus{background:#e6f4ff!important;border-color:#91caff!important}.gv-ms-click{cursor:pointer}.gv-one-pager{gap:var(--easel-space-3);grid-template-columns:1fr 1fr;grid-auto-rows:150px;display:grid}.gv-op-card{background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);padding:var(--easel-space-3) var(--easel-space-4);min-width:0;position:relative;overflow:visible}.gv-op-link{cursor:pointer;transition:border-color .15s,box-shadow .15s}.gv-op-link:hover{border-color:var(--easel-primary);box-shadow:var(--easel-shadow);z-index:5}.gv-op-card:after{content:attr(data-tip);background:var(--easel-surface);border:1px solid var(--easel-border-strong);border-radius:var(--easel-radius);min-width:100%;max-width:340px;box-shadow:var(--easel-shadow);padding:var(--easel-space-3) var(--easel-space-4);font-size:var(--easel-helper);color:var(--easel-text);white-space:pre-wrap;z-index:30;opacity:0;visibility:hidden;pointer-events:none;line-height:1.6;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:0}.gv-op-card.gv-op-overflow:hover:after{opacity:1;visibility:visible}.gv-op-card h4{margin:0 0 var(--easel-space-2);font-size:var(--easel-body);color:var(--easel-heading);align-items:center;gap:var(--easel-space-2);font-weight:700;display:flex}.gv-op-card h4:before{content:"";background:var(--easel-primary);border-radius:2px;flex:none;width:4px;height:13px}.gv-op-goal-text{margin:0 0 var(--easel-space-1);font-size:var(--easel-body);color:var(--easel-heading);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.gv-op-sub{font-size:var(--easel-caption);color:var(--easel-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.gv-op-para{font-size:var(--easel-helper);color:var(--easel-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.gv-op-list{flex-direction:column;gap:4px;max-height:98px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.gv-op-list li{align-items:baseline;gap:var(--easel-space-2);font-size:var(--easel-helper);line-height:1.5;display:flex}.gv-op-list li strong{color:var(--easel-heading);flex:none;font-weight:600}.gv-op-list li span{color:var(--easel-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gv-op-steps{flex-direction:column;gap:4px;max-height:98px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.gv-op-steps li{font-size:var(--easel-helper);align-items:flex-start;gap:6px;line-height:1.5;display:flex}.gv-op-steps li div{align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.gv-op-steps li strong{color:var(--easel-heading);flex:none;font-weight:600}.gv-op-steps li span{color:var(--easel-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gv-op-num{background:var(--easel-primary-soft);height:18px;color:var(--easel-primary);border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;margin-top:2px;font-size:11px;font-weight:700;display:inline-flex}.gv-op-total{align-items:baseline;gap:var(--easel-space-2);margin-bottom:6px;display:flex}.gv-op-total-num{color:var(--easel-primary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1}.gv-op-total-unit{font-size:var(--easel-caption);color:var(--easel-secondary)}.gv-op-total-label{color:var(--easel-muted);font-size:11px}.gv-op-cost-rows{flex-wrap:wrap;gap:2px 12px;max-height:98px;display:flex;overflow:hidden}.gv-op-cost-row{font-size:var(--easel-caption);color:var(--easel-secondary);gap:6px;width:calc(50% - 6px);display:flex}.gv-op-cost-row .gv-op-num{color:var(--easel-heading);font-variant-numeric:tabular-nums}.gv-op-milestones{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gv-op-ms{background:var(--easel-subtle);border:1px solid var(--easel-border);border-radius:var(--easel-button-radius);flex-direction:column;gap:2px;min-width:0;padding:6px 8px;display:flex}.gv-op-ms-label{color:var(--easel-secondary);white-space:nowrap;font-size:11px}.gv-op-ms-date{font-size:var(--easel-caption);color:var(--easel-heading);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.gv-op-team{flex-wrap:wrap;gap:6px;max-height:98px;display:flex;overflow:hidden}.gv-op-member{background:var(--easel-subtle);border:1px solid var(--easel-border);border-radius:var(--easel-tag-radius);font-size:var(--easel-caption);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.gv-op-role{color:var(--easel-secondary)}.gv-op-name{color:var(--easel-heading);font-weight:600}.gv-op-risks{flex-direction:column;gap:6px;max-height:98px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.gv-op-risks li{font-size:var(--easel-helper);align-items:center;gap:6px;min-width:0;display:flex}.gv-op-risks li strong{color:var(--easel-heading);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.gv-op-risks li span:last-child{color:var(--easel-secondary);font-size:var(--easel-caption);flex:none}.gv-op-risk-tag{border-radius:4px;flex:none;padding:0 6px;font-size:11px;line-height:18px}.gv-op-risk-high{color:var(--easel-error);background:#fff1f0}.gv-op-risk-mid{color:var(--easel-warning);background:#fff7e6}.gv-op-risk-low{background:var(--easel-primary-soft);color:var(--easel-primary)}.gv-op-empty{color:var(--easel-muted);font-size:var(--easel-helper)}.gv-cost-total-row td{background:var(--easel-subtle);color:var(--easel-heading);font-weight:600}.gv-img-thumb{border:1px solid var(--easel-border);cursor:zoom-in;border-radius:6px;width:200px;transition:border-color .15s,box-shadow .15s}.gv-img-thumb:hover{border-color:var(--easel-primary);box-shadow:var(--easel-shadow)}.gv-img-viewer{z-index:1000;justify-content:center;align-items:center;gap:var(--easel-space-3);cursor:zoom-out;padding:var(--easel-space-6);background:#000000b8;flex-direction:column;display:flex;position:fixed;inset:0}.gv-img-viewer img{object-fit:contain;border-radius:var(--easel-radius);background:var(--easel-surface);max-width:90vw;max-height:82vh;box-shadow:var(--easel-shadow)}.gv-img-viewer p{color:#fff;font-size:var(--easel-body);margin:0}.gv-chapter{margin-bottom:var(--easel-space-6)}.gv-chapter-head{align-items:center;gap:var(--easel-space-2);margin-bottom:var(--easel-space-3);display:flex}.gv-chapter-head h3{font-size:var(--easel-section);margin:0}.gv-form-table{border-collapse:collapse;width:100%;font-size:var(--easel-body)}.gv-form-table th,.gv-form-table td{border:1px solid var(--easel-border-strong);padding:6px 8px}.gv-form-table th{background:var(--easel-subtle);color:var(--easel-heading);text-align:left;font-weight:600}.gv-form-table input,.gv-form-table textarea,.gv-form-table select{border:1px solid var(--easel-border-strong);width:100%;font-size:var(--easel-body);border-radius:4px;padding:5px 8px}.gv-form-table textarea{resize:vertical;min-height:36px}.gv-form-table .del-cell{text-align:center;width:36px}.gv-team-stack{flex-direction:column;align-items:center;gap:3px;display:flex}.gv-team-stack span{font-size:var(--easel-caption)}.gv-team-stack .vacant{color:var(--easel-muted)}.gv-warn-icons{gap:var(--easel-space-2);align-items:center;display:flex}.gv-warn-icons span{cursor:default;font-size:var(--easel-body)}.gv-warn-icons .red{color:var(--easel-error)}.gv-warn-icons .amber{color:var(--gvolt-amber)}.gv-segwrap{margin-bottom:var(--easel-space-4);justify-content:flex-end;display:flex}.gv-team-grid{gap:var(--easel-space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.gv-team-card{background:var(--easel-surface);border:1px solid var(--easel-border);border-radius:var(--easel-radius);padding:var(--easel-space-4);transition:border-color .15s,box-shadow .15s}.gv-team-card:hover{border-color:var(--easel-primary);box-shadow:var(--easel-shadow)}.gv-team-head{align-items:center;gap:var(--easel-space-2);margin-bottom:var(--easel-space-4);display:flex}.gv-team-head h4{font-size:var(--easel-section);color:var(--easel-heading);margin:0;font-weight:650}.gv-team-size{background:var(--easel-subtle);height:20px;color:var(--easel-secondary);font-size:var(--easel-caption);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.gv-role-rows{gap:var(--easel-space-3);flex-direction:column;display:flex}.gv-role-row{align-items:baseline;gap:var(--easel-space-3);display:flex}.gv-role-name{color:var(--easel-secondary);font-size:var(--easel-helper);white-space:nowrap;flex:0 0 84px}.gv-role-count{background:var(--easel-primary-soft);min-width:20px;height:20px;color:var(--easel-primary);font-size:var(--easel-caption);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.gv-role-names{gap:var(--easel-space-2);flex-wrap:wrap;display:flex}.gv-member-name{background:var(--easel-subtle);color:var(--easel-heading);font-size:var(--easel-helper);border-radius:6px;align-items:center;padding:3px 10px;font-weight:500;display:inline-flex}.gv-member-part{color:#fff;background:#cf1322;border:1px solid #cf1322;font-weight:700}.pf-steps{max-width:1000px;margin:0 auto var(--easel-space-4);align-items:flex-start;display:flex}.pf-step{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.pf-step-dot{background:var(--easel-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:12px;font-weight:600;transition:transform .1s,box-shadow .1s;display:flex}.pf-step-dot:hover{box-shadow:0 0 0 4px var(--easel-primary-soft);background:#2f6fd6;transform:scale(1.06)}.pf-step-label{color:var(--easel-secondary);white-space:nowrap;font-size:12px}.pf-step-line{background:#c3d3e8;border-radius:2px;flex:1;height:3px;margin:11px 4px 0}.pf-form-grid{gap:var(--easel-space-3) var(--easel-space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pf-form-grid .pf-f{align-items:center;gap:var(--easel-space-2);display:flex}.pf-form-grid .pf-f>label{color:var(--easel-secondary);font-size:var(--easel-body);white-space:nowrap;text-align:right;flex:0 0 96px}.pf-form-grid .pf-f .ant-input,.pf-form-grid .pf-f .ant-select{flex:1}.pf-ai{max-width:1000px;margin:0 auto var(--easel-space-4);border:1px dashed var(--easel-primary);background:var(--easel-primary-soft);border-radius:var(--easel-radius);padding:var(--easel-space-3) var(--easel-space-4)}.pf-ai-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.pf-ai-title{color:var(--easel-primary);font-weight:650;font-size:var(--easel-body)}.pf-ai-sub{color:var(--easel-secondary);font-size:12px}.pf-ai-body{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pf-ai-upload{border:1px solid var(--easel-primary);border-radius:var(--easel-radius);color:var(--easel-primary);cursor:pointer;font-size:var(--easel-body);align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.pf-ai-upload input{display:none}.pf-ai-upload:hover{background:#fff}.pf-ai-file{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.pf-ai-status{font-size:var(--easel-helper);color:var(--easel-secondary)}.pf-ai-ok{color:var(--easel-success)}.pf-sec{border-radius:var(--easel-radius);background:#f7fafc;position:relative}.pf-sec:before{content:"";background:var(--easel-primary);border-radius:var(--easel-radius) 0 0 var(--easel-radius);width:4px;position:absolute;top:0;bottom:0;left:0}.ai-flash{animation:2.6s pfFlash}@keyframes pfFlash{0%{background:#e6f4ff}to{background:#f7fafc}}.gv-meta{color:var(--easel-secondary);margin-top:var(--easel-space-1)}.gv-review-panel{background:var(--easel-primary-soft);border:1px solid #bae0ff;position:relative;overflow:hidden}.gv-review-panel:before{content:"";background:var(--easel-primary);width:4px;position:absolute;top:0;bottom:0;left:0}.gv-review-panel .section-heading{margin-bottom:var(--easel-space-3)}.gv-review-body{align-items:flex-start;gap:var(--easel-space-3);margin-bottom:var(--easel-space-4);display:flex}.gv-review-body label{color:var(--easel-heading);flex:0 0 72px;padding-top:6px;font-weight:600}.gv-review-actions{gap:var(--easel-space-3);flex-wrap:wrap;display:flex}.gv-ai-badge{background:var(--easel-primary-soft);color:var(--easel-primary);font-size:var(--easel-caption);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.gv-chapter-nav{align-items:center;gap:var(--easel-space-3);display:flex}.gv-chapter-arrow{border:1px solid var(--easel-border);border-radius:var(--easel-radius);background:var(--easel-surface);width:32px;height:32px;color:var(--easel-heading);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.gv-chapter-arrow:hover:not(:disabled){border-color:var(--easel-primary);color:var(--easel-primary);box-shadow:var(--easel-shadow)}.gv-chapter-arrow:disabled{color:var(--easel-muted);border-color:var(--easel-border);cursor:not-allowed;opacity:.5}.gv-chapter-indicator{min-width:168px;font-size:var(--easel-body);color:var(--easel-secondary);justify-content:center;align-items:baseline;gap:4px;display:inline-flex}.gv-chapter-indicator strong{color:var(--easel-heading);font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.gv-chapter-sep{color:var(--easel-muted)}.gv-chapter-stage{height:380px;overflow-y:auto}.gv-chapter-pane h3{margin:0 0 var(--easel-space-3);font-size:var(--easel-section);color:var(--easel-heading)}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--easel-font);font-size:var(--easel-body);color:var(--easel-text);background:var(--easel-page);min-width:var(--easel-min-width);margin:0}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--easel-primary);outline-offset:3px}h1,h2,p{margin:0}h1{color:var(--easel-heading);font-size:var(--easel-title);font-weight:650;line-height:1.5}h2{font-size:var(--easel-section);color:var(--easel-heading);font-weight:600;line-height:1.5}p{line-height:1.7}.pmp-table--striped .ant-table-tbody>tr:nth-child(2n)>td{background:var(--gvolt-stripe)}.pmp-table--striped .ant-table-tbody>tr:hover>td{background:var(--easel-primary-soft)}
