/* ── editor：編輯視窗（手機整頁、電腦置中） ── */
#veil-edit{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-modal);display:flex;align-items:stretch;justify-content:center}
.editor{background:var(--bg);width:100%;max-width:820px;overflow-y:auto;display:flex;flex-direction:column}
@media (min-width:800px){#veil-edit{align-items:center;padding:var(--sp-9)}.editor{max-height:calc(100vh - 48px);border-radius:var(--r-lg)}}
.ed-head{position:sticky;top:0;z-index:2;background:var(--side);color:#fff;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-7)}
.ed-head h2{margin:0;font-size:var(--fs-md);flex:1;line-height:var(--lh-tight);min-width:0;overflow-wrap:anywhere}
.ed-head button{background:none;border:0;color:#fff;font-size:24px;line-height:1;min-width:var(--tap);min-height:var(--tap)}
.ed-head :focus-visible{outline-color:#fff}
.ed-body{padding:var(--sp-6) var(--sp-7) var(--sp-3)}
.fs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);margin:0 0 var(--sp-5);border-left-width:4px;min-width:0}
.fs.m{border-left-color:var(--money)} .fs.p{border-left-color:var(--people)} .fs.j{border-left-color:var(--project)}
.fs legend{font-weight:900;font-size:var(--fs-body);padding:0 var(--sp-1)}
.fs.m legend{color:var(--money-ink)} .fs.p legend{color:var(--people-ink)} .fs.j legend{color:var(--project-ink)}
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-4)}
.f{min-width:0}
.f label{display:block;font-size:var(--fs-cap);font-weight:700;color:var(--ink-3);margin-bottom:3px}
.f input,.f select,.f textarea{width:100%;min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:7px;background:var(--surface-2);font-size:var(--fs-body)}
.f textarea{min-height:72px;resize:vertical}
.f.chk label{display:flex;gap:var(--sp-3);align-items:center;font-size:var(--fs-body);color:var(--ink);font-weight:600;margin-top:24px;min-height:var(--tap)}
.f.chk input{width:20px;height:20px;min-height:0}
.ilist{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.ed-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);min-width:0}
.ed-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-body);font-weight:600}
.ed-item>summary::-webkit-details-marker{display:none}
.ed-it-t{flex:1;min-width:0;overflow-wrap:anywhere}
.ed-it-arrow{color:var(--ink-3);transition:transform var(--dur) var(--ease)}
.ed-item[open]>.ed-item-arrow,.ed-item[open]>summary .ed-it-arrow{transform:rotate(90deg)}
.ed-item>.td{padding:0 var(--sp-5) var(--sp-5)}
.ed-item-foot{display:flex;justify-content:flex-end;padding:0 var(--sp-5) var(--sp-5)}
.have-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--tap);gap:var(--sp-3);align-items:end}
.have-row .f>span{display:block;font-size:var(--fs-cap);font-weight:700;color:var(--ink-3);margin-bottom:3px}
.have-row input{width:100%;min-height:var(--tap);padding:var(--sp-3);border:1px solid var(--line);border-radius:7px;background:var(--surface-2);font-size:var(--fs-body);min-width:0}
.have-row .rm{border:1px solid var(--line);background:var(--surface);border-radius:7px;height:var(--tap);color:var(--bad-ink);font-size:20px}
.addrow{border:1.5px dashed var(--line);background:none;border-radius:7px;min-height:var(--tap);font-size:var(--fs-sm);font-weight:700;color:var(--ink-2);width:100%}
.hintline{font-size:var(--fs-cap);color:var(--ink-3);margin:0 0 var(--sp-3)}
.ed-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);display:flex;gap:var(--sp-3);padding:var(--sp-5) var(--sp-7) calc(var(--sp-5) + env(safe-area-inset-bottom))}
.ed-foot .sp{flex:1}
.ed-err{color:var(--bad-ink);font-size:var(--fs-cap);padding:0 var(--sp-7)}
