.tenders-container{max-width:1248px}.tender-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px;border:1px solid var(--line);border-radius:20px;background:var(--hero-bg);margin-bottom:20px}.tender-hero h1{font-size:clamp(30px,4vw,46px);margin:8px 0 12px;letter-spacing:-1.4px}.tender-hero p{max-width:660px;color:var(--muted);line-height:1.7;margin:0}.tender-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tender-hero .tender-actions{min-width:185px}.tender-note{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 26px}.tender-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.tender-filters{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.tender-filters h2{font-size:18px;margin:0 0 20px}.tender-filters form{display:flex;flex-direction:column;gap:16px}.tender-filters .field{margin:0}.tender-filters input,.tender-filters select{width:100%;min-width:0;box-sizing:border-box}.tender-dates{display:grid;grid-template-columns:1fr;gap:10px;border:0;padding:0;margin:0;min-width:0}.tender-dates legend{font-size:13px;font-weight:600;margin-bottom:10px}.tender-clear{text-align:center;font-size:13px}.tender-results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.tender-results-heading h2{font-size:20px;margin:0}.tender-results-heading a{font-size:13px}.tender-list{display:grid;gap:16px}.tender-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;overflow-wrap:anywhere}.tender-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tender-source-label{font-size:12px;color:var(--muted);margin-left:auto}.tender-status,.tender-visibility{font-size:12px;padding:5px 10px;border-radius:6px;background:var(--soft);color:var(--muted);font-weight:650}.tender-status-open{background:var(--green);color:var(--green-text)}.tender-status-unknown{background:var(--amber);color:var(--amber-text)}.tender-status-cancelled{color:var(--danger)}.tender-visibility{border:1px dashed var(--line)}.tender-card h2{font-size:21px;line-height:1.4;margin:16px 0 8px}.tender-card h2 a{color:var(--text);text-decoration:none}.tender-card h2 a:hover{text-decoration:underline}.tender-buyer{font-weight:600;margin:8px 0;color:var(--text)}.tender-location,.tender-summary{font-size:14px;color:var(--muted);line-height:1.65}.tender-tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tender-tags a,.tender-tags span{font-size:12px;background:var(--blue);color:var(--blue-text);border-radius:5px;padding:5px 9px;text-decoration:none}.tender-tags a:hover{text-decoration:underline}.tender-card-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tender-card-bottom>div:first-child{display:flex;flex-direction:column;gap:4px}.tender-card-bottom span,.tender-card-bottom small{font-size:12px;color:var(--muted)}.tender-card-bottom strong{font-size:14px}.tender-empty{background:var(--panel);border:1px dashed var(--line);border-radius:16px;padding:40px 30px;line-height:1.7}.tender-empty h2{font-size:23px}.tender-empty p{color:var(--muted)}.tender-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:14px}.tender-back{display:inline-block;margin:6px 0 24px}.tender-detail,.tender-edit{max-width:920px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;overflow-wrap:anywhere}.tender-detail h1{font-size:clamp(26px,3.6vw,38px);line-height:1.25;margin:20px 0}.tender-detail h2{font-size:21px}.tender-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0}.tender-facts dt{font-size:13px;color:var(--muted);margin-bottom:6px}.tender-facts dd{margin:0;font-weight:650}.tender-description{line-height:1.8;white-space:pre-line}.tender-source-box{margin-top:28px;padding:24px;background:var(--panel-2);border-radius:12px}.tender-source-box p{color:var(--muted);font-size:14px;line-height:1.7}.tender-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:24px}.tender-form-grid .field{margin:0;min-width:0}.tender-form-grid input:not([type=checkbox]),.tender-form-grid select,.tender-form-grid textarea{width:100%;box-sizing:border-box;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--line)}.tender-full{grid-column:1/-1}.tender-category-fields{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-wrap:wrap;gap:12px 22px;min-width:0}.tender-category-fields legend{font-weight:600}.tender-category-fields label{font-size:14px;display:flex;align-items:center;gap:6px}.tender-review{font-size:14px;line-height:1.6;display:flex;align-items:flex-start;gap:10px}.tender-review input{margin-top:5px;flex-shrink:0}.tenders-container a:focus-visible,.tenders-container button:focus-visible{outline:3px solid var(--accent-strong);outline-offset:3px}
@media(max-width:900px){.tender-hero{align-items:flex-start;flex-direction:column}.tender-layout{grid-template-columns:230px minmax(0,1fr);gap:18px}.tender-card{padding:20px}.tender-source-label{margin-left:0}}
@media(max-width:680px){.tender-hero{padding:24px}.tender-layout{grid-template-columns:minmax(0,1fr)}.tender-dates{grid-template-columns:minmax(0,1fr)}.tender-facts,.tender-form-grid{grid-template-columns:minmax(0,1fr)}.tender-detail,.tender-edit{padding:22px}.tender-card h2{font-size:19px}.tender-card-bottom{align-items:stretch}.tender-card-bottom .tender-actions{width:100%}.tender-card-bottom .button{flex:1;text-align:center}.tender-results-heading{margin-top:8px}}

