.impact-admin { --impact-navy:#172b75; --impact-green:#1d925b; --impact-gold:#fecb07; --impact-ink:#172033; --impact-muted:#6b7485; --impact-line:#dce2ea; --impact-bg:#f4f7fa; }
.impact-admin .content-wrapper { background:var(--impact-bg); }
.impact-admin .main-footer { bottom:auto; position:static; width:auto; }
.impact-admin__hero { background:linear-gradient(120deg,#0b2147,var(--impact-navy)); color:#fff; padding:2.4rem 0 4.7rem; }
.impact-admin__hero h1 { font-size:2.35rem; font-weight:800; margin:.2rem 0 .4rem; }
.impact-admin__hero p { color:rgba(255,255,255,.72); margin:0; }
.impact-admin__eyebrow { color:#70d6a3!important; font-size:.72rem; font-weight:800; letter-spacing:.13em; margin:0; text-transform:uppercase; }
.impact-admin__content { margin-top:-2.3rem; padding-bottom:4rem; }
.impact-module-nav { background:#fff; border-radius:.8rem; box-shadow:0 10px 30px rgba(7,23,49,.12); display:grid; gap:.4rem; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); margin-bottom:1.3rem; padding:.6rem; }
.impact-module-nav a { align-items:center; border:1px solid transparent; border-radius:.55rem; color:var(--impact-muted); display:flex; font-size:.82rem; font-weight:700; gap:.55rem; min-height:2.75rem; padding:.65rem .85rem; }
.impact-module-nav a:hover,.impact-module-nav a.is-active { background:#eaf6f0; border-color:#ccebdd; color:var(--impact-green); }
.impact-card { border:0; border-radius:.8rem; box-shadow:0 7px 24px rgba(7,23,49,.07); overflow:hidden; }
.impact-card .card-header { align-items:center; background:#fff; border-color:var(--impact-line); display:flex; gap:1rem; justify-content:space-between; padding:1.1rem 1.25rem; }
.impact-card .card-header::after { content:none; display:none; }
.impact-card:not(.impact-sdg-editor) .card-header > :last-child:not(:first-child) { margin-left:auto; }
.impact-card .card-title { color:var(--impact-ink); font-size:1rem; font-weight:800; }
.impact-toolbar { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1rem; }
.impact-filters { display:grid; flex:1; gap:.5rem; grid-template-columns:minmax(11rem,1.5fr) repeat(4,minmax(8rem,1fr)) auto; }
.impact-filters--compact { grid-template-columns:minmax(12rem,1.5fr) repeat(2,minmax(9rem,1fr)) auto; }
.btn-impact { background:var(--impact-green); border-color:var(--impact-green); color:#fff; font-weight:700; }
.btn-impact:hover { background:#147a4b; color:#fff; }
.impact-table { margin:0; }
.impact-table thead th { background:#f8fafc; border:0; color:var(--impact-muted); font-size:.69rem; letter-spacing:.07em; padding:.85rem 1rem; text-transform:uppercase; }
.impact-table td { border-color:#edf0f4; padding:1rem; vertical-align:middle; }
.impact-table td small { color:var(--impact-muted); display:block; margin-top:.25rem; }
.impact-empty { color:var(--impact-muted); padding:3rem!important; text-align:center; }
.impact-status { border-radius:999px; display:inline-block; font-size:.72rem; font-weight:800; padding:.35rem .65rem; }
.impact-status--draft,.impact-status--not_started { background:#fff4cc; color:#745900; }.impact-status--review,.impact-status--needs_review { background:#ffe4d5; color:#8b3d12; }.impact-status--verified,.impact-status--ready_for_submission { background:#dcf6ff; color:#075b73; }.impact-status--published,.impact-status--submitted,.impact-status--active { background:#e3f5eb; color:#12673e; }.impact-status--archived,.impact-status--inactive { background:#e9edf2; color:#596273; }.impact-status--evidence_missing,.impact-status--public_url_missing { background:#fde2e2; color:#9b1c1c; }.impact-status--activity_recorded { background:#eef2ff; color:#34449a; }
.impact-form__header,.impact-section-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:1rem; }
.impact-form__header h2,.impact-section-heading h2 { color:var(--impact-ink); font-size:1.6rem; font-weight:800; margin:.15rem 0 0; }
.impact-form label { color:#3e485a; font-size:.83rem; font-weight:700!important; }
.impact-form__sticky { position:sticky; top:1rem; }
.impact-sdg-picker { display:grid; gap:.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.impact-sdg-picker label { margin:0; }.impact-sdg-picker input { height:1px; opacity:0; position:absolute; width:1px; }
.impact-sdg-picker span { align-items:center; border:1px solid var(--impact-line); border-radius:.55rem; display:flex; gap:.7rem; min-height:3.1rem; padding:.45rem .7rem; }
.impact-sdg-picker strong { align-items:center; background:var(--sdg-colour); border-radius:.35rem; color:#fff; display:flex; height:2rem; justify-content:center; width:2rem; }
.impact-sdg-picker input:checked + span { background:color-mix(in srgb,var(--sdg-colour) 9%,white); border-color:var(--sdg-colour); box-shadow:0 0 0 1px var(--sdg-colour); }
.impact-upload { align-items:center; background:#f8fafc; border:2px dashed #cbd3df; border-radius:.7rem; display:flex; flex-direction:column; gap:.5rem; padding:2rem; text-align:center; }
.impact-upload i { color:var(--impact-green); font-size:2rem; }.impact-upload small { color:var(--impact-muted); }
.impact-upload__heading { align-items:center; display:flex; gap:1rem; text-align:left; width:100%; }
.impact-upload__heading div { display:flex; flex-direction:column; }
.impact-upload__heading i { flex:0 0 auto; }
#supporting-file-rows { display:flex; flex-direction:column; gap:.75rem; margin:1rem 0; width:100%; }
.impact-upload-row { align-items:end; background:#fff; border:1px solid var(--impact-line); border-radius:.65rem; display:grid; gap:.75rem; grid-template-columns:minmax(13rem,1.2fr) minmax(12rem,1fr) 8rem repeat(4,minmax(9rem,1fr)) auto; padding:1rem; text-align:left; }
.impact-upload-row label { display:block; margin-bottom:.35rem; }
.impact-upload-row__remove { height:38px; width:42px; }
.impact-upload-row__remove i { color:inherit; font-size:.85rem; }
.impact-upload__note { margin-top:.5rem; text-align:left; width:100%; }
.impact-file-table td { min-width:7rem; }
.impact-file-table td.impact-file-name { max-width:16rem; min-width:13rem; overflow-wrap:anywhere; }
.impact-file-table select { min-width:10rem; }
.impact-file-table .impact-file-order-cell { min-width:5.5rem; text-align:center; white-space:nowrap; }
.impact-file-sort-handle { background:transparent; border:0; color:var(--impact-muted); cursor:grab; font-size:1rem; padding:.35rem .5rem; }
.impact-file-sort-handle:active { cursor:grabbing; }
.impact-file-order-buttons { display:flex; gap:.2rem; justify-content:center; }
.impact-file-order-buttons button { background:#fff; border:1px solid var(--impact-line); border-radius:.25rem; color:var(--impact-muted); cursor:pointer; font-size:.65rem; line-height:1; padding:.3rem .4rem; }
.impact-file-order-buttons button:hover { background:#f1f7f4; border-color:var(--impact-green); color:var(--impact-green); }
.impact-file-table [data-file-row].is-dragging { opacity:.45; }
.impact-file-table [data-file-row].is-drag-over { box-shadow:inset 0 3px 0 var(--impact-navy); }
.impact-file-list { display:grid; gap:.5rem; margin-bottom:1rem; }.impact-file-list label { margin:0; }.impact-file-list span { align-items:center; background:#f6f8fa; border-radius:.5rem; display:flex; gap:.6rem; padding:.7rem; }.impact-file-list small { color:var(--impact-muted); margin-left:auto; }
.impact-sdg-editor { border-top:5px solid var(--sdg-colour); }.impact-sdg-editor .card-header { justify-content:flex-start; gap:.8rem; }.impact-sdg-editor .card-header div { display:flex; flex-direction:column; }.impact-sdg-editor__number { align-items:center; background:var(--sdg-colour); border-radius:.5rem; color:#fff; display:flex; font-size:1.35rem; font-weight:900; height:2.7rem; justify-content:center; width:2.7rem; }.impact-sdg-editor .card-footer { background:#fff; border-color:var(--impact-line); }
.impact-toggle { align-items:center; display:flex; gap:.5rem; }
.impact-year-filter { align-items:end; display:grid; gap:.5rem; grid-template-columns:auto 8rem auto; }
.impact-year-filter label { color:var(--impact-muted); font-size:.75rem; font-weight:800; text-transform:uppercase; }
.impact-kpi-grid { display:grid; gap:.8rem; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); margin-bottom:1rem; }
.impact-kpi-grid article { background:#fff; border-radius:.75rem; box-shadow:0 7px 24px rgba(7,23,49,.07); padding:1rem; }
.impact-kpi-grid span { color:var(--impact-muted); display:block; font-size:.75rem; font-weight:800; text-transform:uppercase; }
.impact-kpi-grid strong { color:var(--impact-ink); display:block; font-size:2rem; line-height:1.1; margin-top:.45rem; }
.impact-dashboard-sdg { border-top:5px solid var(--sdg-colour); }
.impact-dashboard-sdg__head { align-items:center; display:flex; justify-content:space-between; }
.impact-dashboard-sdg__head span { color:var(--sdg-colour); font-weight:900; }
.impact-dashboard-sdg__head strong { color:var(--impact-ink); font-size:2rem; }
.impact-dashboard-sdg h3 { color:var(--impact-ink); font-size:1.15rem; font-weight:800; margin:.35rem 0 1rem; }
.impact-progress { background:#edf1f5; height:.5rem; margin-bottom:1rem; }
.impact-progress .progress-bar { background:var(--sdg-colour); }
.impact-dashboard-sdg dl { display:grid; gap:.5rem; grid-template-columns:repeat(2,1fr); margin:0; }
.impact-dashboard-sdg dl div { background:#f8fafc; border-radius:.45rem; padding:.65rem; }
.impact-dashboard-sdg dt { color:var(--impact-muted); font-size:.7rem; text-transform:uppercase; }
.impact-dashboard-sdg dd { color:var(--impact-ink); font-weight:900; margin:0; }
.impact-sdg-pill { background:color-mix(in srgb,var(--sdg-colour) 12%,white); border-left:4px solid var(--sdg-colour); border-radius:.4rem; color:var(--impact-ink); display:inline-block; font-weight:800; padding:.35rem .55rem; }
.impact-inline-status { align-items:center; display:flex; gap:.4rem; min-width:13rem; }
.impact-inline-status select { min-width:7rem; }
.impact-multi-select { min-height:10rem!important; }
.impact-empty strong,.impact-empty span { display:block; }
.impact-empty strong { color:var(--impact-ink); margin-bottom:.25rem; }
.impact-pagination { display:flex; justify-content:center; margin:1.5rem 0 .5rem; width:100%; }
.impact-pagination nav { display:flex; justify-content:center; width:100%; }
.impact-pagination .pagination { align-items:center; display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; list-style:none; margin:0; padding:0; }
.impact-pagination .pagination li { margin:0; }
.impact-pagination .pagination a { align-items:center; background:#fff; border:1px solid var(--impact-line); border-radius:.55rem; color:var(--impact-navy); display:inline-flex; font-size:.86rem; font-weight:800; height:2.65rem; justify-content:center; min-width:2.65rem; padding:0 .85rem; text-decoration:none; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.impact-pagination .pagination li:first-child a,.impact-pagination .pagination li:nth-child(2) a,.impact-pagination .pagination li:nth-last-child(2) a,.impact-pagination .pagination li:last-child a { border-radius:999px; }
.impact-pagination .pagination .active a,.impact-pagination .pagination a:hover,.impact-pagination .pagination a:focus-visible { background:var(--impact-navy); border-color:var(--impact-navy); color:#fff; outline:0; transform:translateY(-1px); }
.impact-pagination .pagination .active a { box-shadow:0 7px 18px rgba(23,43,117,.2); }
@media(max-width:1100px){.impact-toolbar{align-items:stretch;flex-direction:column}.impact-filters{grid-template-columns:repeat(2,1fr)}.impact-toolbar>.btn{align-self:flex-start}.impact-upload-row{grid-template-columns:1fr 1fr}.impact-upload-row__remove{justify-self:start}}
@media(max-width:650px){.impact-filters,.impact-sdg-picker,.impact-upload-row{grid-template-columns:1fr}.impact-form__header,.impact-section-heading{align-items:flex-start;flex-direction:column;gap:1rem}.impact-admin__hero h1{font-size:1.8rem}}
