/* Approved project editor; all rules are scoped to preserve other dialogs. */
#editor.project-editor{width:min(920px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(940px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;overflow:hidden;box-sizing:border-box;color:var(--project-value)}
#editor.project-editor #editform{display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-height:none;min-height:0}
#editor.project-editor header{flex:0 0 auto;padding:22px 26px;margin:0;border-bottom:1px solid var(--project-line);background:var(--project-header)}
#editor.project-editor header h2{font-size:30px;line-height:1.25;font-weight:650;color:var(--project-title)}
#editor.project-editor header #close{color:var(--project-context);background:transparent;border:0}
#editor.project-editor #fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:thin;scrollbar-color:var(--project-tag-line) var(--project-field)}
#editor.project-editor [hidden]{display:none!important}
.project-edit-main{padding:22px 20px 24px 24px;min-width:0;overflow:visible}
#editor.project-editor .project-edit-section h3,#editor.project-editor .project-supplier-editor>h3{display:flex;align-items:center;gap:9px;margin:0 0 16px;font-size:24.64px;font-weight:600;line-height:1.3;color:var(--project-title)}
#editor.project-editor .project-edit-section h3::before,#editor.project-editor .project-supplier-editor>h3::before{content:'';width:3px;height:21px;flex:0 0 3px;border-radius:2px;background:var(--brand)}
.project-edit-section+.project-edit-section{border-top:1px solid var(--project-line);margin-top:22px;padding-top:20px}
.project-edit-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 16px;min-width:0}
.project-identity .project-edit-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.project-specs .project-edit-grid{grid-template-columns:82px minmax(0,1fr) 85px;gap:14px 10px}
#editor.project-editor #fields label{display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--project-label);font-size:13.44px;font-weight:400}
#editor.project-editor #fields label>span{color:var(--project-label);font-weight:400}
#editor.project-editor #fields input{width:100%;min-width:0;max-width:100%;height:43px;min-height:43px;padding:9px 11px;background:var(--project-field);border:1px solid var(--project-line);border-radius:var(--control-radius);color:var(--project-value);font-size:15.68px;font-weight:400;box-sizing:border-box;line-height:1.5}
#editor.project-editor #fields input[name=name]{font-size:19.04px;font-weight:500}
#editor.project-editor #fields label:has(input[required])>span::after{content:' · 必填';font-size:13.44px;font-weight:400;color:var(--project-required)}
#editor.project-editor #fields input[required]{background:var(--project-required-fill);border-color:var(--project-required-line)}
#editor.project-editor #fields .project-path{grid-column:1/-1}
#editor.project-editor #fields .project-path input{font-family:Consolas,'Microsoft YaHei UI',monospace;color:var(--text-secondary);font-size:13.44px}
#editor.project-editor input:focus-visible,#editor.project-editor button:focus-visible,#editor.project-editor [tabindex]:focus-visible{outline:2px solid var(--project-focus);outline-offset:2px}
#editor.project-editor input::placeholder{color:var(--project-context);opacity:1}
.project-supplier-editor{position:static;top:auto;overflow:visible;background:transparent;border-right:0;display:grid;grid-template-rows:auto minmax(0,1.25fr) minmax(0,1fr);gap:17px;min-width:0;height:650px;margin:22px 0;padding:0 22px;border-left:1px solid var(--project-line);box-sizing:border-box}
#editor.project-editor .project-supplier-editor>h3{margin:0}
.project-partner-section{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:0;min-width:0}
#editor.project-editor .project-partner-section h4{display:flex;align-items:center;gap:10px;margin:0;color:var(--text-secondary);font-size:17.92px;font-weight:500;line-height:1.4}
.project-partner-section h4 small{font-size:13.44px;font-weight:400;color:var(--project-context)}
.supplier-people{border-top:1px solid var(--project-line);padding-top:17px;grid-template-rows:auto auto minmax(0,1fr) auto}
.supplier-tags{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:9px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:var(--project-tag-line) var(--project-field);scrollbar-width:thin;min-height:0;min-width:0;padding:4px 6px 4px 0}
.supplier-tag{display:inline-flex;flex:0 1 auto;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:42px;margin:0;padding:8px 11px;border:1px solid var(--project-tag-line);border-radius:6px;background:var(--project-tag);box-sizing:border-box;color:var(--project-value);font-size:15.68px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.supplier-tag>span{min-width:0;overflow-wrap:anywhere}
#editor.project-editor .supplier-tag>button{flex:0 0 auto;min-height:24px;min-width:24px;padding:0;border:0;background:transparent;color:var(--project-context);font-size:19px;line-height:1}
#editor.project-editor .supplier-tag .supplier-tag-name{flex:0 1 auto;min-width:0;max-width:100%;font-size:15.68px;font-weight:500;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;color:var(--project-value)}
#editor.project-editor .supplier-tag input{min-width:80px;width:150px}
.supplier-search-wrap{position:relative;min-width:0}
.supplier-results{position:absolute;z-index:4;top:calc(100% + 5px);left:0;right:0;max-height:220px;overflow-y:auto;padding:5px;border:1px solid var(--project-tag-line);border-radius:var(--control-radius);background:var(--project-field);box-shadow:0 12px 24px #0005}
#editor.project-editor .supplier-results button{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;min-height:40px;border:0;background:transparent;padding:9px;text-align:left;color:var(--project-value);font-size:15px;white-space:normal;overflow-wrap:anywhere}
#editor.project-editor .supplier-results button[aria-selected=true]{background:var(--project-tag)}
.supplier-results small{flex-shrink:0;color:var(--project-context);font-size:12px}
.supplier-results p,.supplier-empty{font-size:13.44px;color:var(--project-context);margin:8px 0;line-height:1.6}
.supplier-status{display:flex;align-items:baseline;gap:6px;font-size:12px;line-height:1.6;margin-top:6px;min-width:0;color:var(--project-context)}
.supplier-status [role=status]{min-width:0;overflow-wrap:anywhere}
#editor.project-editor .supplier-status button{flex-shrink:0;padding:0 2px;min-height:25px;font-size:12px;background:transparent;border:0;color:var(--project-label)}
.supplier-person-input{display:flex;gap:8px;min-width:0;align-items:center}
#editor.project-editor #fields .supplier-person-input input,#editor.project-editor #fields [data-supplier-company]{font-family:inherit;font-size:14.56px}
.supplier-person-input input{flex:1;min-width:0}
#editor.project-editor .supplier-person-input>button{flex-shrink:0;height:43px;padding:8px 12px;font-size:15.68px;font-weight:400;color:var(--text-secondary)}
.project-supplier-editor [role=alert]{font-size:13px;line-height:1.6;color:var(--project-required);margin:0}
.project-supplier-editor [role=alert]:empty{display:none}
#editor.project-editor footer{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding:15px 26px;margin:0;border-top:1px solid var(--project-line);background:var(--project-header)}
#editor.project-editor footer small{margin-right:auto;color:var(--project-context);font-size:12.32px;font-weight:400}
#editor.project-editor footer>button{font-size:15.68px;min-height:43px;min-width:86px;font-weight:400}
#editor.project-editor footer .primary{background:var(--project-action);border:1px solid var(--project-action);color:white;font-weight:500;min-width:106px}
#editor.project-editor footer .primary:hover{background:var(--project-action-hover)}
#editor.project-editor #formerror{padding:0 24px;margin:8px 0;color:var(--project-required);font-size:13px}
.feedback-supplier-label{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:calc(100% - 88px);margin:0 0 0 auto;padding:3px 0 3px 4px;font-size:12px;line-height:1.6;color:var(--text-secondary);cursor:pointer}
.feedback-supplier-value{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:right}
.feedback-supplier-label>svg{width:12px;height:12px;flex:0 0 12px}
.feedback-supplier-label select{position:absolute;inset:0;width:100%;height:100%;max-width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;opacity:0;font:inherit;cursor:inherit}
.feedback-supplier-label:hover:has(select:not(:disabled)){background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:var(--control-radius)}
.feedback-supplier-label:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--control-radius)}
.feedback-supplier-label:has(select:disabled){cursor:default}
.feedback-supplier-label option{background:var(--control-bg);color:var(--text)}
@media(max-width:800px){#editor.project-editor{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}#editor.project-editor #fields{grid-template-columns:1fr}.project-edit-main{padding:20px 18px}.project-supplier-editor{border-left:0;border-top:1px solid var(--project-line);margin:0 18px 20px;padding:20px 0 0;height:auto;grid-template-rows:auto auto auto}.project-partner-section .supplier-tags{height:180px}.supplier-people .supplier-tags{height:130px}#editor.project-editor .project-edit-section h3,#editor.project-editor .project-supplier-editor>h3{font-size:23.52px}}
@media(max-width:500px){#editor.project-editor header{padding:18px}#editor.project-editor header h2{font-size:26px}.project-identity .project-edit-grid{grid-template-columns:1fr}.project-specs .project-edit-grid{grid-template-columns:70px minmax(0,1fr) 70px;gap:12px 8px}#editor.project-editor #fields .project-specs input{padding:8px}#editor.project-editor footer{padding:12px 18px;flex-wrap:wrap}#editor.project-editor footer small{width:100%}#editor.project-editor footer [data-project-cancel]{margin-left:auto}#editor.project-editor .supplier-tag .supplier-tag-name{font-size:16px}}
@media(prefers-reduced-motion:reduce){#editor.project-editor *{scroll-behavior:auto}}
