:root{font-family:Segoe UI,Arial,sans-serif;color:#152a3a;background:#f3f6f9;font-size:16px;--blue:#164d72;--border:#d8e1e8}*{box-sizing:border-box}body{margin:0}header{background:#102f47;color:#fff;padding:26px 4%;display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.14em;color:#b5d5e8}h1{font-size:1.65rem;margin:7px 0 0;font-weight:600}.source{font-size:.875rem;line-height:1.6;text-align:right}.source span{color:#b5d5e8}main{max-width:1500px;margin:0 auto;padding:24px 4%}nav{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:22px}.tab{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:14px 18px;color:#4a5d6c;font-size:1rem}.tab.active{color:var(--blue);border-color:var(--blue);font-weight:600}.tab span{font-size:.875rem;margin-left:8px}button,input{font:inherit}button{cursor:pointer;border-radius:6px;padding:9px 13px;border:1px solid var(--blue);background:var(--blue);color:#fff}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #248ecb;outline-offset:3px}.secondary{background:#fff;border-color:var(--border);color:var(--blue);font-size:.875rem}.loadingbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:.875rem}.loadingbar strong{font-weight:600}.loadingbar span{display:block;color:#566a79;margin-top:5px}#api-error{padding:12px;background:#fff2dc;color:#71470d}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:20px;margin-bottom:18px}.toolbar label{font-size:.875rem;font-weight:600}.toolbar input[type=search]{display:block;margin-top:7px;width:380px;max-width:100%;padding:11px 12px;background:#fff;border:1px solid #aabbc7;border-radius:5px}.toolbar .check{font-weight:400;padding-bottom:11px;display:flex;align-items:center;gap:8px}.result-count{margin-left:auto;padding-bottom:11px;color:#536875;font-size:.875rem}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:7px}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;background:#eaf0f5;color:#324f63;padding:13px 15px;font-weight:600;white-space:nowrap}td{border-top:1px solid #e3e9ee;padding:14px 15px;vertical-align:top;line-height:1.5}tbody tr:hover{background:#f5f9fc}td .code{display:block;padding:0;border:0;background:transparent;color:#155b8a;font-weight:600;text-align:left;white-space:nowrap}td .sub{display:block;margin-top:5px;color:#506674;max-width:420px;overflow-wrap:anywhere}.money{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.muted{color:#71818d}.badge{display:inline-block;padding:3px 8px;border-radius:4px;background:#e8f0f7;color:#264f6b;font-size:.8rem}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:.875rem}.pagination button+button{margin-left:8px}.note,footer{font-size:.8rem;color:#667986;line-height:1.6}.note{margin-top:20px}footer{max-width:1500px;margin:auto;padding:0 4% 24px}.detail-title{margin:22px 0;font-size:1.4rem;line-height:1.4}.detail-code{color:#2f678e;font-size:.9rem;margin-bottom:7px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:7px;overflow:hidden;margin:20px 0}.summary-grid>div{background:#fff;padding:16px}.summary-grid span{display:block;color:#586f7e;font-size:.8rem;margin-bottom:6px}.summary-grid strong{font-size:1rem;font-weight:600;overflow-wrap:anywhere}h2{font-size:1.2rem;margin-top:26px}h3{font-size:1rem}.description{white-space:pre-wrap;line-height:1.7;color:#354e60}details{margin:12px 0;background:#fff;border:1px solid var(--border);border-radius:6px;padding:13px 16px}summary{cursor:pointer;font-weight:600;font-size:.9rem}dl{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:10px 18px;font-size:.875rem;line-height:1.5}dt{color:#5e7382;overflow-wrap:anywhere}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.item-more{margin-top:12px}#detail-content pre{white-space:pre-wrap}a{color:#165e8d}@media(max-width:700px){header{align-items:start;flex-direction:column;padding:20px}.source{text-align:left}main{padding:18px 14px}.tab{padding:12px 10px;font-size:.9rem}.toolbar{display:block}.toolbar label{display:block;margin-bottom:14px}.toolbar input[type=search]{width:100%}.loadingbar{align-items:start;flex-direction:column;gap:12px}.result-count{margin:0}.summary-grid{grid-template-columns:1fr}dl{grid-template-columns:1fr;gap:5px}dd{margin-bottom:10px}td,th{padding:12px}footer{padding:0 14px 20px}}

.toolbar select{display:block;margin-top:7px;padding:10px;max-width:300px;width:100%;font:inherit;background:#fff;border:1px solid #aabbc7;border-radius:5px}.classification{min-width:180px;max-width:300px;overflow-wrap:anywhere}.toolbar label{max-width:100%}select:focus-visible{outline:3px solid #248ecb;outline-offset:3px}

.classification details{border:0;padding:0;margin:6px 0 0;background:transparent}.classification summary{font-weight:400;color:#165e8d}

#provider-filter[hidden]{display:none}

#supplier-segments[hidden]{display:none}#supplier-segments{margin:20px 0}.segment-group>strong{display:block;margin-bottom:10px}.segment-options{display:flex;flex-wrap:wrap;gap:9px}.segment-button{background:white;color:var(--blue);border-color:#aabbc7;font-size:.9rem}.segment-button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white;box-shadow:inset 0 0 0 1px white}.tracked-box{margin-top:18px;padding:16px;border:1px solid #a9c5d8;border-radius:8px;background:#edf5fa}.tracked-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.tracked-box .note{margin:12px 0 0}#supplier-segments>.note{margin:10px 0 16px}@media(max-width:700px){.tracked-title{align-items:flex-start;flex-direction:column}.segment-options{gap:8px}}

.date-range{border:1px solid var(--border);border-radius:7px;margin:18px 0;padding:14px 16px;background:white}.date-range legend{font-weight:600;padding:0 6px}.date-range-controls{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.date-range label{font-size:.875rem;font-weight:600}.date-range input{display:block;margin-top:6px;padding:9px 10px;border:1px solid #aabbc7;border-radius:5px;background:white;color:#152a3a;max-width:100%}.date-range .note{margin:12px 0 0}#date-range-error{color:#9d291e;margin:10px 0 0}@media(max-width:700px){.date-range-controls{gap:10px}.date-range input{width:145px}}

.date-sort-button{display:inline-flex;align-items:center;gap:8px;background:transparent;color:inherit;border:1px solid transparent;padding:5px 7px;margin:-5px -7px;font:inherit;font-weight:600;white-space:nowrap}.date-sort-button:hover{background:#d9e8f2;border-color:#a9c5d8}.date-sort-button span{font-size:1.1rem;color:#164d72}th[aria-sort=ascending],th[aria-sort=descending]{background:#dceaf4}

.product-search-box{margin:18px 0;padding:16px;border:1px solid #a9c5d8;border-radius:7px;background:#fff}.product-search-box>label{display:block;font-weight:600;margin-bottom:10px}.product-search-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.product-search-controls input{flex:1;min-width:180px;padding:11px;border:1px solid #aabbc7;border-radius:5px}.product-search-box .note{margin:10px 0 0}.product-matches{margin-top:9px;padding:9px;border-left:3px solid #248ecb;background:#edf5fa;max-width:460px;overflow-wrap:anywhere}.product-matches strong{display:block;font-size:.78rem;color:#164d72}.product-matches>div{margin-top:7px}.line-number{font-size:.75rem;font-weight:600;color:#164d72}

/* Compact filter help and mobile date range. */
.filter-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:600}
.filter-info{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;padding:0;border:1px solid #a9c5d8;border-radius:50%;background:white;color:#235578;font-size:21px;vertical-align:middle;cursor:pointer}
.filter-info:hover,.filter-info[aria-expanded="true"]{background:#eaf3f9}
.filter-info:focus-visible{outline:3px solid #2878ad;outline-offset:2px}
#product-search-help[hidden],#date-range-help[hidden]{display:none}
@media(max-width:700px){
 .date-range-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .date-range-controls label{min-width:0}
 .date-range-controls input{width:100%;min-width:0;max-width:100%;padding:9px 4px;font-size:14px}
 #date-clear{grid-column:1 / -1;justify-self:start}
}

.history-progress{padding:12px 14px;margin:0 0 18px;border:1px solid #c9d9e5;border-radius:7px;background:#f7fafc;font-size:.875rem}
.history-top{display:flex;justify-content:space-between;gap:6px 14px;flex-wrap:wrap}
.history-progress progress{display:block;width:100%;height:8px;margin:9px 0;accent-color:#2878ad}
.history-note{display:block;margin-top:5px;color:#52697a;font-size:.8rem;line-height:1.4}

/* Compact filters and visible search feedback */
.filter-info{width:18px;height:18px;flex-basis:18px;min-width:18px;font-size:12px;line-height:1;padding:0}
.history-progress>summary{cursor:pointer;display:list-item;font-size:.875rem}
.history-progress>summary strong{margin-right:12px}
.history-progress>summary #history-count{color:#52697a;font-size:.8rem}
.history-origin{border-top:1px solid #d9e3ea;padding-top:8px;margin-bottom:0;font-size:.75rem}
.search-loading{display:flex;align-items:center;gap:8px;color:#235578;font-weight:600;font-size:.875rem;margin:10px 0}
.search-loading[hidden]{display:none}
.search-spinner{width:16px;height:16px;border:2px solid #c9d9e5;border-top-color:#235578;border-radius:50%;animation:search-spin .8s linear infinite}
@keyframes search-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.search-spinner{animation:none}}
.pagination{gap:8px;flex-wrap:wrap}.page-size{font-size:.8rem;color:#52697a}

.current-progress{padding:12px 14px;margin:0 0 12px;border:1px solid #c9d9e5;background:#f7fafc}
.current-progress>summary{font-size:.875rem}.current-progress .loadingbar{margin:12px 0 0}
.category-filter{width:300px;max-width:100%;font-size:.875rem;font-weight:600;align-self:start}
#category-picker{margin:7px 0 0;padding:10px;border:1px solid #aabbc7;background:#fff}
#category-summary{font-size:.875rem;overflow-wrap:anywhere}
.category-help{font-size:.8rem;font-weight:400;line-height:1.4;color:#52697a}
#category-options{max-height:260px;overflow-y:auto;margin-top:10px}
#category-options label{display:flex;align-items:start;gap:8px;padding:7px 0;margin:0;font-weight:400;line-height:1.4}
#category-options input{flex:0 0 auto;margin-top:3px}#category-options span{overflow-wrap:anywhere}
#category-options small{color:#52697a}
@media(max-width:700px){.category-filter{width:100%;margin-bottom:14px}}

/* Keep filter controls together on narrow screens. */
.product-search-controls{flex-wrap:nowrap;gap:8px}
.product-search-controls input{min-width:0;width:0;flex:1 1 0}
#product-clear,#date-clear{white-space:nowrap;flex:0 0 auto}
.date-range-controls{display:grid;grid-template-columns:minmax(0,160px) minmax(0,160px) auto;justify-content:start;align-items:end;gap:8px}
.date-range-controls label{min-width:0}
.date-range-controls input{width:100%;min-width:0}
#date-clear{grid-column:auto;justify-self:start}
.segment-group .segment-options{flex-wrap:nowrap;gap:6px}
.segment-group .segment-button{white-space:nowrap}
@media(max-width:700px){
 .date-range{padding:12px 10px}
 .date-range-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px}
 .date-range-controls input{padding:9px 3px;font-size:12px;min-height:38px}
 #date-clear{padding:9px 7px;font-size:12px;min-height:38px}
 .segment-group .segment-options{gap:4px}
 .segment-group .segment-button{flex:1 1 auto;padding:9px 5px;font-size:12px}
}

.history-progress>summary strong,.current-progress>summary strong{font-weight:700}
#downloaded-counts{font-size:.8rem;font-weight:400;color:#52697a;margin-left:12px;line-height:1.6}
.history-bar-label{display:block;font-size:.8rem;color:#52697a;margin-top:10px}
#priority-progress{margin-bottom:12px}#priority-progress[hidden]{display:none}
#priority-meter{accent-color:#238575}
#category-picker{position:relative}
#category-picker>.category-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:-1px;width:calc(100% + 2px);max-height:min(60vh,420px);overflow-y:auto;padding:12px;background:white;border:1px solid #aabbc7;border-radius:6px;box-shadow:0 8px 24px #102f4726}
#category-picker:not([open])>.category-panel{display:none}
#category-picker .category-help{margin-top:0}
#category-options{max-height:none;overflow:visible}
.current-progress>summary{white-space:nowrap}
#downloaded-counts{display:inline;margin-left:8px;white-space:nowrap}
@media(max-width:700px){#downloaded-counts{font-size:.75rem;margin-left:6px}}

#award-provider-role[hidden],#award-note[hidden],.toolbar label[hidden]{display:none}
.award-line{padding:16px;margin:18px 0;border:1px solid #d8e1e8;border-radius:8px;background:#fff}
.award-line h4{margin:16px 0 8px}.award-line h3{margin-top:0}
nav{overflow-x:auto;align-items:stretch}.tab{flex:0 0 auto}

.table-date,.table-time{display:block;white-space:nowrap}.table-time{color:#506674;font-size:.8rem;margin-top:3px}.award-providers{margin:0;padding:0;border:0;background:transparent}.award-providers>summary{font-size:inherit;font-weight:400;color:#165e8d}.award-provider-names{margin-top:8px;max-width:340px}.award-provider-names>div{margin-top:6px;overflow-wrap:anywhere}

.annex-badge{display:inline-block;font-size:.75rem;padding:3px 7px;margin-top:5px;border-radius:5px;background:#fff3d8;color:#705000}.annex-notice{padding:10px 12px;background:#fff7e6;border-left:3px solid #bb8b21;font-size:.9rem}#annex-filter[hidden]{display:none!important}

nav{flex-wrap:wrap}nav a.tab{text-decoration:none}
