.document-approval{flex:0 0 auto;background:#fff;border:1px solid var(--line,#e2e6eb);border-radius:8px;margin-bottom:14px;padding:12px}
.approval-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px;margin-bottom:6px}
.approval-heading h3{margin:0;font-size:11px;font-weight:700;line-height:1.5;text-transform:uppercase;letter-spacing:.04em;color:#73808e}
.approval-progress{font-size:10px;color:#667583}
.approval-missing-document{margin:0 0 8px;color:#b43f3f;font-size:11px;font-weight:600;line-height:1.4}
.approval-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.approval-step{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(96px,1.12fr);align-items:start;gap:7px;padding:8px;border:1px solid #dce2e8;border-left:4px solid #a6b1bc;border-radius:5px;background:#f4f6f8}
.approval-stage{height:20px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700;color:#53616e;background:#dce2e8}
.approval-person{display:grid;gap:3px;min-width:0;line-height:1.35}
.approval-person strong{font-size:11px;font-weight:600;color:#34485b;overflow-wrap:anywhere}
.approval-position{font-size:9px;color:#596978;overflow-wrap:anywhere}
.approval-decision{display:grid;justify-items:end;gap:4px;min-width:0;text-align:right}
.approval-time{font-size:9px;line-height:1.35;color:#53616e;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.approval-step-status{max-width:100%;font-size:9px;line-height:1.3;font-weight:600;padding:3px 6px;border-radius:4px;color:#53616e;background:#e1e6eb}
.approval-step.current{background:#e3effc;border-color:#aac9e8;border-left-color:#246aab}
.approval-step.current .approval-stage,.approval-step.current .approval-step-status{background:#246aab;color:#fff}
.approval-step.approved{background:#e7f4eb;border-color:#afd4bb;border-left-color:#267443}
.approval-step.approved .approval-stage,.approval-step.approved .approval-step-status{background:#267443;color:#fff}
.approval-step.rejected{background:#fbe9e9;border-color:#e3b0b0;border-left-color:#b43f3f}
.approval-step.rejected .approval-stage,.approval-step.rejected .approval-step-status{background:#b43f3f;color:#fff}
#detailOverlay .quote-activity:has(.document-approval){overflow:auto}
#detailOverlay .quote-activity:has(.document-approval) .document-comments{min-height:240px;flex:1 0 240px}
@media(max-width:900px){#detailOverlay .quote-activity:has(.document-approval){height:auto;max-height:none;min-height:0}}

.da-chain{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.da-chain .da-step{display:flex;align-items:flex-start;gap:12px;padding:0 0 14px;position:relative;border:0;background:none}
.da-chain .da-step:last-child{padding-bottom:0}
.da-chain .da-step::before{content:'';position:absolute;left:13px;top:30px;bottom:0;width:2px;background:#EEEFF1}
.da-chain .da-step:last-child::before{display:none}
.da-dot{width:28px;height:28px;border-radius:50%;flex:0 0 28px;display:flex;align-items:center;justify-content:center;background:#F0F2F5;color:#8892A4;z-index:1;font-size:11px;font-weight:700}
.da-step.done .da-dot{background:#1E9E55;color:#fff}
.da-step.now .da-dot{background:#E0A21A;color:#fff}
.da-step.no .da-dot{background:#C0584A;color:#fff}
.da-step.ret .da-dot{background:#8A6FB0;color:#fff}
.da-b{flex:1;min-width:0;padding-top:3px}
.da-n{font-weight:600;font-size:14px}
.da-n a{color:#4B80B4;text-decoration:none}
.da-n a:hover{color:#3E6F9C;text-decoration:underline}
.da-m{font-size:13px;color:#8892A4;margin-top:2px}
