:root,[data-theme=dark]{--bg:#0d1117;--bg-soft:#0f141a;--card:#161b22;--card-hover:#1b222c;--border:#30363d;--border-soft:#21262d;--text:#e6edf3;--text-dim:#8b949e;--text-faint:#6e7681;--accent:#58a6ff;--accent-dim:#1f6feb;--p-high:#f85149;--p-mid:#f0883e;--p-low:#3fb950;--s-proposal:#a371f7;--s-active:#58a6ff;--s-closed:#39c5cf;--s-hold:#8b949e}[data-theme=light]{--bg:#f6f8fa;--bg-soft:#fff;--card:#fff;--card-hover:#f0f3f6;--border:#d0d7de;--border-soft:#eaeef2;--text:#1f2328;--text-dim:#57606a;--text-faint:#8c959f;--accent:#0969da;--accent-dim:#1f6feb;--p-high:#d1242f;--p-mid:#bf5b0a;--p-low:#1a7f37;--s-proposal:#8250df;--s-active:#0969da;--s-closed:#1b9aaa;--s-hold:#8c959f}[data-theme=warm]{--bg:#faf5ec;--bg-soft:#f5eee0;--card:#fffaf0;--card-hover:#f3e9d7;--border:#e3d5bd;--border-soft:#efe5d0;--text:#3d3428;--text-dim:#7a6a52;--text-faint:#a08d70;--accent:#b45309;--accent-dim:#c2701d;--p-high:#c0392b;--p-mid:#d98324;--p-low:#6f9e3b;--s-proposal:#8e5fd1;--s-active:#b45309;--s-closed:#3d8f8f;--s-hold:#a08d70}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}.page{max-width:880px;margin:0 auto;padding:32px 20px 60px}.topbar{align-items:center;gap:14px;margin-bottom:20px;display:flex}.project-detail-page .head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.topbar .crumb{color:var(--text-faint);font-size:13px}.theme-switch{background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.theme-switch button{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12.5px}.theme-switch button:hover{color:var(--text)}.theme-switch button.active{background:var(--accent-dim);color:#fff;font-weight:600}.top-sticky{z-index:100;background:var(--bg);margin-bottom:20px;position:sticky;top:0}.top-sticky .topbar{margin-bottom:12px}.date-zone{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--card);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:14px 22px;display:flex}.date-zone .dz-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dz-date{color:var(--text);letter-spacing:.5px;font-size:22px;font-weight:800}.dz-week{color:var(--text-dim);background:var(--bg-soft);border-radius:6px;padding:2px 10px;font-size:14px;font-weight:600}.dz-time{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:1.5px;font-size:30px;font-weight:700}.dz-countdown{background:var(--accent-dim);border-radius:10px;align-items:baseline;gap:8px;padding:10px 18px;display:flex}.dz-cd-label{color:#ffffffe6;font-size:13px}.dz-cd-num{color:#fff;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1}.dz-cd-unit{color:#ffffffe6;font-size:14px}.detail-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:clip;box-shadow:0 8px 30px #00000059}.detail-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:20px 24px;display:flex}.detail-head .d-title{flex:1;min-width:200px;font-size:22px;font-weight:700}.detail-head .tags{align-items:center;gap:12px;width:100%;display:flex}.project-title-row{align-items:center;gap:20px;width:100%;display:flex}.project-title-row .d-title{overflow-wrap:anywhere;min-width:0}.project-title-row .project-context{background:0 0;flex:none;padding:0}.project-title-row .project-context[hidden]{display:none}.project-title-row .project-context button{white-space:nowrap}.project-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-head .project-badges>span{justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;line-height:1.4;display:inline-flex}.detail-head .maintenance-badge{color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border)}.detail-tabs{border-bottom:1px solid var(--border);gap:4px;padding:16px 24px 0;display:flex}.dtab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:14px}.dtab:hover{color:var(--text)}.dtab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-pane{display:none}.tab-pane.active{display:block}.stages-wrap{flex-direction:column;gap:12px;display:flex}.stages-hint{color:var(--text-faint);margin-bottom:4px;font-size:12.5px}.stages-total{background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-dim);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13.5px}.stages-total b{color:var(--accent);font-size:15px}.stages-error{color:#f85149;background:#f8514924;border:1px solid #f85149;border-left-width:4px;border-radius:8px;margin-bottom:4px;padding:12px 16px;font-size:14px;font-weight:700}.stages-error b{font-size:15px}.stage-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;padding:14px 16px}.stage-card.stage-done{background:#2ea0431a;border-left-color:#2ea043}.stage-card.stage-current{background:#3fb95033;border-left-color:#3fb950}.stage-card.stage-closed{background:#6e76814d;border-left-color:#6e7681}.stage-card.stage-todo{background:#8b949e14;border-left-color:#8b949e}.stage-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stage-idx{background:var(--accent-dim);color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.stage-card.stage-done .stage-idx{background:#2ea043}.stage-card.stage-current .stage-idx{background:#3fb950}.stage-card.stage-closed .stage-idx{background:#6e7681}.stage-name{font-size:15px;font-weight:600}.stage-progress{color:var(--text-dim);font-size:12px}.stage-card.stage-current .stage-name{color:#2ea043}.stage-done-label{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;margin-left:auto;font-size:12.5px;display:inline-flex}.stage-done-label input{accent-color:var(--accent-dim);cursor:pointer}.stage-done-label.disabled{color:var(--text-faint);cursor:not-allowed}.stage-done-label.disabled input{cursor:not-allowed;opacity:.5}.stage-card.stage-current .stage-done-label{color:var(--accent);font-weight:500}.stage-milestone{color:var(--text);margin-top:8px;font-size:13px}.stage-milestone .m-label{color:var(--text-faint);margin-right:4px}.stage-lines{color:var(--text-dim);margin-top:8px;font-size:12.5px}.stage-lines summary{cursor:pointer;color:var(--text-faint)}.stage-lines summary:hover{color:var(--text)}.stage-lines .line{border-left:2px solid var(--border);margin-top:5px;padding-left:8px}.stage-lines .line b{color:var(--text);font-weight:500}.stage-days{color:var(--text-faint);align-items:center;gap:8px;margin-top:8px;font-size:12.5px;display:flex}.stage-days input,.stage-choice-form input[type=date]{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;width:130px;padding:4px 10px;font-size:12.5px}.stage-days input:focus{border-color:var(--accent)}.stage-note-wrap{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.stage-note{background:var(--bg);min-width:220px;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;flex:1;padding:5px 10px;font-size:12.5px}.stage-note:focus{border-color:var(--accent)}.stage-done-date{color:var(--text-faint);white-space:nowrap;font-size:12px}.stage-card.stage-done .stage-done-date{color:#3fb950}.stages-actions{align-items:center;gap:12px;margin-top:4px;padding-top:4px;display:flex}.stages-save-hint{color:var(--text-faint);font-size:12px}.stage-choice{gap:10px;margin-top:10px;display:flex}.choice-btn{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600}.choice-btn.choice-done{color:#fff;background:#3fb950;border-color:#3fb950}.choice-btn.choice-done:hover{opacity:.9}.choice-btn.choice-close{color:#fff;background:#f85149;border-color:#f85149}.choice-btn.choice-close:hover{opacity:.9}.stage-choice-form{margin-top:10px}.choice-note{background:var(--bg);width:100%;min-height:60px;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;outline:none;padding:8px 10px;font-size:12.5px}.choice-note:focus{border-color:var(--accent)}.choice-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.stage-done-tag{color:#3fb950;margin-top:8px;font-size:12.5px;font-weight:600}.stage-note-view{color:var(--text-dim);margin-top:4px;font-size:12.5px;line-height:1.5}.stage-locked{color:var(--text-faint);margin-top:8px;font-size:12.5px}.detail-meta{border-bottom:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;gap:18px;padding:14px 24px;font-size:13px;display:flex}.readonly-banner{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg-soft);color:var(--text-dim);border-radius:8px;margin:12px 24px 0;padding:10px 14px;font-size:13px}.detail-meta span b{color:var(--text);font-weight:600}.detail-body{padding:22px 24px 28px}.detail-head .d-title{flex-basis:auto}.detail-head .tags{flex-wrap:wrap}.detail-notice{color:var(--text-dim);padding:0 24px 14px;font-size:12px}.project-context,.detail-recovery,.project-savebar{background:var(--bg-soft);padding:16px 24px}.project-context,.savebar-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-context span{min-width:200px;color:var(--text-dim);flex:1;font-size:13px}.detail-recovery{flex-wrap:wrap;gap:8px;padding-top:0;display:flex}.project-savebar{z-index:20;border-top:1px solid var(--border);position:sticky;bottom:0}.project-savebar[hidden],.page-menu[hidden]{display:none}.page-menu{position:relative}.page-menu>summary{cursor:pointer;white-space:nowrap;list-style:none}.page-menu>summary:after{content:" ▾"}.page-menu[open]>div,.page-menu[open]>a{margin-top:8px}.page-menu[open]>div{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;max-width:480px;padding:12px}.page-menu a{text-decoration:none;display:block}#project-actions{flex-wrap:wrap;gap:8px;display:flex}.secondary-section{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.secondary-section>summary{color:var(--text-dim);cursor:pointer;font-size:13px}.secondary-section[open]>summary{margin-bottom:12px}.trial-editor{border-bottom:0;padding-bottom:0}.trial-editor .field-full{grid-column:1/-1}.date-zone{margin-bottom:20px}.date-zone .dz-date{font-size:16px}.date-zone .dz-time{font-size:22px}.action-dialog{color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:14px;width:calc(100% - 40px);max-width:640px;max-height:calc(100dvh - 40px);margin:auto;padding:24px}.action-dialog::backdrop{background:#0009}.action-dialog-tools{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.action-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.action-dialog h2,.action-dialog h3:first-child{margin-bottom:12px;font-size:22px}.action-dialog .stage-card,.action-dialog .risk-item,.action-dialog .node-form,.action-dialog .chg-form{background:0 0;border:0;margin:0;padding:0}.action-dialog label{color:var(--text-dim);margin:12px 0 6px;font-size:13px;display:block}.action-dialog input:not([type=checkbox]):not([type=radio]),.action-dialog select,.action-dialog textarea{background:var(--bg-soft);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:10px 12px}.action-dialog textarea{resize:vertical;min-height:76px}.action-dialog [id$=-preview]{white-space:pre-wrap;margin:16px 0}.action-dialog #action-message:empty,.action-dialog #action-recovery[hidden],.action-dialog #action-reload[hidden],.action-dialog button[hidden]{display:none}.project-detail-page .date-zone{box-shadow:none;background:0 0;border:0;margin:0 0 12px;padding:0}.project-detail-page .date-zone .dz-date,.project-detail-page .date-zone .dz-week{color:var(--text-dim);background:0 0;padding:0;font-size:12px;font-weight:400}.project-detail-page .date-zone .dz-time,.project-detail-page .date-zone>.read-label{display:none}.project-detail-page .top-sticky{margin-bottom:12px;position:static}.project-detail-page .topbar{margin-bottom:0}.project-detail-page .topbar .date-zone{margin:0}.project-detail-page .detail-head{z-index:90;background:var(--card);gap:8px;padding:12px 24px;position:sticky;top:0}.project-detail-page .detail-head .d-title{margin-bottom:0}.project-editors:empty{display:none}.project-editors{max-width:40%}.presence-unavailable{color:var(--text-dim);font-size:12px}.project-detail-page .detail-tabs{padding-top:0}.project-detail-page .dtab{padding:8px 14px}.project-detail-page .detail-body{padding-top:16px}.project-toolbar{background:var(--bg-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 24px;display:flex}.project-toolbar .project-context{flex:1;min-width:260px;padding:0}.project-toolbar .detail-recovery{flex-wrap:wrap;gap:8px;padding:0;display:flex}.record-source{color:var(--text-faint);margin:4px 0;font-size:12px}.record-source>summary{cursor:pointer}.record-source p{overflow-wrap:anywhere}.editor-heading{color:var(--text);border-bottom:1px solid var(--border-soft);margin-top:16px;padding:6px 0;font-size:16px}.editor-heading:first-child{margin-top:0}.trial-editor .field-grid{margin:14px 0 24px}.project-info .field{min-width:0}.project-info .field-error:empty{display:none}.project-info .field-fact{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 0}.project-key-dates{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.project-dates .date-fact{padding:8px 0;font-size:14px}.date-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.more-project-dates{flex:1;min-width:180px}.more-project-dates>summary{cursor:pointer;width:fit-content}.more-project-dates[open]{flex-basis:100%}.more-project-dates>div{padding:8px 0;font-size:13px}.project-state{justify-content:space-between;align-items:center;gap:8px;display:flex}.status-actions{position:relative}.status-actions>summary{cursor:pointer;white-space:nowrap}.status-actions[open]>div{z-index:15;border:1px solid var(--border);background:var(--card);border-radius:6px;gap:8px;min-width:170px;padding:12px;display:grid;position:absolute;top:100%;right:0}@media (width<=600px){.project-key-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-page .page{padding:16px 12px 40px}.project-detail-page .topbar{flex-wrap:wrap;gap:8px}.project-title-row{flex-wrap:wrap;gap:10px}.project-title-row .d-title{flex:65%}.project-title-row .project-editors{order:3;max-width:100%}.project-toolbar{padding:10px 16px}.project-toolbar .project-context{flex-basis:100%;min-width:0}}.field-grid{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}.field-full{grid-column:1/-1}.field label{color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{background:var(--bg-soft);width:100%;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:76px;line-height:1.5}.statusdesc-label{align-items:center;gap:8px;display:flex!important}.statusdesc-saved{color:var(--text-faint);font-size:11px;font-weight:400}.mention-wrap{position:relative}.mention-menu{z-index:20;background:var(--card);border:1px solid var(--border);border-radius:7px;max-height:190px;padding:4px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 18px #00000040}.mention-menu.open{display:block}.mention-option{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.mention-option:hover,.mention-option.active{background:var(--card-hover)}.mention-role{color:var(--text-faint);font-size:12px}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],[data-theme=warm]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.field input[type=date]{cursor:pointer}.field .req{color:#f85149;margin-left:2px;font-weight:700}.ctrl-hint{color:#f85149;margin-top:4px;font-size:12px}.due-hint{color:var(--text-faint);margin-top:4px;font-size:12px}.field select option:disabled{color:var(--text-faint)}.chip-picker{border:1px solid var(--border-soft);background:var(--bg-soft);border-radius:8px;padding:10px}.chip-picker-selected{flex-wrap:wrap;align-items:center;gap:7px;min-height:30px;display:flex}.project-chip-tag{border:1px solid var(--accent-dim);background:var(--accent-soft);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12.5px;display:inline-flex}.project-chip-tag.unregistered{color:#f0a15b;background:#f0883e1f;border-color:#f0883e}.project-chip-remove{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:16px;line-height:1}.chip-picker-empty{color:var(--text-faint);font-size:12.5px}.chip-picker-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;display:flex}.chip-picker-actions select{flex:260px;min-width:180px}.chip-picker-btn,.chip-manage-link{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:8px 11px;font-size:12.5px;text-decoration:none}.chip-picker-btn:hover,.chip-manage-link:hover{border-color:var(--accent);background:var(--accent-soft)}.chip-picker-btn:disabled{opacity:.45;cursor:not-allowed}.chip-picker-hint,.chip-picker-warning{color:var(--text-faint);margin-top:7px;font-size:12px;line-height:1.5}.chip-picker-warning{color:#f0a15b}.chip-add-btn{color:var(--accent);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:10px;padding:8px 14px;font-size:13px}.chip-add-btn:hover{border-color:var(--accent);background:var(--bg-soft)}.participant-list{flex-direction:column;gap:8px;display:flex}.part-item{align-items:center;gap:8px;display:flex}.part-item .part-input{background:var(--bg-soft);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.part-item .part-input:focus{border-color:var(--accent)}.part-del-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex:none;width:34px;height:36px;font-size:18px;line-height:1}.part-del-btn:hover{color:#f85149;border-color:#f85149}.person-picker{position:relative}.person-picker-selected{border:1px solid var(--border);background:var(--bg-soft);border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:4px 7px;display:flex}.person-chip{color:var(--text);background:#58a6ff24;border-radius:12px;align-items:center;gap:5px;padding:3px 7px;font-size:12px;display:inline-flex}.person-chip.legacy{color:var(--p-mid);background:#f0883e24}.person-chip-remove{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;line-height:1}.person-search{background:var(--bg-soft);width:100%;color:var(--text);border:1px solid var(--border);border-radius:7px;outline:none;margin-top:7px;padding:8px 11px;font-family:inherit;font-size:14px}.person-search:focus{border-color:var(--accent)}.person-options{z-index:25;border:1px solid var(--border);background:var(--card);border-radius:8px;max-height:210px;padding:5px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0000002e}.person-picker.open .person-options{display:block}.person-option{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.person-option:hover,.person-option.active{background:var(--card-hover);color:var(--accent)}.person-option-role{color:var(--text-faint);margin-left:10px;font-size:12px}.person-picker-hint{color:var(--text-faint);margin-top:5px;font-size:11.5px}.person-picker-hint a{color:var(--accent);text-decoration:none}.person-picker-hint a:hover{text-decoration:underline}.rc-section{margin-top:18px}.rc-section:first-child{margin-top:0}.rc-section-title{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:700}.risk-list{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.risk-empty{color:var(--text-faint);font-size:13px}.risk-item{border:1px solid var(--border);background:var(--bg-soft);border-left:3px solid #f85149;border-radius:8px;padding:10px 12px}.risk-item.resolved{opacity:.8;border-left-color:#3fb950}.risk-item-head{align-items:center;gap:10px;display:flex}.risk-content{color:var(--text);flex:1;font-size:13.5px}.risk-badge{border-radius:10px;flex:none;padding:1px 10px;font-size:12px;font-weight:600}.risk-badge.active{color:#f85149;background:#f8514929}.risk-badge.resolved{color:#3fb950;background:#3fb95029}.risk-meta{color:var(--text-faint);margin-top:4px;font-size:12px}.risk-resolve-info{color:var(--text-dim);margin-top:6px;font-size:12.5px}.risk-resolve-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:5px 12px;font-size:13px}.risk-resolve-btn:hover{background:var(--card-hover);color:var(--text)}.risk-resolve-btn[data-risk=delete]{color:var(--p-high);border-color:var(--p-high)}.risk-add-btn{color:var(--accent);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px}.risk-add-btn:hover{border-color:var(--accent);background:var(--bg-soft)}.risk-form,.risk-resolve-form{margin-top:10px}.risk-note,.risk-resolve-note{background:var(--bg);width:100%;min-height:64px;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;outline:none;padding:8px 10px;font-size:12.5px;line-height:1.5}.risk-note:focus,.risk-resolve-note:focus{border-color:var(--accent)}.risk-actions{gap:8px;margin-top:8px;display:flex}.risk-actions .risk-confirm,.risk-actions .risk-resolve-confirm{background:var(--accent-dim);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 18px;font-size:13px;font-weight:600}.risk-actions .risk-confirm:hover,.risk-actions .risk-resolve-confirm:hover{background:var(--accent)}.risk-actions .risk-cancel,.risk-actions .risk-resolve-cancel{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px}.risk-actions .risk-cancel:hover,.risk-actions .risk-resolve-cancel:hover{color:var(--text);background:var(--card-hover)}.risk-form-row{gap:8px;margin-top:20px;display:grid}.risk-row-label{color:var(--text-dim);font-size:13px}.risk-level-select{gap:6px;display:inline-flex}.rlv-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:4px 16px;font-size:12.5px}.rlv-btn:hover{color:var(--text);background:var(--card-hover)}.rlv-btn.active.rlv-高{color:#f85149;background:#f851492e;border-color:#f85149;font-weight:600}.rlv-btn.active.rlv-中{color:#f0883e;background:#f0883e2e;border-color:#f0883e;font-weight:600}.rlv-btn.active.rlv-低{color:#3fb950;background:#3fb9502e;border-color:#3fb950;font-weight:600}.risk-level{border-radius:4px;flex:none;padding:0 7px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.risk-level.lv-高{color:#f85149;background:#f8514929;border:1px solid #f8514959}.risk-level.lv-中{color:#f0883e;background:#f0883e29;border:1px solid #f0883e59}.risk-level.lv-低{color:#3fb950;background:#3fb95029;border:1px solid #3fb95059}.delay-control-head{color:var(--text);align-items:center;gap:8px;margin-bottom:10px;font-size:13.5px;display:flex}.delay-status{border-radius:12px;padding:1px 12px;font-size:12.5px;font-weight:600;display:inline-block}.delay-status.delay-yes{color:#f85149;background:#f8514929;border:1px solid #f8514966}.delay-status.delay-no{color:#3fb950;background:#3fb95029;border:1px solid #3fb95066}.delay-list{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.delay-item{border:1px solid var(--border);background:var(--bg-soft);border-left:3px solid #f85149;border-radius:8px;padding:10px 12px}.delay-item-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.delay-no{color:#f85149;background:#f8514929;border-radius:12px;padding:1px 12px;font-size:12.5px;font-weight:700;display:inline-block}.delay-time{color:var(--text-faint);font-size:12px}.delay-ops{align-items:center;gap:6px;margin-left:auto;display:flex}.delay-op-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;padding:2px 10px;font-size:12px}.delay-op-btn:hover{color:var(--accent);border-color:var(--accent)}.delay-op-btn.danger:hover{color:#f85149;border-color:#f85149}.delay-status-select{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;outline:none;padding:5px 10px;font-size:12.5px;font-weight:600}.delay-status-select:focus{border-color:var(--accent)}.delay-form-title{color:var(--text-dim);margin-bottom:2px;font-size:13px;font-weight:600}.delay-line{gap:8px;margin-top:3px;font-size:12.5px;line-height:1.6;display:flex}.dl-label{color:var(--text-faint);flex:none;min-width:92px}.dl-val{color:var(--text-dim);word-break:break-all;flex:1}.delay-hint{color:var(--text-faint);font-size:12.5px}.delay-form{flex-direction:column;gap:10px;margin-top:10px;display:flex}.delay-form-row{align-items:flex-start;gap:10px;display:flex}.delay-form-row .chg-row-label{flex:none;min-width:92px;padding-top:6px}.delay-form-row .chg-content-input{flex:1;width:auto;min-height:52px;margin-bottom:0}.delay-form-row input[type=date]{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;flex:none;padding:7px 10px;font-size:13px}.delay-form-row input[type=date]:focus{border-color:var(--accent)}.chg-list{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.chg-item{border:1px solid var(--border);background:var(--bg-soft);border-left:3px solid #39c5cf;border-radius:8px;padding:10px 12px}.chg-item.rejected{border-left-color:#f85149}.chg-head{align-items:center;gap:8px;display:flex}.chg-src,.chg-status{white-space:nowrap;border-radius:10px;padding:1px 10px;font-size:12px;font-weight:600}.chg-src.src-customer{color:#58a6ff;background:#58a6ff29}.chg-src.src-biz{color:#a371f7;background:#a371f729}.chg-status.st-accept{color:#3fb950;background:#3fb95029}.chg-status.st-reject{color:#f85149;background:#f8514929}.chg-time{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:12px}.chg-content{color:var(--text);margin-top:6px;font-size:13.5px}.chg-reason{color:var(--text-dim);margin-top:4px;font-size:12.5px}.chg-form{margin-top:20px}.chg-form-row{gap:8px;margin-bottom:20px;display:grid}.chg-row-label{color:var(--text-dim);font-size:13px}.chg-form-row>div{flex-wrap:wrap;gap:24px;display:flex}.chg-form select{background:var(--bg);width:min(100%,280px);color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;padding:10px 12px;font-size:13px}.chg-radio{color:var(--text);cursor:pointer;align-items:center;gap:5px;font-size:13px;display:inline-flex}.chg-radio input{accent-color:var(--accent-dim);cursor:pointer}.chg-content-input,.chg-reason-input{background:var(--bg);width:100%;min-height:60px;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;outline:none;margin-bottom:8px;padding:8px 10px;font-size:12.5px;line-height:1.5}.chg-content-input:focus,.chg-reason-input:focus{border-color:var(--accent)}.gantt{padding:4px 0}.gantt-axis{color:var(--text-faint);justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.gantt-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.gantt-name{color:var(--text-dim);text-align:right;white-space:nowrap;flex:0 0 88px;font-size:12px}.gantt-track{background:var(--bg-soft);border-radius:6px;flex:1;height:28px;position:relative}.gantt-bar{color:#fff;white-space:nowrap;border-radius:6px;align-items:center;height:100%;padding:0 10px;font-size:12px;display:flex;position:absolute;top:0;overflow:hidden}.gantt-empty{color:var(--text-dim);text-align:center;padding:30px 0;font-size:14px}.milestones{padding-left:28px;position:relative}.milestones:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.ms-item{padding-bottom:22px;position:relative}.ms-item:last-child{padding-bottom:0}.ms-dot{border:2px solid var(--text-faint);background:var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-26px}.ms-dot.done{background:#3fb950;border-color:#3fb950}.ms-dot.active{background:#58a6ff;border-color:#58a6ff;box-shadow:0 0 0 4px #58a6ff26}.ms-dot.pending{background:0 0;border-color:#8b949e}.ms-date{color:var(--text-faint);font-size:12px}.ms-title{color:var(--text);margin:2px 0;font-size:14px;font-weight:600}.ms-desc{color:var(--text-dim);font-size:12.5px}.ms-status{vertical-align:2px;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:11px;display:inline-block}.ms-status.done{color:#3fb950;background:#3fb95026}.ms-status.active{color:#58a6ff;background:#58a6ff26}.ms-status.pending{color:#8b949e;background:#8b949e26}.detail-foot{border-top:1px solid var(--border);align-items:center;gap:12px;padding:16px 24px;display:flex}.save-hint{color:var(--text-faint);margin-left:auto;font-size:12px}.pri-tag,.st-tag{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.status-with-maintenance{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.maintenance-badge{color:#fff;white-space:nowrap;background:#9333ea;border-radius:7px;padding:0 6px;font-size:9px;font-weight:700;line-height:1.35;display:inline-block}.pri-high{color:var(--p-high);background:#f8514926}.pri-mid{color:var(--p-mid);background:#f0883e26}.pri-low{color:var(--p-low);background:#3fb95026}.st-proposal{color:var(--s-proposal);background:#a371f726}.st-active{color:var(--s-active);background:#58a6ff26}.st-closed{color:var(--s-closed);background:#39c5cf26}.st-hold{color:var(--s-hold);background:#8b949e26}.signal-tag{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.signal-dot{border-radius:50%;flex:none;width:8px;height:8px}.signal-green{color:#3fb950;background:#3fb95026}.signal-green .signal-dot{background:#3fb950;box-shadow:0 0 6px #3fb950d9}.signal-yellow{color:#e3b341;background:#f5b30126}.signal-yellow .signal-dot{background:#f5b301;box-shadow:0 0 6px #f5b301d9}.signal-red{color:#f85149;background:#f8514926}.signal-red .signal-dot{background:#f85149;box-shadow:0 0 6px #f85149d9}.signal-rule details{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:8px;padding:10px 14px}.signal-rule summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600}.signal-rule summary:hover{color:var(--text)}.signal-rule ul{margin:10px 0 0 18px;list-style:outside}.signal-rule li{color:var(--text-dim);font-size:12.5px;line-height:1.7}.signal-rule .rule-g{color:#3fb950}.signal-rule .rule-y{color:#e3b341}.signal-rule .rule-r{color:#f85149}.history{padding-left:22px;position:relative}.history:before{content:"";background:var(--border);width:2px;position:absolute;top:4px;bottom:4px;left:6px}.h-item{padding-bottom:16px;position:relative}.h-item:last-child{padding-bottom:0}.h-dot{background:var(--accent);border:2px solid var(--bg);width:9px;height:9px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;position:absolute;top:5px;left:-20px}.h-date{color:var(--text-faint);font-size:12px}.h-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.history-empty{color:var(--text-faint);font-size:12.5px}.nodes-wrap{flex-direction:column;gap:12px;display:flex}.nodes-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.nodes-hint{color:var(--text-dim);font-size:12.5px}.node-form{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-soft);border-radius:10px;padding:14px 16px}.node-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.node-form-grid>.field:first-child{grid-column:1/-1}.node-form-grid>.field:has(textarea){grid-column:1/-1}.node-form-title{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:700}.node-form-grid .field label{color:var(--text-dim);margin-bottom:8px;font-size:13px;display:block}.node-form-grid input:not([type=checkbox]):not([type=radio]),.node-form-grid select,.node-form textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.node-form-grid input:focus,.node-form-grid select:focus,.node-form textarea:focus{border-color:var(--accent)}.node-form textarea{resize:vertical;min-height:60px;line-height:1.5}.node-form-hint{color:var(--text-faint);margin-top:8px;font-size:12px}.node-list{flex-direction:column;gap:10px;display:flex}.node-empty{color:var(--text-faint);padding:12px 0;font-size:12.5px}.node-item{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:12px 14px}.node-item.done{background:#3fb9501f;border-left:3px solid #3fb950}.node-item:not(.done){border-left:3px solid var(--accent)}.node-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.node-name{color:var(--text);font-size:14px;font-weight:700}.node-stage{color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:1px 10px;font-size:12.5px;font-weight:600}.node-badge{border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.node-badge.done{color:#3fb950;background:#3fb95033}.node-badge.todo{color:var(--accent);background:#58a6ff29}.node-edit,.node-del{color:var(--text-faint);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:2px 10px;font-size:12px}.node-edit{margin-left:0}.node-edit:hover{color:var(--accent);border-color:var(--accent)}.node-del:hover{color:var(--p-high);border-color:var(--p-high)}.node-dates{color:var(--text-dim);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:12.5px;display:flex}.node-done-date{color:#3fb950}.node-output{color:var(--text);margin-top:4px;font-size:13px;line-height:1.5}.toast{background:var(--accent-dim);color:#fff;opacity:0;pointer-events:none;z-index:200;border-radius:8px;padding:10px 22px;font-size:14px;transition:opacity .25s,transform .25s;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;transform:translate(-50%)translateY(6px)}.not-found{text-align:center;color:var(--text-dim);padding:80px 20px}.not-found h2{color:var(--text);margin-bottom:10px}@media (width<=768px){.page{padding:20px 16px 40px}.detail-body{padding:18px 18px 24px}}@media (width<=640px){.page{padding:12px 10px 32px}.topbar{flex-wrap:wrap;gap:8px}.topbar .crumb{font-size:12px}.detail-head{padding:16px}.detail-head .d-title{font-size:18px}.detail-tabs{padding:12px 12px 0}.dtab{padding:8px 12px;font-size:13px}.detail-meta{gap:10px;padding:12px 16px;font-size:12px}.detail-meta span{flex:0 0 100%}.detail-body{padding:16px}.field-grid{grid-template-columns:1fr;gap:14px}.node-form-grid{grid-template-columns:1fr}.detail-foot{flex-wrap:wrap;padding:14px 16px}.detail-foot .save-hint{width:100%;margin-left:0}.gantt-name{flex:0 0 68px;font-size:11px}.gantt-bar{padding:0 6px;font-size:11px}.gantt-track{height:24px}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::-webkit-scrollbar-track{background:0 0}.flow-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.flow-hint{color:var(--text-faint);font-size:12.5px}.flow-canvas{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;position:relative;overflow:auto}.flow-inner{width:1240px;position:relative}.flow-links{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.flow-links .flow-link-path{stroke:var(--accent);stroke-width:2px;fill:none;stroke-linecap:round}.flow-links .flow-link-dot{fill:var(--accent)}.flow-links .flow-link-hit{stroke:#0000;stroke-width:12px;fill:none;cursor:pointer;pointer-events:stroke}.flow-lane{border-bottom:1px dashed var(--border-soft);background:#8080800a;height:96px;position:absolute;left:190px;right:0}.flow-lane-label{box-sizing:border-box;border-bottom:1px dashed var(--border-soft);background:var(--bg);width:190px;height:96px;color:var(--text);flex-direction:column;justify-content:center;padding:0 14px;font-size:13px;font-weight:500;line-height:1.4;display:flex;position:absolute;left:0}.flow-lane-label .sl-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.flow-lane-label .sl-milestone{color:var(--text-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.flow-lane-label .sl-state{margin-top:3px;font-size:11px;font-weight:500}.flow-lane-label.lane-current{border-left:3px solid var(--accent);background:#58a6ff14}.flow-lane-label.lane-done{border-left:3px solid #3fb950}.flow-lane-label.lane-closed{border-left:3px solid var(--text-faint)}.flow-lane-label .sl-no{color:var(--text-faint);margin-top:2px;font-size:11px;font-weight:400}.flow-node{z-index:2;box-sizing:border-box;cursor:grab;background:var(--card);border:1px solid var(--border);border-radius:8px;width:140px;padding:8px 14px 8px 12px;position:absolute;box-shadow:0 1px 3px #0000002e}.flow-node.done{border-left:3px solid #3fb950}.flow-node.todo{border-left:3px solid #f0883e}.flow-node:hover{border-color:var(--accent)}.flow-node.dragging{cursor:grabbing;border-color:var(--accent)}.flow-node .fn-name{color:var(--text);word-break:break-all;font-size:13px;font-weight:500;line-height:1.3}.flow-node .fn-date{color:var(--text-faint);margin-top:3px;font-size:11px}.flow-port{background:var(--accent);border:2px solid var(--bg);cursor:crosshair;z-index:3;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.flow-port.out{right:-7px}.flow-port.in{left:-7px}.flow-ghost{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4;fill:none}.flow-lane-label{cursor:pointer}.flow-lane-label:hover{background:var(--card-hover)}.flow-lane:hover{background:#80808012}.sl-done{color:#3fb950;margin-top:2px;font-size:11px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.flow-modal{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:460px;max-width:92vw;max-height:86vh;display:flex;box-shadow:0 20px 50px #00000059}.flow-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.flow-modal-head .title{color:var(--text);font-size:15px;font-weight:600}.flow-modal-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.flow-modal-close:hover{color:var(--text)}.flow-modal-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.flow-modal-body .field{flex-direction:column;gap:5px;display:flex}.flow-modal-body .field label{color:var(--text-faint);font-size:12px}.flow-modal-body input[type=text],.flow-modal-body input[type=date],.flow-modal-body textarea{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.flow-modal-body textarea{resize:vertical;min-height:60px}.flow-modal-body input:focus,.flow-modal-body textarea:focus{border-color:var(--accent)}.flow-modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.flow-print-area{display:none}@media print{body>:not(.flow-print-area){display:none!important}.flow-print-area{color:#111;background:#fff;padding:24px;display:block!important}.flow-print-area h1{color:#111;margin:0 0 4px;font-size:18px}.flow-print-area .fbp-meta{color:#555;margin-bottom:16px;font-size:12px}.flow-print-area .fbp-item{page-break-inside:avoid;border:1px solid #ccc;border-radius:6px;margin-bottom:10px;padding:10px 12px}.flow-print-area .fbp-head{color:#333;margin-bottom:4px;font-size:13px;font-weight:600}.flow-print-area .fbp-content{color:#111;font-size:13px;line-height:1.6}}.flow-lane-add{width:88px;height:30px;color:var(--text-dim);border:1px dashed var(--border);cursor:pointer;z-index:5;background:0 0;border-radius:6px;font-size:12px;position:absolute;right:8px}.flow-lane-add:hover{color:var(--accent);border-color:var(--accent)}.flow-child-toggle{color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:6px;font-size:11px}.flow-child-toggle:hover{text-decoration:underline}.flow-children{border-top:1px dashed var(--border-soft);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.flow-child{color:var(--text-dim);cursor:pointer;border-radius:4px;justify-content:space-between;gap:6px;padding:3px 6px;font-size:11px;display:flex}.flow-child:hover{background:var(--bg-soft);color:var(--text)}.flow-child .fc-date{color:var(--text-faint);white-space:nowrap}.flow-child-add{color:var(--accent);cursor:pointer;text-align:center;padding:2px 0;font-size:11px}.flow-child-add:hover{text-decoration:underline}.flow-modal-body select{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13px}.flow-modal-body select:focus{border-color:var(--accent)}.flow-stage-tag{color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500}.pf-wrap{flex-direction:column;gap:12px;display:flex}.pf-hint{color:var(--text-faint);margin-bottom:2px;font-size:12.5px}.pf-lane{position:relative}.pf-edit-stage{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;margin-left:auto;padding:3px 12px;font-size:12px}.pf-edit-stage:hover{color:var(--accent);border-color:var(--accent)}.pf-nodes{border-top:1px dashed var(--border-soft);margin-top:12px;padding-top:10px}.pf-nodes-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pf-nodes-count{color:var(--text-dim);font-size:12.5px}.pf-node-add{color:var(--accent);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:12.5px}.pf-node-add:hover{border-color:var(--accent);background:var(--bg-soft)}.pf-toggle{color:var(--text-faint);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:12px}.pf-toggle:hover{color:var(--text);background:var(--card-hover)}.pf-node-body{margin-top:10px;display:none}.pf-node-body.open{flex-direction:column;gap:8px;display:flex}.flow-node{min-height:60px}.flow-node .fn-del{text-align:center;color:#fff;cursor:pointer;background:#f85149e6;border:none;border-radius:50%;width:16px;height:16px;padding:0;font-size:12px;line-height:14px;display:none;position:absolute;top:2px;right:4px}.flow-node:hover .fn-del{display:block}.flow-link-hit{stroke:#0000;stroke-width:14px;fill:none;cursor:pointer;pointer-events:stroke}.pf-preview-overlay{z-index:1200;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pf-preview-box{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:92vw;max-width:1100px;max-height:90vh;display:flex;box-shadow:0 20px 60px #00000080}.pf-preview-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.pf-preview-head .title{color:var(--text);font-size:15px;font-weight:600}.pf-preview-body{text-align:center;background:var(--bg-soft);padding:16px 18px;overflow:auto}.pf-preview-body img{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;height:auto}.pf-preview-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.fs-ops-btns{gap:10px;display:flex}.fs-ops-btns .btn{flex:1}#fs-choice-note{background:var(--bg-soft);width:100%;min-height:54px;color:var(--text);border:1px solid var(--border);box-sizing:border-box;resize:vertical;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}#fs-choice-note:focus{border-color:var(--accent)}.fs-choice-actions{gap:10px;margin-top:8px;display:flex}.fs-choice-actions .btn{flex:1}.project-collaboration{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.project-collaboration>.page-menu{margin-left:auto}.collaboration-actions{background:var(--card);border:1px solid var(--border);border-radius:8px;gap:10px;min-width:220px;padding:12px;display:grid}.collaboration-actions select,.stage-choice select{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;padding:8px}#risk-edit button[type=submit],#change-edit button[type=submit],#node-edit button[type=submit],#stage-form button[type=submit],#correction-edit button[type=submit],#plan-edit button[type=submit],#lifecycle-edit button[type=submit]{display:none}.project-title-row #save-project{flex:none;align-self:center;margin-left:auto}.ref-pill,.selected-tag{justify-content:center;align-items:center;display:inline-flex}.project-exit{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:24px 32px;display:flex}.project-exit:empty{display:none}.project-access:not([hidden]){border-bottom:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.stage-choice [data-confirm-state][aria-pressed=true]{outline:3px solid var(--accent);outline-offset:3px}
