/* Scoped purchasing lists. Dialogs and business commands remain with their owners. */
.v2-purchasing{color:#222320;display:grid;gap:16px;min-width:0;font:14px/1.5 'Plus Jakarta Sans',sans-serif}
.v2-purchasing *{box-sizing:border-box}.v2-purchasing-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.v2-purchasing .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid #e8e6e1;border-radius:10px;padding:9px 14px;background:#fff;color:#222320;font:inherit;cursor:pointer}
.v2-purchasing .button-primary{background:#24241f;color:white;border-color:#24241f}.v2-purchasing .button:disabled{opacity:.55;cursor:wait}.v2-purchasing :focus-visible{outline:3px solid #c54118;outline-offset:3px}
.v2-purchasing-note{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 16px;background:#f1f4f3;border:1px solid #e2e8e5;border-radius:12px;color:#46534c}.v2-purchasing-note svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}.v2-purchasing-note.is-warning{background:#fff6e8;border-color:#efdfbc;color:#6c501f}
.v2-purchasing-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v2-purchasing-metrics article{display:flex;align-items:center;gap:12px;padding:18px;background:#fff;border:1px solid #e8e6e1;border-radius:16px}.v2-purchasing-metrics article>svg{color:#6b706c;flex-shrink:0}.v2-purchasing-metrics strong{font-size:20px;font-weight:700}.v2-purchasing-metrics small,.v2-purchasing td small,.v2-purchasing th small{display:block;color:#6b706c;font-size:12px;font-weight:400}
.v2-purchasing-table{min-width:0;overflow:auto;border:1px solid #e8e6e1;border-radius:16px;background:#fff}.v2-purchasing table{border-collapse:collapse;width:100%;min-width:0;margin:0;font:inherit}.v2-purchasing th,.v2-purchasing td{text-align:left;padding:16px;border-bottom:1px solid #e8e6e1;vertical-align:middle;white-space:normal}.v2-purchasing thead{background:#fafaf8;color:#6b706c}.v2-purchasing thead th{font-size:12px;font-weight:600}.v2-purchasing tbody th{font-weight:600}.v2-purchasing tbody tr:last-child>*{border-bottom:0}.v2-purchasing tr[data-selected=true]{background:#fff0e8}.v2-purchasing-id{display:block;max-width:210px;overflow-wrap:anywhere;font-size:13px}.v2-purchasing-money{font-weight:600}.v2-purchasing-row-actions .button{white-space:nowrap}.v2-purchasing-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;background:#f0f0ed;color:#60635c}.v2-purchasing-status.is-active,.v2-purchasing-status.is-complete{background:#e8f4eb;color:#2a6543}.v2-purchasing-status.is-waiting{background:#fff1d8;color:#795718}.v2-purchasing-status.is-partial{background:#eef1fa;color:#47568b}.v2-purchasing-source{margin:0;font-size:12px;color:#6b706c}.v2-purchasing-empty{padding:32px 20px;margin:0;background:#fff;border:1px solid #e8e6e1;border-radius:16px;text-align:center;color:#6b706c}.v2-purchasing-feedback{margin:0;padding:12px;border-radius:10px;background:#e8f4eb}.v2-purchasing-feedback.is-error{background:#fbeceb;color:#972d24}.v2-purchasing .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.v2-purchasing{gap:12px}.v2-purchasing-actions .button{flex:1}.v2-purchasing-metrics{gap:8px}.v2-purchasing-metrics article{display:block;padding:12px 8px}.v2-purchasing-metrics article>svg{width:18px;height:18px}.v2-purchasing-metrics strong{display:block;font-size:15px}.v2-purchasing-metrics small{font-size:11px}.v2-purchasing-table{border:0;border-radius:0;overflow:visible;background:transparent}.v2-purchasing table,.v2-purchasing tbody{display:block;width:100%}.v2-purchasing thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.v2-purchasing tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px;padding:16px;border:1px solid #e8e6e1;border-radius:16px;background:#fff}.v2-purchasing tbody th,.v2-purchasing tbody td{display:block;padding:0;border:0;min-width:0}.v2-purchasing tbody th{grid-column:1;grid-row:1;font-size:16px;overflow-wrap:anywhere}.v2-purchasing td[data-label=Status]{grid-column:2;grid-row:1;align-self:start}.v2-purchasing td[data-label='Lead time']{grid-column:1;grid-row:2;color:#6b706c}.v2-purchasing td[data-label='Lead time']::before{content:'Lead time: '}.v2-purchasing-row-actions{grid-column:1/-1}.v2-purchasing-row-actions .button{width:100%}.v2-purchasing--orders tbody tr{grid-template-columns:minmax(0,1fr)}.v2-purchasing--orders tbody th{padding-right:0}.v2-purchasing--orders td[data-label=Status]{grid-column:1;grid-row:2}.v2-purchasing--orders td[data-label]:not([data-label=Status]):not([data-label=Aksi])::before{content:attr(data-label) ': ';color:#6b706c;font-weight:400}.v2-purchasing-id{max-width:none}.v2-purchasing-note{padding:12px;font-size:12px}}
/* Override legacy dashboard table typography only inside these lists. */
.surface-dashboard .v2-purchasing tbody th,.surface-dashboard .v2-purchasing tbody td{font-size:14px;line-height:1.5;text-transform:none;letter-spacing:normal}

/* Boards 01–04: one divided summary strip and compact, labelled mobile cards. */
.v2-purchasing--suppliers .v2-purchasing-metrics{gap:0;border:1px solid #e8e6e1;border-radius:16px;background:#fff;overflow:hidden}
.v2-purchasing--suppliers .v2-purchasing-metrics article{border:0;border-radius:0;background:transparent;position:relative}
.v2-purchasing--suppliers .v2-purchasing-metrics article+article::before{content:"";position:absolute;left:0;top:18px;bottom:18px;border-left:1px solid #e8e6e1}
.v2-purchasing--suppliers .v2-purchasing-metrics article>svg{width:44px;height:44px;padding:10px;border-radius:50%;background:#f1f4f3;color:#46534c}
.v2-purchasing--suppliers [data-purchasing-metric="supplier.active"]>svg{background:#e8f4eb;color:#2a6543}
@media(max-width:700px){
 .v2-purchasing--suppliers tbody tr{grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;align-items:center}
 .v2-purchasing--suppliers tbody th{grid-column:1/3;grid-row:1}
 .v2-purchasing--suppliers td[data-label="Lead time"]{grid-column:1;grid-row:2}
 .v2-purchasing--suppliers td[data-label="Lead time"]::before{content:none}
 .v2-purchasing--suppliers td[data-label="Status"]{grid-column:2;grid-row:2;align-self:center}
 .v2-purchasing--suppliers .v2-purchasing-row-actions{grid-column:3;grid-row:1/3}
 .v2-purchasing--suppliers .v2-purchasing-row-actions .button{width:auto;padding:8px 12px}
 .v2-purchasing--suppliers .v2-purchasing-row-actions svg{display:none}
 .v2-purchasing--suppliers .v2-purchasing-metrics article>svg{width:32px;height:32px;padding:7px}
 .v2-purchasing--orders tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:start}
 .v2-purchasing--orders tbody th{grid-column:1;grid-row:1/3;font-size:14px}
 .v2-purchasing--orders td[data-label="Supplier"]{grid-column:1;grid-row:3;color:#6b706c}
 .v2-purchasing--orders td[data-label="Perkiraan tiba"]{grid-column:1;grid-row:4;font-size:12px}
 .v2-purchasing--orders td[data-label="Jumlah bahan"]{grid-column:1;grid-row:5;font-size:12px}
 .v2-purchasing--orders td[data-label="Nilai rencana"]{grid-column:2;grid-row:1;text-align:right;overflow-wrap:anywhere}
 .v2-purchasing--orders td[data-label="Status"]{grid-column:2;grid-row:2;text-align:right}
 .v2-purchasing--orders .v2-purchasing-row-actions{grid-column:2;grid-row:3/6;align-self:end}
 .v2-purchasing--orders .v2-purchasing-row-actions .button{padding:8px;flex-wrap:wrap}
 .v2-purchasing--orders td[data-label="Supplier"]::before,.v2-purchasing--orders td[data-label="Nilai rencana"]::before,.v2-purchasing--orders td[data-label="Jumlah bahan"]::before{content:none!important}
 .v2-purchasing--orders .v2-purchasing-id{font-size:12px}
}
/* Approved supplier/PO forms: source handlers retain ownership of every field. */
dialog.v2-purchasing-form-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #e8e6e1;border-radius:20px;padding:0;background:#fff;color:#222320}
dialog.v2-purchasing-po-form{width:min(960px,calc(100% - 32px))}
.v2-purchasing-form-dialog form{display:grid;gap:24px;padding:24px;min-width:0}
.v2-purchasing-form-dialog label{display:grid;gap:8px;min-width:0;font-size:14px}
.v2-purchasing-form-dialog :is(input,select,textarea){width:100%;min-width:0;min-height:44px;border:1px solid #e8e6e1;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:#222320}
.v2-purchasing-form-dialog textarea{resize:vertical;min-height:96px}
.v2-purchasing-form-dialog small{font-size:12px;color:#6b706c}
.v2-purchasing-form-dialog .section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:0}
.v2-purchasing-form-dialog h2{font-size:22px;margin:0}.v2-purchasing-form-dialog .button{min-height:44px}
.v2-purchasing-form-dialog .v2-purchasing-form-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e8e6e1}
.v2-purchasing-form-dialog .v2-purchasing-form-footer>button:first-child{margin-right:auto}
.v2-purchasing-po-form .owner-po-line{display:grid;gap:12px;border:1px solid #e8e6e1;border-radius:12px;padding:16px;min-width:0}
.v2-purchasing-po-form .owner-po-line .owner-po-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v2-purchasing-po-form .owner-po-summary{padding:16px;background:#f6f5f2;border-radius:12px}
.owner-purchasing-dialog.v2-po-inline-detail{display:block;position:static;width:100%;max-height:none;margin:20px 0 0;box-shadow:none;border:1px solid #e8e6e1;border-radius:16px}
.v2-po-source-id{font-size:12px;overflow-wrap:anywhere;color:#6b706c}
.v2-po-detail-table{min-width:0;overflow:auto;border:1px solid #e8e6e1;border-radius:12px}
.v2-po-detail-table table{width:100%;min-width:760px;border-collapse:collapse}
.v2-po-detail-table :is(th,td){padding:12px;text-align:left;font-size:12px;border-bottom:1px solid #e8e6e1}
.v2-po-detail-table thead{background:#f6f5f2}.v2-po-detail-table tbody tr:last-child>*{border:0}
.owner-purchasing-dialog textarea{min-height:96px;width:100%;font:inherit;border:1px solid #dedfda;border-radius:12px;padding:12px;resize:vertical}
@media(max-width:700px){
 dialog.v2-purchasing-form-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
 .v2-purchasing-form-dialog form{padding:16px;gap:20px}.v2-purchasing-form-dialog :is(input,select,textarea){font-size:16px}
 .v2-purchasing-form-dialog .owner-po-fields{grid-template-columns:minmax(0,1fr)}
 .v2-purchasing-po-form .owner-po-line .owner-po-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v2-purchasing-form-dialog .v2-purchasing-form-footer{flex-wrap:wrap}.v2-purchasing-form-dialog .v2-purchasing-form-footer>button{flex:1;min-width:120px;margin:0}
 .owner-purchasing-dialog.v2-po-inline-detail .owner-po-form{padding:16px}
}
@media(max-width:700px){dialog.v2-purchasing-form-dialog{max-width:100%;box-sizing:border-box}}
.owner-purchasing-dialog[data-v2-po-mode=cancel] :is(.owner-po-eyebrow,.owner-po-supplier,.v2-po-source-id,.owner-po-overview){display:none}
.owner-purchasing-dialog[data-v2-po-mode=cancel]{width:min(520px,calc(100% - 32px))}
.owner-purchasing-dialog[data-v2-po-mode=cancel] h3{overflow-wrap:anywhere;font-size:14px}
.v2-po-cancel-remaining{padding-left:20px;margin:0;font-size:14px}
.owner-purchasing-dialog[data-v2-po-mode=cancel] .owner-po-form{gap:16px}
.owner-purchasing-dialog[data-v2-po-mode=cancel] .form-status{padding:12px;border:1px solid #efdfbc;border-radius:10px;background:#fff6e8;color:#6c501f}

/* D23/D24 reuse the accepted static Jakarta files; other purchasing workflows keep their styles. */
@font-face{font-family:'Plus Jakarta Sans Catalog';src:url('/assets/fonts/plus-jakarta-sans-catalog-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans Catalog';src:url('/assets/fonts/plus-jakarta-sans-catalog-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans Catalog';src:url('/assets/fonts/plus-jakarta-sans-catalog-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans Catalog';src:url('/assets/fonts/plus-jakarta-sans-catalog-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
.v2-purchasing,#owner-supplier-dialog,#owner-po-dialog,#owner-po-controls .owner-purchasing-dialog:is([data-v2-po-mode=detail],[data-v2-po-mode=amend],[data-v2-po-mode=cancel]){font-family:'Plus Jakarta Sans Catalog','Plus Jakarta Sans',sans-serif}
body:is([data-v2-destination=D23],[data-v2-destination=D24]) #surface-title{font-family:'Plus Jakarta Sans Catalog','Plus Jakarta Sans',sans-serif;font-weight:700}
:is(#owner-supplier-dialog,#owner-po-dialog) :is(input,select,textarea,button){font-family:inherit}
:is(#owner-supplier-dialog,#owner-po-dialog) h2{font-weight:700;line-height:1.3}
.v2-purchasing tbody th,.v2-purchasing-id{font-weight:600}
:is(#owner-supplier-dialog,#owner-po-dialog){overflow:auto;overscroll-behavior:contain}
:is(#owner-supplier-dialog,#owner-po-dialog) .v2-purchasing-form-footer{position:sticky;bottom:0;z-index:2;background:#fff}
.v2-purchasing-unit-field{display:flex;align-items:center;min-width:0;border:1px solid #e8e6e1;border-radius:10px;background:#fff;overflow:hidden}
.v2-purchasing-unit-field input{min-width:0;flex:1;border:0!important;border-radius:0!important}
.v2-purchasing-unit-field>span{flex:none;padding:0 12px;color:#6b706c;font-size:14px}
.v2-purchasing-unit-field:focus-within{outline:3px solid #c54118;outline-offset:3px}
[data-owner-po-conversion]{display:block;font-size:12px;line-height:1.5;color:#6b706c;overflow-wrap:anywhere}
@media(max-width:700px){
 :is(#owner-supplier-dialog,#owner-po-dialog){scroll-padding-block:80px 160px}
 :is(#owner-supplier-dialog,#owner-po-dialog) .section-heading{position:sticky;top:-16px;z-index:3;padding:16px;margin:-16px -16px 0;background:#fff;border-bottom:1px solid #e8e6e1}
 :is(#owner-supplier-dialog,#owner-po-dialog) .v2-purchasing-form-footer{bottom:-16px;margin:0 -16px -16px;padding:16px 16px max(16px,env(safe-area-inset-bottom));gap:8px}
 #owner-supplier-dialog .v2-purchasing-form-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #owner-supplier-dialog .v2-purchasing-form-footer>button{width:100%;min-width:0;margin:0;min-height:44px}
 #owner-supplier-dialog .v2-purchasing-form-footer>button[type=submit]{grid-column:1/-1;font-weight:700}
 #owner-po-dialog .v2-purchasing-form-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
 #owner-po-dialog .v2-purchasing-form-footer>button{width:100%;min-width:0;margin:0;min-height:44px}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]){overflow:visible;border:0;border-radius:0}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) table,.owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) tbody{display:block;min-width:0;width:100%}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #e8e6e1;border-radius:12px;margin-bottom:12px;background:#fff}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) :is(th,td){display:block;min-width:0;padding:0;border:0;font-size:14px;overflow-wrap:anywhere}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) tbody th{grid-column:1/-1;font-weight:600}
 .owner-purchasing-dialog.v2-po-inline-detail .v2-po-detail-table:has(td[data-label]) td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:#6b706c;margin-bottom:4px}
}
/* Selected Supplier review: retain icon geometry, regular entered text and canonical native selects. */
.surface-dashboard .v2-purchasing--suppliers .v2-purchasing-metrics article>svg.feather{flex:none}
#owner-supplier-dialog :is(input,select,textarea){font-weight:400}
#owner-supplier-dialog select{appearance:none;-webkit-appearance:none;background-color:#fff;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222320' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-size:18px;background-repeat:no-repeat;background-position:right 12px center}
/* Official Feather chevron-down is reused verbatim from v2-catalog.css. */
@media(max-width:700px){.v2-purchasing--suppliers .v2-purchasing-metrics article>div>small{font-size:12px}}
.v2-purchasing-unit-note{display:block;color:#6b706c;font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
#owner-po-dialog :is(input,select,textarea),#owner-po-controls :is([data-v2-po-mode=amend],[data-v2-po-mode=cancel]) :is(input,select,textarea){font-weight:400}

/* D24 live feedback occupies its own space; PO controls scroll above it. */
body.surface-dashboard[data-v2-destination="D24"] .operator-app-main {
  display:flex;flex-direction:column;height:calc(100dvh - var(--dashboard-banner-height));min-height:0;
}
body.surface-dashboard[data-v2-destination="D24"] .operator-app-main>.operator-header {flex:none;position:static;}
body.surface-dashboard[data-v2-destination="D24"] .operator-app-main>.operator-content {
  flex:1 1 0;min-height:0;overflow:auto;align-content:start;scroll-padding-block:16px;overscroll-behavior:contain;
}
body.surface-dashboard[data-v2-destination="D24"] .operator-app-main>#global-status {
  position:static;inset:auto;flex:none;width:auto;max-width:none;min-width:0;
  margin:0 var(--dashboard-gutter) 16px;overflow-wrap:anywhere;
}