/* Search and results share one GET form; the sidebar becomes a disclosure on mobile. */
.tenders-container { max-width:1248px; }
.tender-hero { padding:28px 32px; margin-bottom:14px; border-left:4px solid var(--accent-strong); }
.tender-hero .eyebrow { color:var(--accent-strong); font-size:11px; letter-spacing:1.6px; }
.tender-hero h1 { margin-top:10px; margin-bottom:10px; }
.tender-note { margin-bottom:22px; }
.tender-searchbar { display:flex; gap:12px; align-items:center; padding:8px 8px 8px 18px; background:var(--panel); border:1px solid var(--line); border-radius:12px; margin-bottom:24px; }
.tender-searchbar:focus-within { border-color:var(--accent-strong); box-shadow:0 0 0 2px var(--green); }
.tender-searchbar svg { flex-shrink:0; width:22px; height:22px; color:var(--muted); }
.tender-searchbar input { flex:1; width:100%; min-width:0; border:0; padding:10px 0; color:var(--text); background:transparent; font:inherit; font-size:16px; }
.tender-searchbar input:focus { outline:none; }
.tender-searchbar input::placeholder { color:var(--muted); }
.tender-searchbar .button { min-height:44px; padding-inline:26px; }
.tender-layout { grid-template-columns:260px minmax(0,1fr); gap:24px; }
.tender-layout > aside,.tender-results { min-width:0; }
.tender-filters { padding:0; overflow:hidden; }
.tender-filters > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:20px; border:0; border-radius:0; list-style:none; background:transparent; font-weight:700; cursor:pointer; }
.tender-filters > summary::-webkit-details-marker { display:none; }
.tender-filters > summary:focus-visible { outline:3px solid var(--accent-strong); outline-offset:-4px; }
.tender-filter-toggle { font-size:22px; line-height:1; }
.tender-filters[open] .tender-filter-toggle { transform:rotate(180deg); }
.tender-filter-fields { display:flex; flex-direction:column; gap:18px; padding:0 20px 20px; }
.tender-filter-fields .field { min-width:0; }
.tender-filter-fields input,.tender-filter-fields select { font-size:14px; min-height:44px; }
.tender-filter-help { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.tender-dates { grid-template-columns:minmax(0,1fr); }
.tender-results,.tender-card { scroll-margin-top:20px; }
.tender-results:focus { outline:none; }
.tender-active-filters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
.tender-filter-chip { display:inline-flex; gap:12px; justify-content:space-between; align-items:center; max-width:100%; min-height:34px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:var(--soft); color:var(--text); font-size:12px; text-decoration:none; overflow-wrap:anywhere; }
.tender-filter-chip:hover { border-color:var(--accent-strong); }
.tender-filter-chip span { font-size:18px; flex-shrink:0; }
.tender-reset { padding:8px 0; font-size:12px; }
.tender-status-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:24px; }
.tender-status-tabs a { display:flex; flex-direction:column; gap:8px; justify-content:space-between; color:var(--muted); background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:12px 14px; text-decoration:none; line-height:1.4; font-size:12px; }
.tender-status-tabs strong { font-size:24px; color:var(--text); font-weight:700; }
.tender-status-tabs a:hover { border-color:var(--accent-strong); }
.tender-status-tabs a[aria-current="page"] { border-color:var(--accent-strong); box-shadow:inset 0 -3px var(--accent-strong); color:var(--text); background:var(--green); }
.tender-results-heading { margin-bottom:18px; align-items:flex-end; }
.tender-results-heading p { font-size:12px; color:var(--muted); margin:6px 0 0; }
.tender-sort { display:flex; flex-wrap:wrap; gap:8px; align-items:center; max-width:100%; }
.tender-sort label { font-size:12px; color:var(--muted); }
.tender-sort select { max-width:100%; min-height:40px; padding:8px 10px; color:var(--text); border:1px solid var(--line); border-radius:8px; background:var(--panel); font:inherit; font-size:12px; }
.tender-sort-apply[hidden] { display:none; }
.tender-card { padding:24px; transition:border-color .15s ease; }
.tender-card:hover { border-color:var(--accent-strong); }
.tender-card:target { outline:2px solid var(--accent-strong); outline-offset:3px; }
.tender-card h2 { font-size:22px; margin-top:18px; }
.tender-card h2 a:hover { color:var(--accent-strong); }
.tender-status { display:inline-flex; gap:7px; align-items:center; }
.tender-status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }
.tender-location { display:flex; gap:6px 16px; flex-wrap:wrap; margin:8px 0; }
.tender-location span { color:var(--muted); }
.tender-card-bottom { gap:16px; }
.tender-card-bottom .button { min-height:40px; }
.tender-deadline-hint { line-height:1.6; }
.tender-deadline-hint.is-urgent,.tender-card-bottom .tender-deadline-hint.is-urgent { color:var(--amber-text); background:var(--amber); border-radius:4px; padding:2px 6px; align-self:flex-start; font-weight:700; }
.tender-key-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:20px; margin-top:22px; background:var(--soft); border:1px solid var(--line); border-radius:12px; }
.tender-key-facts>div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:0; }.tender-key-facts span,.tender-key-facts small { font-size:12px; color:var(--muted); }.tender-key-facts strong { font-size:15px; }.tender-finance-note { font-size:12px; color:var(--muted); margin:14px 0 0; line-height:1.6; }
.tender-finance-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; font-size:12px; margin:18px 0 0; }.tender-finance-facts dt { color:var(--muted); margin-bottom:5px; }.tender-finance-facts dd { margin:0; font-weight:600; line-height:1.5; }
@media(max-width:680px) { .tender-key-facts { grid-template-columns:minmax(0,1fr); padding:16px; } }
.tender-checked { margin:16px 0 0; font-size:11px; color:var(--muted); }
.tender-empty { text-align:center; padding:36px 28px; }
.tender-empty svg { display:block; width:48px; height:48px; color:var(--muted); margin:0 auto 18px; }
.tender-empty p { max-width:430px; margin:0 auto 24px; }
.tender-empty h2 { font-size:22px; margin:0 0 12px; line-height:1.4; }
.tender-status-explanation { border-left:3px solid var(--line); padding:12px 16px; background:var(--soft); border-radius:0 8px 8px 0; margin:24px 0; }
.tender-status-explanation p { font-size:14px; line-height:1.7; margin:0; }
.tender-status-explanation-unknown { border-color:var(--amber-text); background:var(--amber); color:var(--amber-text); }
.tender-status-explanation-open { border-color:var(--green-text); background:var(--green); color:var(--green-text); }
.tender-detail-actions { margin:24px 0; }
.tender-detail-actions > span { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.tender-back { min-height:40px; padding-block:8px; }

@media (max-width:960px) {
    .tender-layout { grid-template-columns:230px minmax(0,1fr); gap:18px; }
    .tender-status-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .tenders-container { padding:20px 16px 48px; }
    .tender-hero { padding:20px; gap:20px; }
    .tender-hero h1 { font-size:32px; letter-spacing:-1px; }
    .tender-hero p { font-size:14px; line-height:1.6; }
    .tender-note { font-size:12px; line-height:1.6; margin-bottom:16px; }
    .tender-searchbar { gap:8px; margin-bottom:16px; padding-left:12px; }
    .tender-searchbar .button { padding-inline:14px; }
    .tender-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
    .tender-filters > summary { padding:14px 16px; font-size:14px; }
    .tender-filter-fields { padding:4px 16px 18px; }
    .tender-filter-fields input,.tender-filter-fields select { font-size:16px; }
    .tender-status-tabs { margin-bottom:20px; }
    .tender-status-tabs a { flex-direction:row; align-items:center; gap:12px; padding:12px; }
    .tender-status-tabs strong { font-size:20px; }
    .tender-card { padding:20px; }
    .tender-card h2 { font-size:20px; }
    .tender-card-bottom .tender-actions { width:100%; }
    .tender-card-bottom .button { flex:1; text-align:center; }
    .tender-card-bottom strong { font-size:14px; }
    .tender-empty { padding:28px 20px; }
    .tender-detail { padding:22px; }
    .tender-detail-actions > .button { width:100%; text-align:center; }
    .tender-source-box { padding:18px; }
}
@media (max-width:360px) {
    .tender-searchbar svg { display:none; }
    .tender-card,.tender-hero { padding:16px; }
    .tender-hero h1 { font-size:30px; }
    .tender-tags { gap:6px; }
}

/* Provenance and coverage: keep synchronization state visible beside the catalogue. */
.tender-kind { display:inline-block; padding:5px 9px; border:1px solid var(--line); border-radius:6px; color:var(--text); font-size:12px; font-weight:700; }
.tender-review-note { padding:13px 16px; border-radius:9px; background:var(--amber); color:var(--amber-text); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.tender-review-note a { color:inherit; text-decoration:underline; }
.tender-health-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:22px 0 36px; }
.tender-health-card,.tender-directory { padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow-wrap:anywhere; }
.tender-health-card h3 { font-size:21px; line-height:1.4; margin:20px 0; }
.tender-health-state { margin-left:auto; font-size:12px; padding:5px 9px; border-radius:6px; background:var(--soft); color:var(--muted); }
.tender-health-state-current { background:var(--green); color:var(--green-text); }
.tender-health-state-backlog,.tender-health-state-error,.tender-health-state-stale { background:var(--amber); color:var(--amber-text); }
.tender-health-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0; }
.tender-health-facts dt { font-size:12px; color:var(--muted); margin-bottom:7px; line-height:1.5; }
.tender-health-facts dd { font-size:14px; font-weight:650; margin:0; }
.tender-health-readings { font-size:14px; line-height:1.6; border-top:1px solid var(--line); padding-top:18px; margin-bottom:8px; }
.tender-health-card .tender-actions { margin-top:20px; font-size:13px; }
.tender-health-info { font-size:14px; line-height:1.7; color:var(--muted); }
.tender-directory > p { line-height:1.75; color:var(--muted); }
.tender-health-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:26px 0; }
.tender-health-metrics > div { display:flex; flex-direction:column; gap:10px; border:1px solid var(--line); border-radius:12px; padding:20px; }
.tender-health-metrics strong { font-size:30px; line-height:1; letter-spacing:-1px; }
.tender-health-metrics span { font-size:12px; line-height:1.5; color:var(--muted); }
.tender-bip-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; margin:24px 0; }
.tender-bip-counts > div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.tender-bip-counts dd { margin:0; font-weight:700; }
@media(max-width:760px) { .tender-health-grid { grid-template-columns:1fr; } .tender-health-metrics { grid-template-columns:1fr; } .tender-health-metrics > div { flex-direction:row; align-items:center; gap:20px; } .tender-health-metrics strong { min-width:90px; } }
@media(max-width:480px) { .tender-health-facts,.tender-bip-counts { grid-template-columns:1fr; } .tender-health-card,.tender-directory { padding:20px; } .tender-health-state { margin-left:0; } }
