.forecast-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.forecast-view[hidden]{display:none}.forecast-heading{display:flex;align-items:center;gap:10px;padding:6px 0 10px;border-bottom:1px solid #d7e2f0}.forecast-heading h2{font-size:16px;margin:0}.forecast-heading span{font-size:12px;color:#607594}.forecast-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px}.forecast-main{display:flex;min-height:0;flex-direction:column;padding:8px}.forecast-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:4px 0 10px}.forecast-card{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-height:54px;padding:8px;border:1px solid #d7e2f0;border-left:5px solid var(--fc);border-radius:10px;background:var(--fb);color:var(--fc);font-size:12px}.forecast-card strong{font-size:22px;line-height:1.15}.forecast-card b{font-size:14px}.forecast-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--fc)}.forecast-card.budget,.forecast-tag.budget{--fc:#128638;--fb:#f0fcf3}.forecast-card.demand,.forecast-tag.demand{--fc:#2456d9;--fb:#eef5ff}.forecast-card.bidding,.forecast-tag.bidding{--fc:#c76d00;--fb:#fffae9}.forecast-card.awarded,.forecast-tag.awarded{--fc:#64748b;--fb:#f4f6fa}.forecast-card.contract,.forecast-tag.contract{--fc:#475569;--fb:#f1f5f9}.forecast-lock-label{position:absolute;top:-6px;right:5px;background:#edf7ef;border:1px solid #a9cdb1;border-radius:5px;padding:0 4px;font-size:10px}.forecast-filters{display:flex;gap:8px;margin-bottom:8px}.forecast-filters input{flex:1;min-width:0}.forecast-filters input,.forecast-filters select,.forecast-units>input{height:32px;border:1px solid #d7e2f0;border-radius:6px;padding:0 9px;background:white;color:#233958}.forecast-filters>button,.forecast-gate>button{border:0;border-radius:6px;background:#2563ce;color:white;padding:5px 20px}.forecast-content{flex:1;min-height:0;overflow:auto;border:1px solid #dce5f2;border-radius:8px}.forecast-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.forecast-table th{position:sticky;top:0;z-index:1;background:#f5f8fc;color:#617695;font-size:12px;padding:10px;text-align:left}.forecast-table td{padding:10px;border-top:1px solid #dce5f2;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.forecast-table th:first-child{width:44px}.forecast-table th:nth-child(2){width:42%}.forecast-table th:nth-child(3){width:110px;text-align:right}.forecast-table th:nth-child(4){width:145px}.forecast-table th:nth-child(5){width:150px}.forecast-table th:nth-child(6){width:120px}.forecast-table .forecast-amount{text-align:right;white-space:nowrap}.forecast-project{background:none;border:0;padding:0;color:#182b46;font-weight:650;text-align:left;line-height:1.6}.forecast-project:hover{color:#2563ce}.forecast-buyer{display:block;color:#537199;margin-top:3px}.forecast-tag{display:inline-block;color:var(--fc);background:var(--fb);padding:2px 6px;border-radius:4px;font-size:12px}.forecast-table td:last-child small{display:block;color:#64748b;font-size:11px;margin-top:5px}.forecast-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 0;font-size:12px}.forecast-pagination button{border:1px solid #d7e2f0;background:#f7f9fc;padding:5px 10px;border-radius:5px;color:#425a7c}.forecast-note{margin:2px 3px;font-size:11px;line-height:1.5;color:#607594}.forecast-units{padding:8px;min-height:0;display:flex;flex-direction:column;gap:8px}.forecast-unit-tree{min-height:0;overflow:auto}.forecast-unit-root,.forecast-unit{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:5px;color:#344964;font-size:13px}.forecast-unit span:first-child{flex:1}.forecast-unit small{white-space:nowrap;color:#2563ce}.forecast-unit-root{background:#2563ce;color:white}.forecast-unit-root span{margin-left:auto}.forecast-unit[aria-pressed=true]{background:#e6efff;color:#1758bc}.forecast-empty{padding:60px 24px;text-align:center;color:#607594}.forecast-gate{max-width:460px;margin:70px auto;padding:26px;border:1px solid #d9e5df;border-radius:12px;background:#f5fbf7;display:grid;gap:14px}.forecast-gate h3,.forecast-gate p{margin:0}.forecast-gate p{font-size:13px;color:#607594;line-height:1.7}.forecast-gate input{height:38px;border:1px solid #b6c8c0;background:white;border-radius:6px;padding:0 10px}.forecast-error{color:#b42318!important;padding:10px}.forecast-detail{background:#f7faff;padding:14px;font-size:12px;line-height:1.8}.forecast-detail p{white-space:pre-wrap;max-height:240px;overflow:auto;margin:8px 0}.forecast-detail a{color:#2563ce}.forecast-mode>.metrics,.forecast-mode>.toolbar,.forecast-mode>.workspace{display:none}
@media(max-width:1400px){.forecast-body{grid-template-columns:minmax(0,1fr) 260px}.forecast-card strong{font-size:19px}.forecast-table th:nth-child(4){width:110px}.forecast-table th:nth-child(5){width:110px}.forecast-table th:nth-child(6){width:100px}.city-header-end{gap:12px}.city-header .city-view-tabs button{min-width:78px;padding:0 10px}}
@media(max-width:1280px){.city-header-end{flex-direction:column;align-items:stretch;gap:8px}.city-header .city-view-tabs button{flex:1;height:30px}.city-header .city-view-tabs{justify-content:center}.forecast-cards{gap:5px}.forecast-card{padding:7px 4px}.forecast-table th:nth-child(2){width:34%}.forecast-body{grid-template-columns:minmax(0,1fr) 240px}}

/* Reset tender-table column rules inside the independent forecast table. */
.forecast-main,.forecast-units{background:#fff}.forecast-table tbody tr{height:auto;background:white}.forecast-table td:nth-child(n){font-size:13px;font-weight:400;color:#17283e;text-align:left;white-space:normal}.forecast-table td.forecast-amount{text-align:right;white-space:nowrap}.forecast-table td[colspan]{text-align:left!important;padding:10px}.forecast-detail{width:100%;text-align:left;box-sizing:border-box}.forecast-detail p{max-width:none;width:auto;text-align:left}.forecast-table th:nth-child(n){text-align:left}.forecast-table th:nth-child(3){text-align:right}
