.procurement-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line);border-radius:8px;overflow:hidden;margin:0 0 15px}.procurement-balance>div{background:var(--surface-subtle);padding:16px 18px;min-width:0}.procurement-balance span{font-size:12px;color:var(--muted);display:block}.procurement-balance strong{display:block;font-size:23px;font-weight:600;margin-top:6px;overflow-wrap:anywhere}.procurement-balance strong small{font-size:12px;font-weight:400;margin-left:6px;color:var(--muted)}.procurement-explainer{margin-bottom:20px}.procurement-original{margin:20px 0}.procurement-original>p{margin:6px 0 10px}.procurement-need-list{display:flex;flex-wrap:wrap;gap:8px}.procurement-need-list .btn{white-space:normal;text-align:left}.procurement-search{margin-top:20px}.procurement-search>.field{margin-bottom:10px}.procurement-result-group{margin-top:18px}.procurement-result-group h4{margin:0 0 7px;font-size:14px}.procurement-candidate{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.procurement-candidate>div{min-width:0;flex:1}.procurement-candidate strong{display:block;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.procurement-candidate small{display:block;font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.procurement-candidate span{font-size:12px;color:var(--brand);display:block;margin-top:5px}.procurement-candidate>.btn{flex-shrink:0;white-space:normal;max-width:145px}.procurement-candidate>.btn:disabled{cursor:not-allowed}.procurement-candidate-image{width:48px;height:48px;object-fit:contain;flex:0 0 48px;background:#fff;border:1px solid var(--line);border-radius:7px}.procurement-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.procurement-item-head>div{min-width:0}.procurement-item-head strong{font-size:14px;display:block;overflow-wrap:anywhere}.procurement-item-head small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.procurement-item-head>.btn{flex-shrink:0}.procurement-line>.muted{font-size:12px;margin-bottom:14px}.procurement-price{justify-content:flex-start}.procurement-price strong{font-size:17px;padding:8px 0;color:var(--brand)}.field.procurement-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;line-height:1.8;font-size:12px;cursor:pointer;margin-top:14px}.field.procurement-check>input{width:16px;height:16px;padding:0;margin:4px 0 0;accent-color:var(--brand)}.field.procurement-check>span{margin:0;font-size:12px}.field.procurement-check>.field-error{grid-column:1/-1}.procurement-total{padding:16px;border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;margin:20px 0}.procurement-total output{display:block;font-size:24px;font-weight:600;color:var(--brand)}.procurement-total .form-error:empty{display:none}#procurement-budget-feedback{font-size:12px;color:var(--muted);margin:8px 0}#procurement-budget-feedback.form-error{color:#a64738}.procurement-operation-summary{padding:15px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}.procurement-operation-summary p{font-size:12px;margin-top:5px;color:var(--muted)}.procurement-detail .detail-row>span{min-width:0;overflow-wrap:anywhere}.procurement-detail .detail-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.procurement-detail .detail-row>span:last-child{flex-shrink:0;max-width:50%;text-align:right}.workflow-need{border-top:1px solid var(--line);padding:15px 0 5px;margin-top:15px}.workflow-need h4{font-size:14px;line-height:1.8;margin:0 0 6px}.workflow-need h5{font-size:12px;line-height:1.7;margin:16px 0 3px;color:var(--brand)}.workflow-need .procurement-candidate:last-child{border-bottom:0}.workflow-need>.small{line-height:1.8}.workflow-need .draft-warning{font-size:12px}.workflow-need img{max-width:48px}.request-line>[data-unit-review]>.muted{font-size:12px;display:block}
@media(max-width:600px){.procurement-balance>div{padding:11px 9px}.procurement-balance span{font-size:12px}.procurement-balance strong{font-size:17px}.procurement-balance strong small{display:block;margin-left:0;font-size:12px}.procurement-candidate{gap:8px;align-items:flex-start;flex-wrap:wrap}.procurement-candidate>div{flex:1 1 calc(100% - 65px)}.procurement-candidate>.btn{max-width:none;margin-left:auto;min-height:44px}.procurement-candidate strong{font-size:12px}.procurement-candidate small{font-size:12px}.procurement-candidate-image{width:40px;height:40px;flex-basis:40px}.procurement-total output{font-size:21px}.procurement-item-head strong{font-size:14px}.field.procurement-check>span{font-size:12px}.procurement-detail .detail-row{gap:9px}.procurement-detail .detail-row>span:last-child{max-width:44%}.procurement-explainer{font-size:12px}.procurement-need-list .btn{font-size:12px;min-height:44px}#procurement-cart h3{font-size:14px}.procurement-search>.btn{min-height:44px}}
/* The confirmation sheet prioritises its editable order lines and final amount. */
dialog[data-form-action="procurement-open"]{width:min(940px,calc(100vw - 40px))}
dialog[open][data-form-action="procurement-open"]{display:flex;flex-direction:column;max-height:90vh;max-height:90dvh;overflow:hidden}
dialog[data-form-action="procurement-open"]>#modal-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
dialog[data-form-action="procurement-open"] .modal-head{flex-shrink:0;padding:16px 24px}
dialog[data-form-action="procurement-open"] .form-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 24px}
dialog[data-form-action="procurement-open"] .procurement-account{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:12px 14px;margin-bottom:16px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;min-width:0}
dialog[data-form-action="procurement-open"] .procurement-account>div{min-width:0}
dialog[data-form-action="procurement-open"] .procurement-account-main{flex:1 1 240px}
dialog[data-form-action="procurement-open"] .procurement-account-main>span{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:3px}
dialog[data-form-action="procurement-open"] .procurement-account-main>strong{display:block;font-size:14px;line-height:1.5;font-weight:600}
dialog[data-form-action="procurement-open"] .procurement-account-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
dialog[data-form-action="procurement-open"] .procurement-account strong{overflow-wrap:anywhere}
dialog[data-form-action="procurement-open"] .procurement-account .btn{flex-shrink:0}
dialog[data-form-action="procurement-open"] .procurement-balance-compact{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;font-size:12px;color:var(--muted);min-width:0}
dialog[data-form-action="procurement-open"] .procurement-balance-compact strong{font-size:17px;color:var(--ink);font-weight:600}
dialog[data-form-action="procurement-open"] .procurement-balance-compact small{font-size:12px;font-weight:400;margin-left:3px}
dialog[data-form-action="procurement-open"] #procurement-budget-feedback{flex-basis:100%;margin:0;font-size:12px}
dialog[data-form-action="procurement-open"] #procurement-budget-feedback:empty{display:none}
dialog[data-form-action="procurement-open"] .procurement-cart-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px}
dialog[data-form-action="procurement-open"] .procurement-cart-heading h3{font-size:15px;margin:0}
dialog[data-form-action="procurement-open"] .procurement-columns,dialog[data-form-action="procurement-open"] .procurement-line-main{display:grid;grid-template-columns:minmax(0,1fr) 112px 92px 100px 44px;gap:12px;align-items:start}
dialog[data-form-action="procurement-open"] .procurement-columns{padding:8px 14px;color:var(--muted);background:var(--surface-subtle);font-size:12px;border-radius:6px}
dialog[data-form-action="procurement-open"] .procurement-line{position:relative;margin:0;padding:14px;border:0;border-bottom:1px solid var(--line);border-radius:0;min-width:0}
dialog[data-form-action="procurement-open"] .procurement-line>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog[data-form-action="procurement-open"] .procurement-line-main>*{min-width:0}
dialog[data-form-action="procurement-open"] .procurement-item-head{display:block;margin:0}
dialog[data-form-action="procurement-open"] .procurement-item-head strong{font-size:14px;line-height:1.6;font-weight:600}
dialog[data-form-action="procurement-open"] .procurement-item-head small{font-size:12px;line-height:1.5;margin-top:4px}
dialog[data-form-action="procurement-open"] .procurement-line .field{margin:0}
dialog[data-form-action="procurement-open"] .procurement-line .field>span{font-size:12px;margin-bottom:5px}
dialog[data-form-action="procurement-open"] .procurement-line .field input{background:#fff;padding:8px 10px;min-width:0}
dialog[data-form-action="procurement-open"] .procurement-price strong,dialog[data-form-action="procurement-open"] .procurement-subtotal output{display:block;padding:0;font-size:14px;line-height:1.6;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
dialog[data-form-action="procurement-open"] .procurement-price>span,dialog[data-form-action="procurement-open"] .procurement-subtotal>span{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:5px}
dialog[data-form-action="procurement-open"] .procurement-line-main>[data-proc-remove]{padding:8px 0;width:44px;min-height:36px;font-size:12px}
dialog[data-form-action="procurement-open"] .procurement-line-review{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:end;margin-top:10px}
dialog[data-form-action="procurement-open"] .procurement-line-review>.field:not(.procurement-check){display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
dialog[data-form-action="procurement-open"] .procurement-line-review>.field:not(.procurement-check)>span{margin:0}
dialog[data-form-action="procurement-open"] .procurement-line-review>.field>.field-error{grid-column:1/-1}
dialog[data-form-action="procurement-open"] .procurement-line-review .procurement-check{align-self:end;max-width:270px;margin:0;min-height:36px;align-items:center;line-height:1.5}
dialog[data-form-action="procurement-open"] .procurement-line-review .procurement-check>input{margin:0}
dialog[data-form-action="procurement-open"] .procurement-line-review .procurement-check>span{margin:0}
dialog[data-form-action="procurement-open"] .procurement-line-note{font-size:12px;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere}
dialog[data-form-action="procurement-open"] .procurement-line-note.draft-warning{padding:8px 10px}
dialog[data-form-action="procurement-open"] .procurement-original{margin:12px 0;font-size:12px}
dialog[data-form-action="procurement-open"] .procurement-adjust{margin:12px 0;font-size:12px}
dialog[data-form-action="procurement-open"] .procurement-adjust>summary{cursor:pointer;min-height:36px;display:list-item;align-content:center;color:var(--brand);font-weight:500}
dialog[data-form-action="procurement-open"] .procurement-search{margin:8px 0 12px}
dialog[data-form-action="procurement-open"] .procurement-request-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:16px;margin-top:16px;align-items:start}
dialog[data-form-action="procurement-open"] .procurement-request-fields>.field{margin:0;min-width:0}
dialog[data-form-action="procurement-open"] .procurement-request-fields textarea{min-height:70px}
dialog[data-form-action="procurement-open"] .procurement-split .field{margin-bottom:12px}
dialog[data-form-action="procurement-open"] .procurement-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;flex-shrink:0;padding:12px 24px}
dialog[data-form-action="procurement-open"] #procurement-checkout{min-width:0}
dialog[data-form-action="procurement-open"] .procurement-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;border:0;border-radius:0;background:none}
dialog[data-form-action="procurement-open"] .procurement-total>span{font-size:12px;margin:0;color:var(--muted)}
dialog[data-form-action="procurement-open"] .procurement-total output{font-size:22px;line-height:1.4}
dialog[data-form-action="procurement-open"] .procurement-total .form-error{flex-basis:100%;margin:3px 0}
dialog[data-form-action="procurement-open"] #procurement-split-summary{display:flex;flex-wrap:wrap;gap:3px 12px;margin:3px 0 0;padding:0;border:0;background:none;font-size:12px;color:var(--ink);line-height:1.5}
dialog[data-form-action="procurement-open"] #procurement-split-summary p{margin:0}
dialog[data-form-action="procurement-open"] #procurement-policy{margin:3px 0 0;padding:0;background:none;font-size:12px;line-height:1.5;color:var(--muted)}
dialog[data-form-action="procurement-open"] #procurement-total-error{margin:4px 0 0;overflow-wrap:anywhere}
@media(max-width:800px){
 dialog[data-form-action="procurement-open"]{width:100%;max-width:100%}
 dialog[open][data-form-action="procurement-open"]{max-height:86vh;max-height:86dvh}
 dialog[data-form-action="procurement-open"] .modal-head{padding:5px 16px 12px}
 dialog[data-form-action="procurement-open"] .modal-head h2{font-size:17px}
 dialog[data-form-action="procurement-open"] .modal-head>button{min-width:44px;min-height:44px;flex-shrink:0}
 dialog[data-form-action="procurement-open"] .form-body{padding:14px 16px 20px}
 dialog[data-form-action="procurement-open"] .procurement-account{padding:10px 12px;gap:8px;margin-bottom:12px}
 dialog[data-form-action="procurement-open"] .procurement-account-main{flex-basis:100%}
 dialog[data-form-action="procurement-open"] .procurement-account .btn{min-height:44px;padding:8px 10px}
 dialog[data-form-action="procurement-open"] .procurement-columns{display:none}
 dialog[data-form-action="procurement-open"] .procurement-line{padding:12px 0}
 dialog[data-form-action="procurement-open"] .procurement-line-main{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.9fr);gap:10px}
 dialog[data-form-action="procurement-open"] .procurement-item-head{grid-column:1/-1;padding-right:52px;min-height:44px}
 dialog[data-form-action="procurement-open"] .procurement-line-main>[data-proc-remove]{position:absolute;top:12px;right:0;min-width:44px;min-height:44px}
 dialog[data-form-action="procurement-open"] .procurement-quantity{grid-column:1}
 dialog[data-form-action="procurement-open"] .procurement-price{grid-column:2}
 dialog[data-form-action="procurement-open"] .procurement-subtotal{grid-column:3}
 dialog[data-form-action="procurement-open"] .procurement-line .field input{min-height:44px;font-size:16px}
 dialog[data-form-action="procurement-open"] .procurement-line-review{grid-template-columns:minmax(0,1fr);gap:4px;margin-top:10px}
 dialog[data-form-action="procurement-open"] .procurement-line-review>.field:not(.procurement-check){display:block}
 dialog[data-form-action="procurement-open"] .procurement-line-review>.field:not(.procurement-check)>span{margin-bottom:5px}
 dialog[data-form-action="procurement-open"] .procurement-line-review .procurement-check{max-width:none;min-height:44px;margin:0;line-height:1.5}
 dialog[data-form-action="procurement-open"] .procurement-line-review .procurement-check>input{width:18px;height:18px;min-height:0;padding:0}
 dialog[data-form-action="procurement-open"] .procurement-adjust>summary{min-height:44px}
 dialog[data-form-action="procurement-open"] .procurement-request-fields{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:14px}
 dialog[data-form-action="procurement-open"] .procurement-request-fields>.field input{min-height:44px}
 dialog[data-form-action="procurement-open"] .procurement-footer{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 16px max(12px,env(safe-area-inset-bottom))}
 dialog[data-form-action="procurement-open"] #procurement-checkout{grid-column:1/-1}
 dialog[data-form-action="procurement-open"] .procurement-footer>.btn{min-height:44px;white-space:normal}
 dialog[data-form-action="procurement-open"] .procurement-footer>.btn.primary{justify-self:stretch}
 dialog[data-form-action="procurement-open"] .procurement-total output{font-size:21px}
}
