.budget-import-panel{margin:24px 0;padding:28px;border:1px solid #cedee6;border-radius:22px;background:#fff;color:#092c3e;min-width:0}
.budget-import-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.budget-import-panel h2{margin:5px 0 12px;font-size:25px;letter-spacing:-.7px}
.budget-import-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#6662b1}
.budget-import-panel p,.budget-import-notes{font-size:14px;line-height:1.65;max-width:1000px}
.budget-import-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.budget-import-panel button,.budget-import-file{border:1px solid #cddde6;border-radius:10px;background:#fff;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;color:#092c3e}
.budget-import-file{min-width:0;max-width:100%}
.budget-import-file input{display:block;width:100%;font-size:13px;margin-top:7px}
.budget-import-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px 0}
.budget-import-fields label{display:grid;gap:7px;font-size:13px;font-weight:700;min-width:0}
.budget-import-panel input:not([type=checkbox]):not([type=file]){box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;border:1px solid #cddde6;border-radius:9px;font-size:14px;color:#092c3e;background:#fff}
.budget-import-note{background:#f2f7fb;padding:14px 16px;border-radius:12px}
.budget-import-notes{padding-left:22px;color:#526c7d}
.budget-import-notes li+li{margin-top:5px}
.budget-import-error{padding:14px 18px;border-radius:12px;background:#fff3ed;color:#963e2b;font-size:13px;line-height:1.65}
.budget-import-success{color:#37681c;background:#f1f8e8;padding:12px 16px;border-radius:12px}
.budget-import-approval{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin:20px 0}
.budget-import-panel input[type=checkbox]{width:17px;height:17px;accent-color:#6756e8;flex:none}
.budget-import-panel .budget-import-save{background:#082e40;color:#fff;border-color:#082e40;padding:13px 20px}
.budget-import-panel button:disabled{opacity:.45;cursor:not-allowed}
.budget-import-panel [hidden]{display:none!important}
.budget-import-panel input:focus-visible,.budget-import-panel button:focus-visible,.budget-import-panel summary:focus-visible{outline:3px solid #c6bdff;outline-offset:2px}
.budget-import-source-notes{margin:13px 0;color:#536f80;font-size:12px}
.budget-import-source-notes>summary{cursor:pointer;color:#5f50aa;font-weight:650}

/* The controls stay immediately above the independently scrolling rows. */
.budget-import-review{margin:23px 0 18px;min-width:0;--budget-review-sticky-top:76px}
.budget-review-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px;padding:15px 17px;border:1px solid #e1e8ee;border-radius:13px 13px 0 0;background:#f9fbfd;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.budget-review-summary>div{min-width:0}
.budget-review-summary>div>span{display:block;font-size:11px;font-weight:500;color:#7f6429;margin-top:3px}
.budget-review-summary>button{margin-left:auto}
.budget-review-summary>span{font-size:11px;color:#526c7d;max-width:380px}
.budget-review-summary p{font-size:12px;margin:4px 0 0;color:#526c7d}
.budget-review-summary.error,.budget-review-summary.has-errors{border-color:#eecbc3;background:#fff5f1;color:#933d2c}
.budget-review-summary.unassigned,.budget-review-summary.has-unassigned{border-color:#ebdbb8;background:#fffaf0;color:#825915}
.budget-review-summary.error.has-unassigned,.budget-review-summary.has-errors.has-unassigned{border-color:#eecbc3;background:#fff5f1;color:#933d2c}
.budget-review-summary details{width:100%;font-size:12px}
.budget-review-summary summary{cursor:pointer;font-weight:650}
.budget-review-summary ul{padding:0;margin:9px 0 0;list-style:none;display:grid;gap:5px}
.budget-import-panel .budget-issue-link{padding:4px 0;border:0;border-radius:4px;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;text-align:left;white-space:normal;line-height:1.5;font-size:12px;max-width:100%}
.budget-import-panel .budget-issue-link:hover{color:#4637a5}
.budget-review-toolbar{position:sticky;top:var(--budget-review-sticky-top);z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 15px;border:1px solid #d9e3eb;background:#fff;box-shadow:0 5px 9px #052b4206}
.budget-review-filters{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid #e2e7ee;border-radius:11px;background:#f5f7fa;max-width:100%}
.budget-import-panel .budget-review-filters button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:7px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:#587080;font-size:12px;line-height:1.45;white-space:nowrap}
.budget-import-panel .budget-review-filters button[aria-pressed=true]{border-color:#d5cff2;background:#fff;box-shadow:0 2px 5px #052b4208;color:#5140a5}
.budget-review-filters button span,.budget-review-filters button b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 5px;border-radius:5px;background:#e8edf2;color:inherit;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}
.budget-review-filters button[data-bi-filter=errors][aria-pressed=true]{color:#9a4431;border-color:#ecc5bb}
.budget-review-filters button[data-bi-filter=errors] span,.budget-review-filters button[data-bi-filter=errors] b{background:#fbe5dd;color:#9b4331}
.budget-review-filters button[data-bi-filter=unassigned][aria-pressed=true]{color:#815819;border-color:#e8d3a9}
.budget-review-filters button[data-bi-filter=unassigned] span,.budget-review-filters button[data-bi-filter=unassigned] b{background:#f7ebcd;color:#815819}
.budget-review-search{flex:1 1 190px;min-width:150px;max-width:360px;display:grid;gap:5px;font-size:11px;font-weight:650;color:#597181}
.budget-import-panel .budget-review-search input{min-height:39px;font-size:12px;padding:8px 11px;background:#fafbfd}
.budget-review-jumps{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:auto}
.budget-import-panel .budget-review-jumps button{min-height:37px;padding:8px 10px;border-radius:8px;white-space:nowrap;font-size:12px}
.budget-import-panel .budget-review-position{flex:1 1 100%;font-size:11px;line-height:1.55;color:#536e80;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.budget-import-panel .budget-review-focus-message{font-size:11px;line-height:1.55;color:#6857a1;overflow-wrap:anywhere;margin:9px 0 0}
.budget-review-empty{padding:32px 20px;text-align:center;font-size:13px;line-height:1.7;color:#627a8a;background:#fafbfd}
.budget-review-empty strong{display:block;color:#24495e;margin-bottom:5px}
.budget-import-table-wrap{overflow:auto;border:1px solid #dce5eb;border-radius:14px;margin:20px 0;max-height:520px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#becbd6 #f7f9fb;scroll-padding-block:58px 20px}
.budget-import-review>.budget-import-table-wrap{margin:0;border-top:0;border-radius:0 0 13px 13px}
.budget-import-panel table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:600px;font-size:13px;white-space:normal}
.budget-import-panel caption{text-align:left;font-weight:650;font-size:12px;padding:12px 15px;background:#f6f9fc;color:#586f80}
.budget-import-panel th{text-align:left;background:#f7f9fc;padding:12px;white-space:normal}
.budget-import-panel thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px #dce5eb}
.budget-import-panel th:first-child{width:70px}
.budget-import-panel th:nth-child(3){width:88px}
.budget-import-panel th:last-child{width:210px}
.budget-import-panel td{padding:15px 12px;border-top:1px solid #e2eaf0;border-bottom:0;vertical-align:top;line-height:1.55}
.budget-import-panel tbody tr:first-child td{border-top:0}
.budget-import-panel td:nth-child(2){overflow-wrap:anywhere}
.budget-import-panel td:last-child{width:210px}
.budget-import-panel td small{display:block;color:#657d8d;font-size:11px;margin-top:5px;line-height:1.55}
.budget-import-panel td strong{font-size:13px;line-height:1.55}
.budget-import-child td:nth-child(2){padding-left:25px}
.budget-import-panel td details{margin-top:9px;font-size:11px;color:#587385;overflow-wrap:anywhere}
.budget-import-panel td details summary{cursor:pointer;color:#5f50aa;font-size:11px;line-height:1.5}
.budget-import-panel td details p{font-size:11px;margin-top:8px}
.budget-import-panel .budget-row-parent{color:#587184;padding-left:9px;border-left:2px solid #d6e1ea;margin-top:8px;font-size:11px;line-height:1.5}
.budget-row-status{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;margin:0 0 8px;border-radius:5px;background:#edf3f5;color:#526d7b;font-size:10px;font-weight:750;letter-spacing:.15px;line-height:1.5;white-space:normal}
.budget-row-status.error{background:#fbe3da;color:#99412f}
.budget-row-status.unassigned{background:#f8eacd;color:#805713}
.budget-row-status.ready{background:#edf4ef;color:#3c7354}
.budget-row-status.related{background:#eee9f9;color:#69549a}
.budget-row-status.excluded{background:#e9edf1;color:#6c7f8d}
.budget-import-row-error>td{background:#fff8f5}
.budget-import-row-unassigned>td{background:#fffdf7}
.budget-import-row-related>td{background:#f8f6ff}
.budget-import-row-error>td:first-child{box-shadow:inset 3px 0 #d87e64}
.budget-import-row-unassigned>td:first-child{box-shadow:inset 3px 0 #d7b268}
.budget-import-row-related>td:first-child{box-shadow:inset 3px 0 #b1a2df}
.budget-import-row-active>td{background:#f5f2ff}
.budget-import-row-active>td:first-child{box-shadow:inset 4px 0 #7964cb}
.budget-import-panel .budget-import-row-unassigned input[data-bi-field=budget]{background:#fffdf7;border-color:#d9bc84}
.budget-import-panel input[aria-invalid=true]{border:2px solid #cf775f!important;background:#fff9f6!important;padding:9px 11px!important;color:#863e2f}
.budget-import-field-error{padding:8px 10px;border:1px solid #eabeb1;border-radius:8px;background:#fff5f0;color:#93402d}
.budget-import-panel .budget-field-error{display:block;color:#a04430;font-size:11px;font-weight:650;line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:normal}
.budget-import-panel .budget-field-note{display:block;color:#7b662f;font-size:11px;line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:normal}
.budget-import-panel .budget-field-note.ready{color:#557663}

@media(max-width:1100px){
 .budget-review-search{max-width:none;flex-basis:180px}
 .budget-review-jumps{margin-left:0}
 .budget-import-panel th:last-child,.budget-import-panel td:last-child{width:180px}
}
@media(max-width:720px){
 .budget-import-panel{padding:18px}
 .budget-import-fields{grid-template-columns:1fr 1fr}
 .budget-import-heading{align-items:flex-start}
 .budget-import-panel h2{font-size:22px}
 .budget-import-review{--budget-review-sticky-top:62px}
 .budget-review-toolbar{padding:12px;gap:10px}
 .budget-review-summary{padding:13px 14px;gap:8px;font-size:12px}
 .budget-review-summary p{font-size:11px}
 .budget-review-filters{width:100%;justify-content:space-between}
 .budget-import-panel .budget-review-filters button{flex:1;padding:7px 6px;font-size:11px;gap:5px}
 .budget-review-search{flex-basis:100%;min-width:0}
 .budget-review-jumps{order:3;margin-left:auto}
 .budget-review-position{order:4;font-size:10px}
 .budget-review-focus-message{order:5;width:100%;font-size:10px}
}
@media(max-width:600px){
 .budget-import-panel table{min-width:0;table-layout:auto}
 .budget-import-panel thead{display:none}
 .budget-import-panel tbody tr{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:4px;padding:14px 10px;border-top:1px solid #dce5eb}
 .budget-import-panel tbody tr:first-child{border-top:0}
 .budget-import-panel td{border:0;padding:5px!important;min-width:0;background:transparent!important;box-shadow:none!important}
 .budget-import-panel td:nth-child(1){grid-column:1;grid-row:1 / span 3}
 .budget-import-panel td:nth-child(2),.budget-import-panel td:nth-child(3),.budget-import-panel td:nth-child(4){grid-column:2;max-width:none;width:auto}
 .budget-import-panel td:nth-child(3){color:#657d8d;font-size:11px}
 .budget-import-panel td:nth-child(4):before{content:'Allocation';display:block;font-size:11px;font-weight:750;margin-bottom:7px}
 .budget-import-table-wrap{max-height:460px;scroll-padding-block:15px}
 .budget-import-panel .budget-import-row-error{background:#fff8f5;box-shadow:inset 3px 0 #d87e64}
 .budget-import-panel .budget-import-row-unassigned{background:#fffdf7;box-shadow:inset 3px 0 #d7b268}
 .budget-import-panel .budget-import-row-related{background:#f8f6ff;box-shadow:inset 3px 0 #b1a2df}
 .budget-import-panel .budget-import-row-active{background:#f5f2ff;box-shadow:inset 4px 0 #7964cb}
 .budget-import-panel td details summary{line-height:1.7}
 .budget-import-panel td strong{font-size:12px}
 .budget-import-panel .budget-row-parent{font-size:10px}
}
@media(max-width:440px){
 .budget-import-fields{grid-template-columns:1fr}
 .budget-import-panel{padding:15px}
 .budget-import-panel .budget-review-filters button{font-size:10px;padding-inline:5px;gap:4px}
 .budget-review-filters button span,.budget-review-filters button b{min-width:17px;padding-inline:4px}
 .budget-review-toolbar{padding:10px}
}
