.purchase-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.purchase-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.purchase-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.purchase-card{padding:20px;min-width:0;align-self:start}.purchase-card-title{display:flex;align-items:center;gap:12px}.purchase-card h2{font-size:19px;overflow-wrap:anywhere;margin:0 0 8px}.purchase-card dl>div{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.purchase-card dt{color:var(--muted,#627267)}.purchase-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.purchase-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}#purchase-form{display:grid;gap:16px}#purchase-form .sourcing-toggle{white-space:normal}#purchase-form details p{line-height:1.6}.requests-shell{max-width:900px;margin:auto;padding:24px 16px}.requests-shell input,.requests-shell select,.requests-shell textarea{font-size:16px;min-height:48px;max-width:100%;width:100%;box-sizing:border-box}.requests-shell form{display:grid;gap:16px}.requests-shell .panel{padding:20px;margin:16px 0}.requests-shell h1{font-size:28px}.requests-shell button{min-height:44px}.request-notice{margin:12px 0;padding:12px;background:#f0f4ee;border-radius:8px}.purchase-request-link{display:block;margin-top:8px;font-size:13px;text-align:left}
@media(max-width:640px){.purchase-list{grid-template-columns:1fr}.purchase-toolbar .button{flex:1}.purchase-toolbar>div{width:100%}.purchase-toolbar .filter-tabs{overflow-x:auto;flex-wrap:nowrap}#purchase-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px)}.purchase-card{padding:16px}.requests-shell{padding:16px 12px}}

/* The footer has its own space; only the fields scroll. */
#purchase-dialog{padding:0;width:740px;max-height:92dvh;overflow:hidden}
#purchase-dialog[open]{display:flex;flex-direction:column}
#purchase-dialog .drawer-header{padding:20px;flex-shrink:0;border-bottom:1px solid var(--line);align-items:center}
#purchase-dialog .drawer-header h2{margin:0}
#purchase-body{padding:20px;min-height:0;overflow:auto}
#purchase-body:has(#purchase-form){display:flex;flex-direction:column;padding:0;overflow:hidden}
#purchase-form{display:flex;flex-direction:column;gap:0;min-height:0}
.purchase-fields{overflow:auto;overscroll-behavior:contain;min-height:0;display:grid;gap:16px;padding:20px}
.purchase-footer{flex-shrink:0;border-top:1px solid var(--line);padding:12px 20px;background:white}
.purchase-footer .form-error{margin:0 0 12px;max-height:110px;overflow:auto}
#purchase-save{width:100%;min-height:48px}
#purchase-form .field{margin:0}
#purchase-fields-for-item,.purchase-extra-body{display:grid;gap:16px}
#purchase-form input,#purchase-form select,#purchase-form textarea{min-height:48px;font-size:16px;min-width:0;max-width:100%}
#purchase-form input[type=checkbox]{min-height:20px;width:20px;height:20px;flex-shrink:0}
.purchase-supplier-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;font-size:14px}
.purchase-supplier-actions button{min-height:32px}
.purchase-extra{border-top:1px solid var(--line)}
.purchase-extra>summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:16px;color:var(--forest)}
.purchase-extra-body{padding:0 0 12px}
.purchase-picker-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}
#purchase-item-results{max-height:260px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px}
#purchase-item-results:empty{display:none}
.purchase-picker-count{font-size:13px;color:var(--muted);margin:8px 0}
.purchase-item-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);min-height:64px}
.purchase-item-option:last-child{border-bottom:0}
.purchase-item-option:hover,.purchase-item-option[aria-selected=true]{background:#edf3eb}
.purchase-item-option>span:last-child{min-width:0;flex:1}
.purchase-item-option strong{font-size:16px;line-height:1.4;display:block;overflow-wrap:anywhere}
.purchase-item-option small,#purchase-selected small,.purchase-line-name small{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.purchase-item-option small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchase-picker .item-thumbnail,.purchase-picker .item-initial,.purchase-order-line .item-thumbnail,.purchase-order-line .item-initial{width:40px;height:40px;min-width:40px;flex-shrink:0}
#purchase-selected{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px}
#purchase-selected>div{flex:1;min-width:0;overflow-wrap:anywhere}
#purchase-selected strong{font-size:17px}
#purchase-picker-cancel{min-height:44px}
#purchase-picker-edit{margin-top:12px}
#purchase-order-lines{display:grid;gap:8px;margin-bottom:12px}
.purchase-order-line{display:grid;grid-template-columns:40px minmax(0,1fr) 130px 44px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px}
.purchase-line-name{min-width:0;overflow-wrap:anywhere}
.purchase-line-name strong{font-size:16px}
#purchase-form .purchase-order-line label{font-size:13px;margin-bottom:4px}
.purchase-linked-request{font-size:12px;overflow-wrap:anywhere}
.purchase-delivery-line+.purchase-delivery-line{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.purchase-delivery-line p{font-size:14px;color:var(--muted);margin:8px 0}
.purchase-delivery-line .item-thumbnail,.purchase-delivery-line .item-initial{width:36px;height:36px;min-width:36px}
.purchase-delivery-line .purchase-actions{align-items:center;margin-top:10px}
#purchase-form [hidden]{display:none!important}
@media(max-width:640px){
 #purchase-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:94dvh}
 #purchase-dialog .drawer-header{padding:14px 16px}
 #purchase-dialog .drawer-header h2{font-size:21px}
 .purchase-fields{padding:16px;gap:14px}
 .purchase-footer{padding:10px 16px max(10px,env(safe-area-inset-bottom))}
 #purchase-form .field-grid,.purchase-picker-filters{grid-template-columns:minmax(0,1fr)}
 .purchase-picker-filters{gap:8px}
 #purchase-item-results{max-height:230px}
 .purchase-item-option{padding:8px;gap:8px}
 .purchase-order-line{grid-template-columns:32px minmax(0,1fr) 44px;gap:8px;padding:10px}
 .purchase-order-line .item-thumbnail,.purchase-order-line .item-initial{width:32px;height:32px;min-width:32px}
 .purchase-order-line .field{grid-column:2;grid-row:2}
 .purchase-order-line .icon-button,.purchase-linked-request{grid-column:3;grid-row:1 / span 2}
 .purchase-line-name small{display:none}
 #purchase-form .purchase-order-line input{min-height:44px;padding:8px}
 #purchase-form .purchase-order-line label{display:inline;margin-right:8px}
 .purchase-order-line .field{display:flex;align-items:center}
 .purchase-order-line .field input{width:90px;flex:1}
}
#purchasing-view{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}.purchase-toolbar>div{min-width:0;max-width:100%}
@media(max-width:640px){.purchase-toolbar .button{flex:1 1 130px;min-width:0;white-space:normal}.purchase-toolbar .filter-tabs{min-width:0;max-width:100%}}
@media(max-width:640px){.purchase-order-line .field{grid-column:1 / 3;display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}.purchase-order-line .field input{width:100%}#purchase-form .purchase-order-line label{line-height:1.3;margin:0}}
.purchase-order-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0}
.purchase-document-context{overflow-wrap:anywhere}.purchase-document-context p{margin:8px 0;line-height:1.5}
.purchase-document-group{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;min-width:0}
.purchase-document-group h3{font-size:18px;margin:0 0 12px}.purchase-document-group ul{list-style:none;padding:0;margin:0}
.purchase-document-group li{display:flex;align-items:center;gap:12px;padding:10px 0;min-width:0}
.purchase-document-group li>div{min-width:0;overflow-wrap:anywhere}.purchase-document-group small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}
.purchase-document-group a{flex-shrink:0;min-height:44px}.purchase-document-group strong{font-size:15px}
#purchase-document-status{padding:12px;background:#edf3eb;border-radius:8px;overflow-wrap:anywhere;margin:0}
.purchase-document-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-document-heading h3{margin:0 0 4px}
#purchase-body:has(#purchase-documents-shell){display:flex;flex-direction:column;padding:0;overflow:hidden}#purchase-documents-shell{display:flex;flex-direction:column;min-height:0}
.purchase-document-heading input[hidden]{display:none}.document-saved-badge{font-size:14px;color:#28563c}.purchase-document-status{padding:12px;background:#edf3eb;border-radius:8px;overflow-wrap:anywhere}
.purchase-document-group li{display:block}.purchase-document-group li a{display:inline-block;overflow-wrap:anywhere;line-height:1.5}
.purchase-earlier-documents summary{padding:8px 0;font-size:14px;cursor:pointer}
.purchase-document-summary{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;padding-top:8px}.purchase-document-summary strong{font-size:16px}
.purchase-payment-record{padding:14px;background:#f4f7f1;border-radius:8px;margin:12px 0;overflow-wrap:anywhere}.purchase-payment-record h3,.purchase-payment-editor h3{font-size:18px;margin:0 0 10px}
.purchase-payment-record dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.purchase-payment-record dl>div{display:block}.purchase-payment-record dd{margin:3px 0 0;text-align:left}.purchase-payment-record small{display:block;line-height:1.5}
.purchase-payment-editor{border-top:1px solid var(--line);padding-top:16px}.purchase-payment-editor>p{margin:10px 0}.purchase-payment-editor>small{display:block;overflow-wrap:anywhere;margin-bottom:10px}
.payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-fields .field{margin:0;min-width:0}.payment-fields input{width:100%;min-width:0}.payment-review summary{cursor:pointer;padding:12px 0;font-weight:600}.payment-reading-notes{padding-left:20px;line-height:1.5}
@media(max-width:640px){.purchase-document-heading{align-items:flex-start}.purchase-document-heading .button{white-space:normal;min-height:44px;max-width:50%}.payment-fields,.purchase-payment-record dl{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.purchase-document-group li{align-items:flex-start;flex-direction:column}.purchase-order-tools .button{white-space:normal;min-height:44px}}
#purchase-removed-lines{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:12px;background:#faf5ec}
#purchase-removed-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow-wrap:anywhere}
#purchase-removed-lines button{min-height:40px;flex-shrink:0}
.purchase-removed-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}
.purchase-removed-history summary{cursor:pointer;min-height:36px}.purchase-removed-history p{font-size:14px;margin:8px 0}
.purchase-change{border-bottom:1px solid var(--line);padding:12px 0}.purchase-change small{display:block;color:var(--muted);margin-top:4px}.purchase-change ul{padding-left:20px;line-height:1.7}.purchase-change li{overflow-wrap:anywhere}
#purchase-form .purchase-order-line button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:640px){.purchase-line-name .purchase-edit-counts{display:block;font-size:12px}.purchase-order-line:has(.purchase-edit-counts) .field label{font-size:12px}}
