/* V13 — dense opportunity cards, real row view and enhanced detail */
.tender-grid.grid-view{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.sidebar.collapsed~.main-content .tender-grid.grid-view{grid-template-columns:repeat(5,minmax(0,1fr))}
.tender-grid.grid-view .tender-card{padding:12px;border-radius:14px;min-width:0;display:flex;flex-direction:column}
.tender-grid.grid-view .source-icon{width:30px;height:30px;border-radius:9px;font-size:9px}
.tender-grid.grid-view .source-meta b{font-size:8px}.tender-grid.grid-view .source-meta span{font-size:7.5px}.tender-grid.grid-view .status-badge{font-size:7.5px;padding:4px 6px}
.tender-grid.grid-view .ref{font-size:8px;margin:9px 0 5px}.tender-grid.grid-view .tender-card h4{font-size:11px;line-height:1.38;min-height:46px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tender-grid.grid-view .agency{font-size:8.5px;line-height:1.4;margin:6px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line);border-radius:10px;overflow:hidden;margin-top:auto}.card-facts>div{background:var(--panel-2);padding:7px;min-width:0}.card-facts span{display:block;color:var(--muted);font-size:6.5px;text-transform:uppercase;font-weight:800;letter-spacing:.03em}.card-facts b{display:block;font-size:7.8px;line-height:1.3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tender-grid.grid-view .countdown{margin-top:8px;padding:7px 8px}.tender-grid.grid-view .countdown span,.tender-grid.grid-view .countdown b{font-size:8px}.tender-grid.grid-view .card-actions{margin-top:8px}.tender-grid.grid-view .card-actions button{padding:7px;font-size:8px}
.tender-grid.row-view{display:grid!important;grid-template-columns:1fr!important;gap:8px}
.tender-grid.row-view .tender-card{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(260px,1.8fr) minmax(430px,2.6fr) 120px 145px;gap:14px;align-items:center;padding:11px 13px;min-height:94px}
.tender-grid.row-view .card-top{display:block}.tender-grid.row-view .source-wrap{margin-bottom:7px}.tender-grid.row-view .status-badge{display:inline-flex}.tender-grid.row-view .ref{margin:0 0 5px}.tender-grid.row-view h4{font-size:12px;min-height:0;margin:0}.tender-grid.row-view .agency{font-size:9px;margin:5px 0 0}.tender-grid.row-view .match-score,.tender-grid.row-view .match-reasons{display:none}.tender-grid.row-view .card-facts{grid-template-columns:repeat(3,1fr);margin:0}.tender-grid.row-view .card-facts>div{padding:6px}.tender-grid.row-view .countdown{margin:0}.tender-grid.row-view .card-actions{margin:0;display:flex}.tender-grid.row-view .card-actions .save-btn{flex:0 0 36px}
.detail-grid-six{grid-template-columns:repeat(6,1fr)}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.detail-section-head h3{margin:3px 0}.official-source-bar{display:flex;align-items:center;gap:8px;padding:9px 11px;margin-bottom:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);font-size:8px;color:var(--muted);overflow:hidden}.official-source-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.official-detail-text{max-height:380px;overflow:auto;font-size:10.5px}.attachment-count{font-size:9px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:5px 8px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
@media(max-width:1300px) and (min-width:1101px){.tender-grid.grid-view{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar.collapsed~.main-content .tender-grid.grid-view{grid-template-columns:repeat(4,minmax(0,1fr))}.tender-grid.row-view .tender-card{grid-template-columns:150px minmax(220px,1.5fr) minmax(350px,2fr) 115px 130px}}
@media(min-width:1800px){.tender-grid.grid-view{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar.collapsed~.main-content .tender-grid.grid-view{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1250px){.tender-grid.row-view .tender-card{grid-template-columns:130px minmax(220px,1.5fr) minmax(300px,2fr) 110px}.tender-grid.row-view .card-actions{grid-column:4}.tender-grid.row-view .countdown{grid-column:4;grid-row:1}.tender-grid.row-view .card-facts{grid-column:3;grid-row:1 / span 2}}
@media(max-width:1100px){.tender-grid.grid-view,.sidebar.collapsed~.main-content .tender-grid.grid-view{grid-template-columns:repeat(2,minmax(0,1fr))}.tender-grid.row-view .tender-card{grid-template-columns:1fr 2fr}.tender-grid.row-view .card-facts,.tender-grid.row-view .countdown,.tender-grid.row-view .card-actions{grid-column:auto;grid-row:auto}.detail-grid-six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.tender-grid.grid-view,.sidebar.collapsed~.main-content .tender-grid.grid-view{grid-template-columns:1fr}.tender-grid.row-view .tender-card{display:block}.tender-grid.row-view .card-facts{margin:10px 0}.tender-grid.row-view .countdown,.tender-grid.row-view .card-actions{margin-top:8px}.detail-grid-six{grid-template-columns:1fr 1fr}.detail-section-head{align-items:flex-start;flex-direction:column}.detail-section-head .btn{width:100%}}

/* V14 — popup filters, authoritative source pagination, radar visibility */
.workspace{display:block!important}
.results-panel{width:100%}
.filter-popup-btn{height:36px;padding:0 13px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;font-weight:800;font-size:10px;white-space:nowrap}
.filter-popup-btn:hover{border-color:#82b7f4;color:var(--brand-2)}
.filter-modal-card{width:min(720px,calc(100vw - 28px));padding:0;overflow:hidden}
.filter-modal-card .modal-head{padding:20px 22px;border-bottom:1px solid var(--line)}
.filter-modal-card .modal-head h3{margin:4px 0;font:800 19px "Plus Jakarta Sans"}
.filter-modal-card .modal-head p{margin:0;color:var(--muted);font-size:10px}
.filter-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;padding:5px 22px 20px}
.filter-modal-grid .filter-wide{grid-column:1/-1}
.filter-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--line);background:var(--panel-2)}
#filterModal.show{display:flex}
.radar-head{top:15px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:calc(100% - 44px);align-items:center;z-index:20!important;font-size:10px!important;font-weight:800;white-space:nowrap}
.radar-head span{display:block!important;color:#d9eaff!important;text-shadow:0 1px 8px #001a3c}
.radar-head b{display:inline-flex;align-items:center;gap:4px;background:#0a3a32cc;border:1px solid #55f1ad55;padding:3px 6px;border-radius:999px;color:#76ffb1!important;font-size:7px}
.radar-head b i{width:5px;height:5px;border-radius:50%;background:#69f6b0;box-shadow:0 0 8px #69f6b0}
@media(max-width:760px){.filter-modal-grid{grid-template-columns:1fr}.filter-modal-grid .filter-wide{grid-column:auto}.results-head{align-items:flex-start;gap:10px}.view-controls{flex-wrap:wrap;justify-content:flex-end}}

/* V15 search architecture: no visual regressions; advanced search runs against the synchronized local index. */
