.purchase-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.purchase-controls label{display:flex;gap:8px;align-items:center;white-space:nowrap}.purchase-controls input{width:82px!important;min-width:0;font-size:16px}.purchase-controls>span{font-size:13px;color:var(--muted);flex:1}.purchase-controls input,.purchase-filters input{height:42px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-sizing:border-box}
.purchase-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.purchase-summary>div{padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.purchase-summary span,.purchase-summary small{display:block;color:var(--muted);line-height:1.4}.purchase-summary strong{display:block;font-size:30px;margin:6px 0;color:var(--accent)}.purchase-status{font-size:13px;display:flex;align-items:center;gap:8px;color:var(--muted);min-height:22px}.purchase-limitation{font-size:13px;color:var(--warning);line-height:1.5;margin:12px 0}
.purchase-sources{padding:14px 18px;margin-bottom:20px}.purchase-sources summary{cursor:pointer}.purchase-sources summary>span{font-size:13px;color:var(--muted);margin-left:12px}.purchase-sources>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:16px 0}.purchase-sources article{padding:10px;border-bottom:1px solid var(--line);display:grid;gap:4px;font-size:13px;overflow-wrap:anywhere}.purchase-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,200px) minmax(150px,200px) auto;gap:10px;margin-bottom:16px}.purchase-filters>*{min-width:0;width:100%}
.purchase-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.purchase-table-guide{padding:12px 16px;color:var(--muted);font-size:12px;line-height:1.5;border-bottom:1px solid var(--line)}.purchase-wide-scroll{overflow-x:auto;overscroll-behavior-x:contain}.purchase-wide-table{min-width:940px}.purchase-table-groups,.purchase-table-head,.purchase-row>summary{display:grid;grid-template-columns:minmax(220px,2.8fr) repeat(4,minmax(65px,.8fr)) repeat(4,minmax(78px,1fr));gap:10px;padding:14px 16px;align-items:center}.purchase-table-groups{padding-bottom:0;font-size:11px;letter-spacing:.03em;color:var(--accent);background:var(--surface)}.purchase-table-groups>span:nth-child(2){grid-column:2/6;text-align:center}.purchase-table-groups>span:nth-child(3){grid-column:6/10;text-align:center}.purchase-table-head{font-size:12px;color:var(--muted);background:var(--surface);line-height:1.4}.purchase-table-head>span:not(:first-child){text-align:right}.purchase-row{border-top:1px solid var(--line);background:var(--surface)}.purchase-row>summary{cursor:pointer;list-style:none}.purchase-row>summary::-webkit-details-marker{display:none}.purchase-row[open]>summary,.purchase-row>summary:hover{background:var(--theme-accent-bg,rgba(188,162,247,.07))}.purchase-product{min-width:0;overflow-wrap:anywhere}.purchase-product strong{font-weight:600}.purchase-product small{display:block;color:var(--muted);margin-top:5px;font-size:12px}.purchase-product .purchase-expand{color:var(--accent);font-size:11px}.purchase-expand:before{content:'▸ '}.purchase-row[open] .purchase-expand:before{content:'▾ '}.purchase-number{text-align:right;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.purchase-number>small{display:none}.purchase-total{font-weight:650}.purchase-need{font-size:17px;font-weight:650;color:var(--accent)}
.purchase-detail{padding:20px;background:var(--theme-accent-bg,rgba(188,162,247,.025));border-top:1px solid var(--line)}.purchase-detail .fineprint{font-size:12px;line-height:1.55;color:var(--muted);margin:10px 0}.purchase-equations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.purchase-equations>section{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);min-width:0}.purchase-equations>section>small{color:var(--muted);font-size:12px}.purchase-equations strong{display:block;font-size:26px;line-height:1.2;margin:12px 0 16px;font-variant-numeric:tabular-nums}.purchase-equations strong em{font-size:13px;font-weight:400;font-style:normal;color:var(--muted)}.purchase-equations dl{font-size:12px;margin:0}.purchase-equations dl>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.purchase-equations dt{color:var(--muted)}.purchase-equations dd{margin:0;font-variant-numeric:tabular-nums}.purchase-equations p{font-size:11px;line-height:1.55;color:var(--muted);margin:12px 0 0}.purchase-equations .purchase-result{border-color:var(--accent);background:var(--theme-accent-bg,rgba(188,162,247,.055))}.purchase-result strong{color:var(--accent)}.purchase-subtraction{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.purchase-detail-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.purchase-detail-title h3{margin:0;font-size:16px}.purchase-detail-title>span{font-size:12px;color:var(--muted)}
.purchase-cabinet{border:1px solid var(--line);border-radius:10px;margin:10px 0;overflow:hidden}.purchase-cabinet>summary{display:grid;grid-template-columns:minmax(0,1fr) 145px 145px;gap:16px;padding:14px 16px;align-items:center;cursor:pointer;list-style:none}.purchase-cabinet>summary::-webkit-details-marker{display:none}.purchase-cabinet>summary>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.purchase-cabinet>summary small{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.45}.purchase-cabinet>summary:hover,.purchase-cabinet[open]>summary{background:var(--theme-accent-bg,rgba(188,162,247,.06))}.purchase-cabinet-body{padding:4px 16px 16px;border-top:1px solid var(--line)}.purchase-cabinet-body h4{font-size:14px;margin:20px 0 12px}.purchase-day-counts{display:flex;gap:8px;flex-wrap:wrap}.purchase-day-counts>span{font-size:12px;background:var(--surface);padding:8px 10px;border-radius:7px;color:var(--muted)}.purchase-day-counts b{color:var(--text)}.purchase-day-counts>span:first-child b{color:var(--accent)}
.purchase-channel-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:8px}.purchase-audit-table{width:100%;min-width:740px;border-collapse:collapse;font-size:12px;table-layout:fixed}.purchase-audit-table th,.purchase-audit-table td{padding:12px 10px;text-align:right;vertical-align:middle;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:normal}.purchase-audit-table th:first-child{text-align:left;width:145px;font-weight:500}.purchase-audit-table thead th{font-size:11px;font-weight:400;color:var(--muted);background:var(--surface);line-height:1.4}.purchase-audit-table tbody tr:nth-child(even){background:var(--theme-accent-bg,rgba(188,162,247,.025))}.purchase-audit-table tfoot{font-weight:650;background:var(--theme-accent-bg,rgba(188,162,247,.04))}.purchase-audit-table tfoot th,.purchase-audit-table tfoot td{border:0}.purchase-audit-table small{display:block;color:var(--muted);font-size:10px;margin-top:5px;font-weight:400}.purchase-future-table{min-width:640px}.purchase-future-table th:first-child{width:185px}.purchase-normalization{margin:16px 0 20px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--theme-accent-bg,rgba(188,162,247,.04));border-radius:0 8px 8px}.purchase-normalization>span{font-size:12px;color:var(--muted)}.purchase-normalization strong{display:block;font-size:18px;margin:8px 0;font-variant-numeric:tabular-nums}.purchase-normalization p{font-size:12px;line-height:1.55;color:var(--muted);margin:0;max-width:800px}.purchase-season-source{font-size:11px;line-height:1.6;color:var(--muted);padding-top:14px}.purchase-season-source>*{display:block}.purchase-season-source b{font-weight:500;color:var(--text)}.purchase-data-note{font-size:12px;line-height:1.6;color:var(--warning)}.purchase-method{margin-top:20px;color:var(--muted);font-size:13px}.purchase-method summary{cursor:pointer}.purchase-method p{max-width:1000px;line-height:1.6}.purchase-list>.fineprint,.purchase-list>.button{margin:12px 20px}
@media(max-width:720px){.purchase-controls{gap:10px}.purchase-controls>span{flex-basis:100%;order:4}.purchase-controls .button{padding:10px 12px}.purchase-summary{gap:8px}.purchase-summary>div{padding:12px 10px}.purchase-summary span,.purchase-summary small{font-size:11px}.purchase-summary strong{font-size:24px}.purchase-filters{grid-template-columns:1fr 1fr}.purchase-filters>input,.purchase-filters>[data-procurement-export]{grid-column:1/-1}.purchase-wide-table{min-width:0}.purchase-table-head,.purchase-table-groups{display:none}.purchase-row>summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px;padding:16px 14px}.purchase-product{grid-column:1/-1}.purchase-number{font-size:13px;text-align:left;white-space:normal;overflow-wrap:anywhere}.purchase-number>small{display:block;font-size:10px;min-height:25px;line-height:1.25;color:var(--muted);margin-bottom:5px}.purchase-number:nth-child(n+6){padding-top:12px;border-top:1px solid var(--line)}.purchase-detail{padding:14px 10px}.purchase-equations{grid-template-columns:1fr;gap:10px;margin-bottom:20px}.purchase-equations>section{padding:14px}.purchase-equations strong{font-size:24px;margin:8px 0 12px}.purchase-equations dl{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.purchase-detail-title{display:block}.purchase-detail-title>span{display:block;margin-top:6px}.purchase-cabinet>summary{grid-template-columns:1fr 1fr;padding:12px;gap:12px}.purchase-cabinet>summary>span:first-child{grid-column:1/-1}.purchase-cabinet>summary>span:nth-child(2){text-align:left}.purchase-cabinet-body{padding:0 10px 12px}.purchase-normalization{padding:12px}.purchase-normalization strong{font-size:16px}.purchase-sources summary>span{display:block;margin:4px 0 0}.purchase-status{flex-wrap:wrap}.purchase-table-guide{font-size:11px}}

