.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.subtotal{display:flex;justify-content:space-between;padding:16px;border-top:2px solid #173f32}
.decision{font-weight:750}.decision.authorized{color:#246342}.decision.rejected{color:#9b352b}
legend{font-weight:750}fieldset label{display:flex;align-items:center;gap:9px;font-weight:500;padding:6px 0}
fieldset input[type=radio]{width:22px;height:22px;padding:0}
@media(max-width:480px){.form-grid{grid-template-columns:1fr}}
.flow-header,.flow-card{margin:16px 0;padding:18px;border:1px solid #d9e3df;border-radius:16px;background:#fff}.flow-header h1,.flow-card h2{margin:.2rem 0}.authorization-progress{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:6px;padding:0;list-style:none;overflow-x:auto}.authorization-progress li{padding:9px;border-radius:10px;background:#edf1ef;font-size:.82rem}.authorization-progress .done{background:#dcefe5;color:#173f32;font-weight:700}.authorization-progress .current{outline:2px solid #396c58}.step{display:inline-grid;place-items:center;width:28px;height:28px;margin:0;border-radius:50%;background:#173f32;color:#fff;font-weight:800}.decision-line{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid #e4e9e7}.decision-line>div:first-child{display:flex;flex-direction:column}.decision-buttons,.manager-actions{display:flex;gap:8px;flex-wrap:wrap}.decision-buttons button{min-height:44px}.decision-buttons .selected{background:#173f32;color:#fff}.decision-readonly{font-size:.9rem}.persisted-summary{display:flex;flex-direction:column;margin-top:12px;padding:12px;background:#f4f7f5;border-radius:10px}.scope-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.scope-totals div{display:flex;flex-direction:column}.signature-canvas{display:block;width:100%;max-width:640px;height:220px;border:2px dashed #71827a;background:#fff;touch-action:none}.signature-area{margin:12px 0}.execution-state.enabled{border-color:#4a8b68;background:#e8f6ed}.execution-state.blocked,.flow-card.blocked{border-color:#b7877e;background:#fff3f0}.success-text{color:#246342;font-weight:700}@media(max-width:700px){.scope-totals{grid-template-columns:1fr 1fr}.flow-card{padding:14px}}
.action-link{display:inline-block;text-decoration:none;margin-top:10px}.execution-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.execution-context div{display:flex;flex-direction:column}.execution-items{display:grid;gap:14px}.execution-item{padding:16px;border:1px solid #d9e3df;border-radius:14px}.execution-item.resolved{background:#f1f7f3}.execution-item-title,.persisted-outcome{display:flex;flex-direction:column;gap:4px}.outcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}.outcome-actions button,.record-outcome,.completion-ready button{min-height:48px}.outcome-actions .selected{background:#173f32;color:#fff}.persisted-outcome{margin-top:12px;padding:12px;border-left:4px solid #396c58}.pending-text{font-weight:600}.ready-delivery{border-color:#4a8b68;background:#e8f6ed}@media(max-width:700px){.execution-context{grid-template-columns:1fr 1fr}.execution-item{padding:14px}.outcome-actions{grid-template-columns:1fr}}
.direct-cost-layout{display:grid;grid-template-columns:minmax(18rem,25rem) minmax(0,1fr);gap:1.25rem;align-items:start}.direct-cost-entry{position:sticky;top:1rem}.direct-cost-list{display:grid;gap:.75rem}.direct-cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem;border:1px solid var(--line,#d8dee6);border-radius:.75rem}.direct-cost-row h3,.direct-cost-row p{margin:.2rem 0}.direct-cost-row.reversed{background:#f5f6f8}.direct-cost-row.reversed .direct-cost-value>strong{text-decoration:line-through}.reversed-label{display:inline-block;margin-top:.4rem}.direct-cost-value{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;white-space:nowrap}.reversal-form{grid-column:1/-1;display:grid;gap:.5rem}.direct-cost-totals{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--line,#d8dee6)}.field-error{color:#9f1c20;margin:.25rem 0}.file-selection{overflow-wrap:anywhere}@media(max-width:760px){.direct-cost-layout{grid-template-columns:1fr}.direct-cost-entry{position:static}.direct-cost-row{grid-template-columns:1fr}.direct-cost-value{align-items:flex-start}.direct-cost-row button{min-height:2.75rem}}
