/* 流程页组件：A 工程档案结构 / C 工程蓝主题 */
.flow-page{background:var(--bg);padding-bottom:22px}.flow-head{padding:18px 0 16px}.flow-head h1{font-size:22px;color:var(--ink-strong);margin:0 0 5px;line-height:1.35}.flow-head p{margin:0;color:var(--ink-2);font-size:12px;line-height:1.6}
.flow-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:15px;margin:0 0 12px}.flow-card h2{font-size:15px;margin:0 0 12px;color:var(--ink-strong)}.flow-card p{font-size:12px;line-height:1.6;color:var(--ink-2);margin:8px 0}.flow-card img{max-width:100%}
.flow-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.flow-row:last-child{border-bottom:0}.flow-row>a,.flow-row button.link{color:var(--brand);font-size:12px;white-space:nowrap}.flow-row small{font-size:11px;color:var(--ink-2)}.flow-row strong{font-weight:600;color:var(--ink-strong)}
.flow-label{display:block;font-size:12px;color:var(--ink-2);margin:0 0 6px}.flow-input,.flow-textarea,.flow-select{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:var(--r-input);background:var(--card);font:14px var(--font);color:var(--ink);padding:10px 11px;outline:0}.flow-input:focus,.flow-textarea:focus,.flow-select:focus{border-color:var(--brand)}.flow-textarea{min-height:93px;resize:vertical;line-height:1.6}.flow-field{margin:0 0 14px}.flow-help{font-size:11px;color:var(--ink-2);line-height:1.55;margin:6px 0 0}.flow-btn{display:flex;align-items:center;justify-content:center;width:100%;height:44px;background:var(--brand);border-radius:var(--r-btn);color:var(--card);font-size:14px;font-weight:600;cursor:pointer}.flow-btn.secondary{background:var(--card);color:var(--brand);border:1px solid var(--line)}.flow-actions{display:flex;gap:9px}.flow-actions>*{flex:1}.flow-mini{font-size:11px;color:var(--ink-2)}.flow-kicker{font-size:11px;color:var(--ink-2);letter-spacing:.07em;margin:0 0 9px}.flow-amount{font:400 42px Georgia,serif;color:var(--brand-dark)}.flow-amount span{font:500 16px var(--font);margin-left:3px}.flow-alert{background:var(--brand-light);border-left:3px solid var(--brand);color:var(--ink-strong);padding:12px 13px;font-size:12px;line-height:1.6;margin-bottom:12px}.flow-alert.warn{background:var(--warning-bg);border-color:var(--warning)}.flow-alert.danger{background:var(--danger-bg);border-color:var(--danger)}
.flow-pill{display:inline-block;background:var(--brand-light);color:var(--brand);padding:4px 8px;border-radius:3px;font-size:11px}.flow-pill.warn{background:var(--warning-bg);color:#9A6500}.flow-pill.ok{background:var(--success-bg);color:var(--success)}
.flow-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.flow-stat{background:var(--card);border:1px solid var(--line);padding:11px;border-radius:var(--r-card)}.flow-stat small{font-size:11px;color:var(--ink-2)}.flow-stat strong{display:block;font-size:20px;color:var(--ink-strong);margin-top:4px}
.flow-steps{border-left:2px solid var(--line);padding-left:17px;margin:7px 0 0 8px}.flow-step{position:relative;padding:0 0 18px}.flow-step:last-child{padding-bottom:0}.flow-step:before{content:"";position:absolute;left:-24px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--card);border:2px solid var(--line)}.flow-step.current:before{background:var(--brand);border-color:var(--brand)}.flow-step.done:before{background:var(--success);border-color:var(--success)}.flow-step strong{font-size:13px}.flow-step small{display:block;color:var(--ink-2);font-size:11px;margin-top:3px;line-height:1.5}
.flow-photo{width:100%;height:155px;display:block;object-fit:cover;border-radius:var(--r-input)}.flow-thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.flow-thumb-grid img{width:100%;height:72px;object-fit:cover;border-radius:var(--r-input);cursor:zoom-in}.flow-upload{display:block;border:1px dashed var(--brand-bright);border-radius:var(--r-input);padding:20px 10px;text-align:center;background:var(--brand-light-2);color:var(--brand);font-size:13px;cursor:pointer}.flow-upload input{display:none}.flow-files{margin-top:8px;font-size:11px;color:var(--ink-2);line-height:1.6}.flow-file{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.flow-seg{display:flex;gap:7px;margin-bottom:13px;overflow:auto}.flow-seg button{padding:7px 11px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-btn);color:var(--ink-2);font-size:12px;white-space:nowrap}.flow-seg button.on{background:var(--brand);color:var(--card);border-color:var(--brand)}
.flow-table{width:100%;border-collapse:collapse;font-size:12px}.flow-table th{background:var(--brand-light-2);color:var(--ink-2);font-weight:500;text-align:left;padding:10px}.flow-table td{border-bottom:1px solid var(--line);padding:11px 10px;vertical-align:middle}.flow-table a,.flow-table button{color:var(--brand);font-size:12px}.flow-toolbar{display:flex;gap:9px;align-items:center;justify-content:space-between;margin-bottom:14px}.flow-toolbar input,.flow-toolbar select{border:1px solid var(--line);border-radius:var(--r-input);padding:8px 10px;font:12px var(--font);background:var(--card)}
.flow-pdf{border:1px solid var(--line);background:var(--brand-light-2);padding:22px;text-align:center;border-radius:var(--r-card);font-size:12px;color:var(--ink-2)}.flow-pdf b{display:block;font-size:34px;color:var(--brand);margin-bottom:8px}
.flow-check{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5;margin:10px 0}.flow-check input{accent-color:var(--brand)}
.flow-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.flow-calendar span{text-align:center;padding:7px 0;border-radius:3px;font-size:11px;background:var(--card);border:1px solid var(--line)}.flow-calendar span.work{background:var(--success-bg);color:var(--success);border-color:var(--success-bg)}.flow-calendar span.stop{background:var(--bg);color:var(--ink-2)}.flow-calendar span.label{border:0;background:none;color:var(--ink-2)}
.flow-bottom{flex:none;padding:10px 16px 17px;background:var(--card);border-top:1px solid var(--line)}.flow-bottom .flow-btn{height:45px}.flow-bottom .flow-actions .flow-btn{height:43px}
.flow-overlay{display:none;position:fixed;inset:0;background:rgba(20,40,79,.48);z-index:300;align-items:center;justify-content:center;padding:20px}.flow-overlay.show{display:flex}.flow-dialog{width:min(580px,100%);max-height:90vh;overflow:auto;background:var(--card);padding:22px;border-radius:var(--r-card);box-shadow:var(--sh-pop)}.flow-dialog h2{margin:0 0 8px;font-size:18px}.flow-dialog p{font-size:12px;color:var(--ink-2);line-height:1.6}.flow-dialog .flow-actions{margin-top:16px}.flow-dialog canvas{width:100%;height:170px;border:1px solid var(--line);touch-action:none;background:var(--brand-light-2)}
.flow-admin{padding:0}.admin-content.flow-admin{padding:28px}.flow-admin .flow-head{padding:0 0 20px}.flow-admin .flow-card{padding:20px;margin-bottom:16px}.flow-admin .flow-row{font-size:13px}.flow-admin .flow-input,.flow-admin .flow-select{font-size:13px}.flow-admin .flow-btn{width:auto;padding:0 18px;height:36px;font-size:13px}.flow-admin .flow-toolbar .flow-btn{flex:none}.flow-admin .flow-grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.flow-admin .flow-stat strong{font-size:29px}.flow-admin .flow-table{font-size:13px}.flow-admin .flow-table td{padding:13px 10px}
@media(max-width:900px){.flow-admin .flow-grid2{grid-template-columns:1fr}}

.change-signature{display:block;width:100%;max-width:260px;height:100px;object-fit:contain;background:var(--card);border:1px solid var(--line);border-radius:6px}
