:root{--green:#006946;--deep:#004a34;--ink:#193b33;--muted:#5c726a;--blue:#70a5d8;--orange:#e67a44;--line:#e1e9e5;--bg:#f3f6f4;--white:#fff;font-family:Tahoma,Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.65;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,select{font:inherit}button,select,summary{cursor:pointer}button{color:inherit}button:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #156bc0;outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:default;opacity:.55}a{color:var(--green)}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:9}.skip:focus{top:8px}.brandbar{background:#fff;border-bottom:3px solid var(--green);min-height:106px;padding:20px max(32px,calc((100vw - 1520px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px}.amanah{width:270px;height:auto;object-fit:contain}.dar{width:120px;height:auto;object-fit:contain}.brand-center{text-align:center;color:var(--muted);font-size:.875rem}.brand-center span{display:block;color:var(--green);font-weight:bold;margin-top:4px}main{max-width:1584px;margin:auto;padding:28px 32px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:.875rem}h1{font-size:clamp(1.6rem,2.4vw,2.25rem);line-height:1.5;margin:0;color:var(--green)}h2{font-size:1.125rem;line-height:1.65;margin:0;font-weight:700}p{margin:0}.coverage{display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:center;font-size:.875rem;color:var(--muted)}.coverage strong{font-size:2.25rem;grid-row:span 2;grid-column:2;color:var(--green);font-family:Arial,sans-serif;line-height:1}.toolbar{display:flex;align-items:end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.toolbar label,.comparison-pickers label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--muted)}select{min-width:190px;height:44px;background:var(--white);border:1px solid #c7d6ce;border-radius:7px;padding:4px 12px;color:var(--ink);font-size:.9375rem}.reset{height:44px;background:transparent;border:1px solid #c7d6ce;border-radius:7px;padding:7px 14px;font-size:.875rem}.reset:hover{background:#e6eee9}.reset span{font-size:1.2rem;margin-right:7px}.scope{margin-inline-start:auto;color:var(--muted);padding-bottom:10px;font-size:.875rem}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.kpi{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;min-height:160px;position:relative}.kpi-label{font-size:.9375rem;color:var(--muted)}.kpi strong{font-family:Arial,sans-serif;font-size:clamp(1.35rem,2.05vw,2rem);line-height:1.35;margin:14px 0 13px;color:var(--green);white-space:nowrap;font-weight:700}.kpi-caption{font-size:.8125rem;color:var(--muted)}.kpi-caption b{font-size:.875rem;display:inline-block;direction:ltr;color:var(--green)}.kpi.dark{background:var(--green);border-color:var(--green)}.kpi.dark strong,.kpi.dark .kpi-label{color:#fff}.kpi.dark .kpi-caption{color:#d3e9df}.number{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;display:inline-block}.main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:22px;margin-bottom:22px}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head p{font-size:.875rem;color:var(--muted);margin-top:3px}.quiet{font-size:.8125rem;color:var(--muted)}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:12px}.legend span,.composition-row>span{display:flex;gap:7px;align-items:center}i{display:inline-block;width:9px;height:9px;border-radius:2px;flex-shrink:0}.green{background:var(--green)}.blue{background:var(--blue)}.orange{background:var(--orange)}.chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-top:8px}.chart{height:252px;min-width:590px;position:relative;direction:ltr;padding:0 2px 26px 40px;display:flex;align-items:stretch;gap:5px}.chart.grid-small{min-width:350px;gap:15px}.chart-lines{position:absolute;inset:0 0 26px 40px;pointer-events:none}.gridline{position:absolute;left:0;right:0;border-top:1px dashed #dce5df}.gridline span{position:absolute;right:calc(100% + 8px);top:-10px;font-size:.75rem;font-family:Arial,sans-serif;color:var(--muted)}.chart-bar{position:relative;z-index:1;min-width:0;flex:1;border:0;background:transparent;padding:0 2px;display:flex;flex-direction:column;justify-content:end;align-items:stretch}.stack{display:flex;flex-direction:column;justify-content:end;min-height:2px;transition:filter .15s;border-radius:3px 3px 0 0;overflow:hidden}.stack>span{display:block;min-height:0}.chart-bar:hover .stack{filter:brightness(1.1)}.chart-bar.is-selected .stack{outline:2px solid var(--ink);outline-offset:2px}.chart-number{font-family:Arial,sans-serif;position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 6px);font-size:.75rem;color:var(--muted);line-height:1.4}.chart-bar.is-selected .chart-number{color:var(--green);font-weight:700}.chart-hint{margin-top:14px;color:var(--muted);font-size:.8125rem}.donut-wrap{display:flex;justify-content:center;margin:4px 0 19px}.donut{width:172px;height:172px;border-radius:50%;display:grid;place-items:center;background:var(--line)}.donut>div{width:138px;height:138px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:12px;text-align:center}.donut strong{font-family:Arial,sans-serif;font-size:1.75rem;direction:ltr;line-height:1.4}.donut span{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:2px}.composition-row{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;padding:10px 0}.composition-row strong{font-family:Arial,sans-serif;font-size:1rem}.composition-foot{border-top:1px solid var(--line);margin-top:7px;padding-top:13px;display:flex;gap:10px;justify-content:space-between;font-size:.8125rem;color:var(--muted)}.composition-foot strong{direction:ltr;color:var(--green)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;margin-bottom:22px}.text-button{border:0;background:#edf3ef;color:var(--green);font-size:.875rem;border-radius:6px;padding:8px 12px;white-space:nowrap}.text-button:hover{background:#deebe3}.category-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,1fr) auto;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1ef;font-size:.875rem}.category-meter{height:5px;background:#eff3f1;border-radius:4px;overflow:hidden;margin-top:7px}.category-meter span{display:block;height:100%;background:var(--green);border-radius:4px}.category-amount{font-weight:bold;font-family:Arial,sans-serif;font-size:1rem;justify-self:end}.category-percent{min-width:48px;text-align:left;font-family:Arial,sans-serif;font-size:.875rem;color:var(--muted);direction:ltr}.category-foot{margin-top:14px}.comparison-pickers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:13px}.comparison-pickers select{width:100%;min-width:0}.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:right;white-space:nowrap}th{font-weight:400;color:var(--muted);background:#f5f8f6;font-size:.8125rem}th,td{padding:14px 16px;border-bottom:1px solid var(--line)}td .number{font-family:Arial,sans-serif}tbody tr:hover{background:#f6faf7}.compare-table th,.compare-table td{padding:10px 9px}.compare-table th:nth-child(n+2),.compare-table td:nth-child(n+2){text-align:left}.compare-table td:first-child{color:var(--muted)}.compare-note{background:#f0f5f2;border-radius:7px;padding:12px;font-size:.8125rem;margin-top:17px;color:var(--muted);min-height:47px}.compare-note b{color:var(--green)}.pill{display:inline-block;font-size:.8125rem;color:var(--green);background:#eaf3ed;padding:5px 13px;border-radius:20px}.ledger{padding-bottom:12px}.ledger .table-scroll{margin:0 -24px}.ledger .panel-head{margin-bottom:10px}.ipc-button{border:1px solid #d9e5dc;background:#eff5f1;border-radius:5px;min-width:36px;padding:4px 8px;font-weight:bold;color:var(--green);font-family:Arial,sans-serif}.ipc-button[aria-pressed=true]{background:var(--green);color:white}.ledger td{padding-top:11px;padding-bottom:11px}.tooltip{position:fixed;pointer-events:none;z-index:10;background:var(--deep);color:white;border-radius:8px;max-width:280px;padding:13px 16px;box-shadow:0 8px 28px #002e3329;font-size:.8125rem}.tooltip strong{display:block;margin-bottom:5px}.tooltip span{display:block}.tooltip .number{display:inline-block}.tooltip[hidden]{display:none}footer{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;color:var(--muted);font-size:.8125rem;margin-top:24px;padding-bottom:4px}.footer-divider{margin:0 10px;color:#9aaba2}footer details{text-align:right;max-width:660px}footer summary{color:var(--green);text-align:left}footer details p{padding-top:10px}.notice{padding:20px;background:#fff3df;border:1px solid #e0b777;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.kpi strong{font-size:2.05rem}.chart{height:282px}.donut-wrap{margin-top:15px;margin-bottom:25px}.donut{height:188px;width:188px}.donut>div{height:152px;width:152px}}
@media(max-width:1150px){.brand-center{display:none}.kpi{padding:18px}.kpi strong{font-size:1.45rem}.main-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr)}.panel{padding:20px}.ledger .table-scroll{margin:0 -20px}.lower-grid{grid-template-columns:1fr 1fr}.composition-row{flex-wrap:wrap;gap:4px}.composition-row strong{margin-inline-start:auto}.category-row{grid-template-columns:minmax(100px,1fr) auto auto;gap:10px}}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:1.8rem}.main-grid,.lower-grid{grid-template-columns:1fr}.composition{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:25px}.composition .panel-head{grid-column:1/-1}.donut-wrap{grid-row:2/5;margin:0}.composition-row{align-self:center;flex-wrap:nowrap}.composition-foot{align-self:start}.scope{margin-inline-start:0}.page-heading{margin-bottom:18px}}
@media(max-width:600px){.brandbar{padding:16px 18px;min-height:80px;gap:20px}.amanah{width:210px;max-width:68%}.dar{width:80px;max-width:26%}main{padding:22px 16px 16px}.coverage{font-size:.75rem;column-gap:10px}.coverage strong{font-size:1.8rem}.page-heading{align-items:start;gap:8px}h1{font-size:1.375rem}.eyebrow{font-size:.8125rem}.toolbar{gap:12px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:17px}.toolbar label{min-width:0;font-size:.8125rem}select{min-width:0;width:100%;font-size:.875rem}.reset{justify-self:start;height:38px;font-size:.8125rem}.scope{font-size:.75rem;padding-bottom:0;text-align:left}.kpis{gap:10px;margin-bottom:16px}.kpi{padding:16px 12px;min-height:145px;border-radius:8px}.kpi strong{font-size:clamp(1.05rem,4.2vw,1.6rem);margin:14px 0 11px}.kpi-label{font-size:.8125rem}.kpi-caption{font-size:.75rem}.kpi-caption b{font-size:.75rem}.panel{padding:18px 16px;border-radius:9px}.main-grid,.lower-grid{gap:16px;margin-bottom:16px}.panel-head{gap:8px;margin-bottom:14px}h2{font-size:1rem}.panel-head p{font-size:.8125rem}.legend{font-size:.75rem;gap:12px}.panel-head>.quiet{display:none}.composition{grid-template-columns:132px minmax(0,1fr);column-gap:12px}.donut{width:124px;height:124px}.donut>div{width:100px;height:100px}.donut strong{font-size:1.35rem}.donut span{font-size:.75rem}.composition-row{display:block;font-size:.8125rem;padding:5px 0}.composition-row strong{display:block;text-align:right;margin-top:3px;font-size:1rem}.composition-foot{grid-column:1/-1;font-size:.8125rem}.category-row{grid-template-columns:minmax(95px,1fr) auto auto;font-size:.8125rem;gap:10px}.category-amount{font-size:.9375rem}.category-percent{font-size:.8125rem;min-width:42px}.text-button{font-size:.8125rem;padding:7px 9px}.ledger .table-scroll{margin:0 -16px}footer{flex-direction:column;gap:10px}footer summary{text-align:right}.comparison-pickers{gap:10px}.comparison-pickers label{font-size:.8125rem}.compare-table{font-size:.8125rem}.compare-table th,.compare-table td{padding:10px 6px}.compare-note{font-size:.8125rem}.chart-hint{font-size:.75rem}}
/* Project overview: extend the existing Amanah green strip with a native disclosure. */
.contract-strip{--contract-line:rgba(224,243,233,.22);--contract-label:#e0eee7;background:linear-gradient(105deg,var(--green),var(--deep));color:#fff;border-bottom:2px solid #68aa8d;box-shadow:0 4px 12px #004a340d;container-type:inline-size}
.project-overview{max-width:1584px;margin:0 auto;padding:16px 32px 0}
.project-name{font-size:clamp(1rem,1.2vw,1.1875rem);line-height:1.85;font-weight:700;color:#fff;margin:0 0 12px;text-wrap:pretty}
.project-summary{display:grid;grid-template-columns:.55fr 1.3fr 1fr .8fr;align-items:start;margin:0 0 12px;gap:20px}
.project-summary-field{min-width:0;margin:0;border-inline-start:1px solid var(--contract-line);padding-inline-start:24px}
.project-summary-field:first-child{border-inline-start:0;padding-inline-start:0}
.project-summary dt,.project-details-grid dt{font-size:.875rem;line-height:1.7;color:var(--contract-label)}
.project-summary dd{margin:4px 0 0;font-family:Arial,sans-serif;font-size:1.3125rem;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.project-value dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px}
.project-value-secondary{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin-top:5px}
.project-value-secondary dd{margin:0;font-size:.9375rem}
.project-value .number{max-width:100%}
.project-currency{font-family:Tahoma,Arial,sans-serif;font-size:.8125rem;font-weight:400;color:var(--contract-label)}
.project-details{border-top:1px solid var(--contract-line)}
.project-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 0;font-size:.875rem;font-weight:700;list-style:none;color:#fff;touch-action:manipulation}
.project-details summary::-webkit-details-marker{display:none}
.project-details summary:hover .project-details-open,.project-details summary:hover .project-details-close{text-decoration:underline;text-underline-offset:4px}
.project-details summary:focus-visible{outline-color:#fff;outline-offset:0;border-radius:4px}
.project-chevron{width:1.125rem;height:1.125rem;flex-shrink:0;transition:transform .18s ease}
.project-details-close{display:none}.project-details[open] .project-details-open{display:none}.project-details[open] .project-details-close{display:inline}.project-details[open] .project-chevron{transform:rotate(180deg)}
.project-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0;padding:0}
.project-parties{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:10px}
.project-details-grid>div{min-width:0;padding:13px 0;border-top:1px solid var(--contract-line)}
.project-details-grid dd{margin:5px 0 0;font-size:1rem;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.project-details-grid .number{font-family:Arial,sans-serif;max-width:100%}
.project-legal{display:block;font-size:.8125rem;font-weight:400;color:var(--contract-label);margin-top:2px}
@container(max-width:60rem){.project-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:40rem){
  .project-overview{padding:14px 16px 0}.project-name{margin-bottom:14px;font-size:1rem}
  .project-summary{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:12px 16px}
  .project-summary-field{padding-inline-start:0;border-inline-start:0}
  .project-value{grid-column:1/-1;grid-row:2;border-top:1px solid var(--contract-line);padding-top:10px}
  .project-value-main{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
  .project-value-secondary{justify-content:space-between}
  .project-value dd{margin-top:0}.project-summary dd{font-size:1.125rem}.project-value-secondary dd{font-size:.9375rem}
  .project-end{grid-column:2;grid-row:1}.project-details-grid{column-gap:20px}
}
@container(max-width:32rem){.project-details-grid{grid-template-columns:1fr}}
/* Report-date indicators are independent of the financial statement selectors. */
.project-performance{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px 24px;margin-bottom:24px;container-type:inline-size}
.project-performance-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.project-performance-heading h2{font-size:1.0625rem}
.project-report-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;font-size:.875rem;color:var(--muted)}
.project-report-date time{font-family:Arial,sans-serif;color:var(--ink)}
.project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px}
.project-stat{--project-meter:var(--green);min-width:0}
.project-stat+.project-stat{border-inline-start:1px solid var(--line);padding-inline-start:24px}
.project-stat-planned{--project-meter:var(--blue)}.project-stat-elapsed{--project-meter:#78958a}
.project-stat dl{display:flex;align-items:baseline;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;margin:0}
.project-stat dt{font-size:.875rem;color:var(--muted);min-width:0}
.project-stat dd{margin:0;font-family:Arial,sans-serif;font-size:1.625rem;line-height:1.35;font-weight:700;color:var(--ink)}
.project-stat progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:6px;margin:10px 0 0;direction:rtl;background:#edf3ef;color:var(--project-meter);border:0;border-radius:4px;overflow:hidden}
.project-stat progress::-webkit-progress-bar{background:#edf3ef;border-radius:4px}.project-stat progress::-webkit-progress-value{background:var(--project-meter);border-radius:4px}.project-stat progress::-moz-progress-bar{background:var(--project-meter);border-radius:4px}
.project-gap{display:flex;align-items:baseline;gap:4px 6px;flex-wrap:wrap;width:fit-content;max-width:100%;margin-top:16px;padding:4px 10px;border-radius:6px;background:#fcf2eb;color:#8c491f;font-size:.875rem;line-height:1.8}
.project-gap-difference{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;min-width:0;max-width:100%}
.project-gap bdi{font-family:Arial,sans-serif;font-size:1.125rem;font-weight:700;white-space:nowrap}
.project-gap-unit{font-size:.875rem;font-weight:400;white-space:nowrap}
.project-gap[data-direction=above],.project-gap[data-direction=equal]{background:#edf5f0;color:var(--deep)}
@container(max-width:40rem){.project-stats{grid-template-columns:1fr;gap:16px}.project-stat+.project-stat{border:0;padding:0}.project-stat dd{font-size:1.375rem}.project-stat progress{margin-top:7px}}
/* Keep the existing financial contract meter with the financial overview. */
.contract-progress{background:var(--white);border:1px solid var(--line);border-radius:10px;margin:0 0 22px;padding:13px 20px}.contract-progress[hidden]{display:none}
.contract-progress-labels{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;font-size:.875rem;line-height:1.6;color:var(--muted)}
.contract-progress-labels>span{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}.contract-progress-labels strong{color:var(--green);font-family:Arial,sans-serif;font-size:1.0625rem}
.contract-progress progress{display:block;appearance:none;-webkit-appearance:none;direction:rtl;width:100%;height:6px;margin:9px 0 8px;border:0;border-radius:4px;overflow:hidden;background:#edf3ef;color:var(--green)}
.contract-progress progress::-webkit-progress-bar{background:#edf3ef;border-radius:4px}.contract-progress progress::-webkit-progress-value{background:var(--green);border-radius:4px}.contract-progress progress::-moz-progress-bar{background:var(--green);border-radius:4px}
.contract-progress-note{display:flex;justify-content:space-between;gap:4px 20px;flex-wrap:wrap;font-size:.8125rem;line-height:1.7;color:var(--muted)}.contract-progress-note strong{font-family:Arial,sans-serif;font-size:.875rem;font-weight:700;color:var(--ink)}.contract-progress-unit{display:inline-block}
@media(max-width:600px){.project-performance{padding:16px;margin-bottom:22px}.contract-progress{padding:12px 16px}.contract-progress-labels{gap:8px 16px}.contract-progress-note{gap:6px}.contract-progress-note>span{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.brand-center{display:block;min-width:0}
.brandbar{min-height:90px;padding-block:12px;gap:20px}.amanah{width:230px}.brand-end{display:flex;flex-direction:column;align-items:flex-end;min-width:0}
.header-clock{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 16px;max-width:100%;margin-top:6px;color:var(--muted);font-size:.875rem;line-height:1.5}.header-clock[hidden]{display:none}
.clock-item{display:flex;align-items:center;gap:6px;min-width:0;text-align:right}.clock-icon{width:1rem;height:1rem;flex:0 0 1rem;color:var(--green)}.clock-copy{min-width:0}.clock-copy time{display:block;font-size:.875rem;font-weight:400}.clock-copy #dashboard-time{font-family:Arial,sans-serif;font-variant-numeric:tabular-nums;unicode-bidi:isolate;text-align:right;white-space:nowrap}
.clock-mobile-slot{display:none}
.brandbar .header-clock{margin-top:0}
@media(max-width:1150px){.brand-project,.brand-center{display:none}}
@media(max-width:600px){.brandbar{min-height:76px;padding-block:10px}.amanah{width:190px}.brand-end{display:contents}.clock-mobile-slot:not(:empty){display:flex;justify-content:flex-end;margin-bottom:12px}.clock-mobile-slot .header-clock{justify-content:flex-end;margin:0}}
footer{flex-direction:row;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:16px}.footer-content{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-width:0;flex:1}.footer-content details{min-width:0}.footer-content summary{text-align:right}.footer-dar{display:block;width:64px;height:auto;flex:0 0 auto}
/* Audited reflow: preserve monetary precision and readable Arabic at enlarged text sizes. */
.kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.page-heading{flex-wrap:wrap}.page-heading>div:first-child{flex:1 1 17rem}.coverage{flex-shrink:1;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr) auto}
.panel-head{flex-wrap:wrap}.panel-head>div{min-width:0}
select{height:auto;min-height:2.75rem;padding-block:.35rem;max-width:100%}
.reset{height:auto;min-height:2.75rem}.comparison-pickers{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.category-empty{padding:2rem 1rem;border:1px dashed var(--line);border-radius:8px;text-align:center;margin-top:12px}
.category-empty strong{font-size:1rem}.category-empty p{font-size:.875rem;color:var(--muted);margin-top:8px}
.donut{width:min(10.75rem,100%);height:auto;aspect-ratio:1}.donut>div{width:80%;height:80%}
@media(min-width:901px) and (max-width:1150px){.kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}}
@media(max-width:900px){.composition{display:block}.composition-row{flex-wrap:wrap}.composition-row strong{margin-inline-start:auto}.composition-foot{flex-wrap:wrap}}
@media(max-width:600px){
  .kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
  .kpi{min-height:9rem}.kpi strong{font-size:clamp(1.15rem,4.2vw,1.6rem);max-width:100%}
  .kpi-label,.toolbar label,.reset,.comparison-pickers label,.category-row,.text-button,.compare-table,.composition-row{font-size:.875rem}
  .toolbar{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
  .toolbar select{width:100%}.toolbar label{min-width:0}.scope{text-align:right;align-self:center}
  .comparison-pickers{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
  .composition-row{display:flex}.composition-row strong{margin:0}.composition-foot{gap:6px}
  .donut{width:min(10rem,100%)}.donut strong{font-size:1.75rem}
  .legend{font-size:.8125rem}.chart{min-width:37rem}.chart.grid-small{min-width:24rem}
}

/* Visual audit: comfortable controls and consistent mobile KPI rows. */
footer summary{min-height:44px;padding-block:10px;font-size:.875rem}
.text-button{min-height:44px}
@media(max-width:600px){
  .kpis{grid-auto-rows:1fr}
  select{font-size:1rem}
  .ipc-button{min-width:44px;min-height:44px}
}

/* Bounded native scrolling keeps long lists within their own panels. */
.category-scroll,.ledger-scroll{scrollbar-width:thin;scrollbar-color:#6f9181 #f2f5f3;scrollbar-gutter:stable}
.category-scroll{max-height:22rem;overflow-y:auto;overflow-x:hidden;margin-inline-end:-12px;padding-inline-end:1.5rem}
.ledger-scroll{max-height:32rem;overflow:auto}
.ledger .ledger-scroll{margin-inline-end:-12px;padding-inline-end:1.5rem;padding-block-end:.25rem}
.ledger-scroll table{border-collapse:separate;border-spacing:0}
.ledger-scroll thead th{position:sticky;top:0;z-index:1;background:#f5f8f6;box-shadow:0 1px 0 var(--line)}
/* Keep a clear text inset even when the operating system overlays its scrollbar. */
@supports selector(::-webkit-scrollbar){.category-scroll,.ledger-scroll{scrollbar-width:auto;scrollbar-color:auto}}
.category-scroll::-webkit-scrollbar,.ledger-scroll::-webkit-scrollbar{width:6px;height:6px}
.category-scroll::-webkit-scrollbar-track,.ledger-scroll::-webkit-scrollbar-track{background:#f2f5f3;border-radius:6px}
.category-scroll::-webkit-scrollbar-thumb,.ledger-scroll::-webkit-scrollbar-thumb{background:#6f9181;border-radius:6px}
.category-scroll::-webkit-scrollbar-thumb:hover,.ledger-scroll::-webkit-scrollbar-thumb:hover{background:#477c62}
.category-scroll::-webkit-scrollbar-corner,.ledger-scroll::-webkit-scrollbar-corner{background:transparent}
.category-scroll:focus-visible,.ledger-scroll:focus-visible{outline-offset:-3px}
@media(max-width:600px){.category-scroll{max-height:20rem;margin-inline-end:-8px}.ledger-scroll{max-height:26rem}.ledger .ledger-scroll{margin-inline-end:-8px}}

/* Language control and direction-aware alignment; chart chronology stays LTR. */
.brand-end{flex-direction:row-reverse;align-items:center;gap:16px}
.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid #c7d6ce;border-radius:7px;background:#fff;color:var(--green);font-size:.875rem;font-weight:700;line-height:1.4;direction:ltr}
.language-toggle[hidden]{display:none}
.language-toggle svg{width:1.125rem;height:1.125rem;flex-shrink:0}
.language-toggle:hover{background:#edf3ef;border-color:#7da28f}
.brandbar .amanah{min-width:0}
/* Reorder the original artwork at its blank separator (x=983 of 1416).
   Each window preserves the source proportions; the artwork is never mirrored. */
.amanah{display:flex;aspect-ratio:1416/429;align-self:center;direction:rtl}
.amanah-emblem,.amanah-wordmark{position:relative;overflow:hidden}
.amanah-emblem{flex:0 0 calc(100% * 433 / 1416)}
.amanah-wordmark{flex:0 0 calc(100% * 983 / 1416)}
.amanah img{position:absolute;top:0;display:block;height:100%;width:auto;max-width:none}
.amanah-emblem img{right:0}
.amanah-wordmark img{left:0}
html[lang=en] .amanah{direction:ltr}
@container(max-width:14rem){
  .project-summary{grid-template-columns:minmax(0,1fr)}
  .project-reference{grid-column:1;grid-row:1}
  .project-end{grid-column:1;grid-row:2}
  .project-value{grid-column:1;grid-row:3}
}
html[lang=en]{font-family:Arial,Helvetica,sans-serif}
html[lang=en] .text-button{max-width:100%;white-space:normal;text-align:start}
@media(max-width:360px){html[lang=en] .kpi strong{font-size:1.1rem}}
html[dir=ltr] table,html[dir=ltr] footer details,html[dir=ltr] footer summary,html[dir=ltr] .clock-copy #dashboard-time{text-align:left}
html[dir=ltr] .compare-table th:nth-child(n+2),html[dir=ltr] .compare-table td:nth-child(n+2),html[dir=ltr] .category-percent{text-align:right}
html[dir=ltr] .project-stat progress,html[dir=ltr] .contract-progress progress{direction:ltr}
html[lang=en] .project-stat{display:flex;flex-direction:column}
html[lang=en] .project-stat dl{flex:1;display:grid;grid-template-rows:1fr auto;gap:6px}
.donut{container-type:inline-size}
/* The adjacent legend retains the full label when enlarged text fills the ring. */
@container(max-width:8rem){.donut span{display:none}}
html[dir=ltr] .composition-row strong{ text-align:left }
@media(max-width:600px){
  html[dir=ltr] .scope{text-align:left}
}

/* Reflow by panel width, including enlarged text, while retaining full amounts. */
.comparison{container:comparison / inline-size}
.categories{container:categories / inline-size}
.compare-table{table-layout:fixed;white-space:normal;font-size:.875rem}
.compare-table th:first-child,.compare-table td:first-child{width:44%;overflow-wrap:break-word}
.compare-table th:nth-child(n+2),.compare-table td:nth-child(n+2){width:28%;white-space:nowrap}
.category-row{grid-template-columns:minmax(0,1fr) auto auto;font-size:.875rem}
.category-row>div:first-child{min-width:0;overflow-wrap:break-word}
.category-amount{font-size:1rem;white-space:nowrap}
.category-percent{font-size:.875rem;white-space:nowrap}
.category-scroll{padding-block:4px;padding-inline:8px 24px;margin-inline-start:-8px}
.category-scroll:focus-visible{outline-offset:-3px;border-radius:5px}
@container comparison (max-width:24rem){
  .compare-table,.compare-table tbody{display:block}
  .compare-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .compare-table tbody tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:5px 12px;border-bottom:1px solid var(--line);padding-block:12px}
  .compare-table td{padding:3px 0;border:0;text-align:start!important;min-width:0;width:auto!important}
  .compare-table td:first-child{grid-column:1/-1;font-weight:bold;color:var(--ink)}
  .compare-table td[data-label]::before{content:attr(data-label);display:block;font-size:.8125rem;color:var(--muted);margin-bottom:2px}
}
@container categories (max-width:28rem){
  .category-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding-block:14px}
  .category-row>div:first-child{flex-basis:100%}
  .category-amount{margin:0}
  .category-percent{text-align:end}
}

/* Keep the return action close to the selected IPC and preserve native scrolling. */
.ledger-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:100%}
.ledger-actions .text-button{white-space:normal;text-align:start;max-width:100%}
.ledger-scroll{scroll-padding-block-start:4rem}
.ledger .ledger-scroll{padding-inline-end:16px}
.ledger-scroll th{white-space:normal}
.ipc-button{min-width:44px;min-height:44px;scroll-margin-block:8px}

.kpi-caption,.kpi-caption b,.legend,.chart-hint,.panel-head p,.category-foot,.composition-foot,.compare-note,.pill,.quiet,th{font-size:.875rem}
.gridline span,.chart-number,.donut span{font-size:.8125rem}

/* A shared reading edge keeps the countdown hierarchy consistent in both languages. */
.project-summary .project-countdown{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:start}
.project-summary .project-countdown[hidden]{display:none}
.project-countdown>dt{max-inline-size:100%;font-weight:500}
.project-countdown .countdown-value{margin:.25rem 0 0;font-size:1.5rem;line-height:1.25}
.countdown-timer{display:inline-flex;align-items:baseline;flex-wrap:wrap;max-inline-size:100%;gap:.125rem .375rem;line-height:1.25}
.countdown-timer strong{font-size:inherit;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.countdown-unit{font-family:Tahoma,Arial,sans-serif;font-size:.875rem;font-weight:400;color:var(--contract-label)}
.project-countdown .countdown-elapsed{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;max-inline-size:100%;gap:.125rem .375rem;margin:.375rem 0 0;font-family:Tahoma,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.65;color:var(--contract-label)}
.countdown-elapsed-value{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap}
.countdown-elapsed-value .number{font-family:Arial,sans-serif}
.project-countdown[data-state=ended] dt{color:#f7dfcc}
@container(max-width:64rem){
  .project-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px 24px}
  .project-summary-field{border-inline-start:0;padding-inline-start:0}
  .project-end,.project-countdown{border-top:1px solid var(--contract-line);padding-top:12px}
}
@container(max-width:40rem){
  .project-summary{grid-template-columns:minmax(0,1fr);gap:0}
  .project-summary-field{grid-column:1;grid-row:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;border:0;border-top:1px solid var(--contract-line);padding:10px 0}
  .project-summary-field:first-child{border-top:0;padding-top:0}
  .project-summary-field>dd{margin:0}
  .project-value{display:block}
}
@container(max-width:16rem){
  .project-summary-field{grid-template-columns:minmax(0,1fr);gap:2px}
}

/* Highlight total deduction amounts in the summary card and chart tooltip. */
.kpi #deductions,.tooltip .tooltip-deductions .number{color:var(--orange)}