.purchase-scroll-hint{display:none}@media(max-width:720px){.purchase-scroll-hint{display:block;font-size:11px;color:var(--muted);margin:12px 0 8px}}
/* The procurement worksheet stays a worksheet at every viewport size. */
.purchase-expanded-table{min-width:var(--purchase-width);width:var(--purchase-width)}
.purchase-expanded-table .purchase-table-head,.purchase-expanded-table .purchase-row>summary{display:grid;grid-template-columns:var(--purchase-cols);gap:0;padding:0;align-items:stretch}
.purchase-expanded-table .purchase-table-head>button{border:0;border-radius:0;border-right:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;text-align:right;padding:14px 12px;line-height:1.45;cursor:pointer;min-width:0;white-space:normal}
.purchase-expanded-table .purchase-table-head>button[aria-pressed=true]{color:var(--accent)}
.purchase-expanded-table .purchase-table-head>button:first-child,.purchase-expanded-table .purchase-product{position:sticky;left:0;z-index:2;text-align:left;background:var(--surface);border-right:1px solid var(--line);box-shadow:5px 0 10px var(--theme-shadow-color,#00000012)}
.purchase-expanded-table .purchase-row>summary>span{padding:15px 12px;align-content:center;grid-column:auto;border-top:0}
.purchase-expanded-table .purchase-number{font-size:13px;white-space:normal;overflow-wrap:anywhere;text-align:right}
.purchase-expanded-table .purchase-number.purchase-need{font-size:16px;background:var(--theme-accent-bg,rgba(188,162,247,.05))}
.purchase-expanded-table .purchase-detail{max-width:min(1100px,calc(100vw - 360px));position:sticky;left:0}
.purchase-table-guide{display:flex;align-items:center;justify-content:space-between;gap:12px}
.purchase-filters{display:flex;flex-wrap:wrap;gap:10px}.purchase-filters input{flex:1 1 260px}.purchase-filters select{flex:0 1 200px;min-width:150px}
.purchase-measures{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;font-size:13px;line-height:1.6;color:var(--muted);margin:18px 0}.purchase-measures b{color:var(--text)}
.purchase-missing{padding:15px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:13px}.purchase-missing b{color:var(--text)}
[data-procurement-unknown]{cursor:pointer}[data-procurement-unknown]:focus-visible{outline:2px solid var(--accent)}
@media(max-width:720px){.purchase-expanded-table{--purchase-first:180px}.purchase-expanded-table .purchase-detail{max-width:calc(100vw - 48px);padding:14px 10px}.purchase-expanded-table .purchase-product{font-size:13px}.purchase-measures{grid-template-columns:1fr}.purchase-table-guide{align-items:start;flex-direction:column}.purchase-summary [data-procurement-unknown]{grid-column:auto}}
.purchase-filters>[data-procurement-export]{width:auto;flex:0 0 auto;white-space:nowrap}.purchase-filters input{width:auto}.purchase-summary>div{padding:14px 18px}.purchase-summary strong{font-size:26px;margin:4px 0}.purchase-summary small{font-size:12px}
@media(max-width:720px){.purchase-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-filters select{width:100%;min-width:0}.purchase-filters [data-procurement-mode]{grid-column:1/-1}.purchase-filters>[data-procurement-export]{grid-column:auto;width:100%;font-size:12px;min-width:0;padding:10px 8px}}
/* Compact worksheet: fixed numeric columns keep amounts aligned. */
.purchase-expanded-table .purchase-table-head>button{padding:10px 9px;font-size:12px;line-height:1.3}
.purchase-expanded-table .purchase-row>summary>span{padding:10px 9px}
.purchase-expanded-table .purchase-number{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;font-size:12px}
.purchase-expanded-table .purchase-number.purchase-need{font-size:13px}
.purchase-expanded-table .purchase-product strong{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.purchase-expanded-table .purchase-product small{font-size:11px;line-height:1.3;margin-top:3px}
.purchase-download-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:10px 0;flex-wrap:wrap}
.purchase-download-status:empty{display:none}.purchase-download-status a{text-decoration:underline;color:var(--accent)}
.purchase-download-status.negative{color:var(--bad)}
@media(max-width:720px){.purchase-filters>[data-procurement-export]{font-size:12px;min-width:0;white-space:normal;padding:10px 6px}}
