.sfr-aex{--aex-bg:#f4f8fc;--aex-card:#fff;--aex-soft:#f7fafc;--aex-ink:#183553;--aex-muted:#60758b;--aex-line:#dce6ef;--aex-primary:#174d7c;--aex-teal:#0f766e;--aex-risk:#b42318;--aex-watch:#a15c00;min-height:100%;padding:18px;background:radial-gradient(circle at 8% 4%,rgba(37,99,235,.08),transparent 25%),linear-gradient(180deg,#f7fbff,#eef4f9);color:var(--aex-ink);font-family:"Tajawal",sans-serif}.sfr-aex *{box-sizing:border-box}.sfr-aex button,.sfr-aex input,.sfr-aex select,.sfr-aex textarea{font:inherit}.sfr-aex-view{display:none}.sfr-aex-view.is-active{display:block}.sfr-aex-hero,.sfr-aex-page-head,.sfr-aex-panel{border:1px solid var(--aex-line);border-radius:18px;background:var(--aex-card);box-shadow:0 12px 32px rgba(15,49,95,.07)}.sfr-aex-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:26px;padding:30px;align-items:center}.sfr-aex-eyebrow{display:block;margin-bottom:8px;color:#0f766e;font:800 12.5px/1.2 "JetBrains Mono",monospace;letter-spacing:.04em}.sfr-aex h1,.sfr-aex h2,.sfr-aex h3,.sfr-aex p{margin-top:0}.sfr-aex-hero h1,.sfr-aex-page-head h1{margin-bottom:10px;color:#173d68;font-size:29px;line-height:1.35}.sfr-aex-hero p,.sfr-aex-page-head p{max-width:820px;margin-bottom:0;color:var(--aex-muted);font-size:14px;line-height:1.85}.sfr-aex-actions,.sfr-aex-head-actions,.sfr-aex-toolbar-actions,.sfr-aex-inline-actions,.sfr-aex-report-actions,.sfr-aex-settings-actions{display:flex;gap:9px;flex-wrap:wrap}.sfr-aex-actions{margin-top:20px}.sfr-aex-btn,.sfr-aex-link{min-height:40px;padding:9px 15px;border:1px solid #c9d7e5;border-radius:10px;background:#fff;color:#24496d;font-weight:700;cursor:pointer;transition:.18s ease}.sfr-aex-btn:hover,.sfr-aex-link:hover{transform:translateY(-1px);border-color:#7ba3c7}.sfr-aex-btn.primary{border-color:#174d7c;background:#174d7c;color:#fff}.sfr-aex-btn.subtle{background:#f3f7fb}.sfr-aex-btn.danger{border-color:#fecaca;background:#fff5f5;color:#b42318}.sfr-aex-link{border:0;background:transparent;color:#0f766e}.sfr-aex-health{display:flex;gap:16px;align-items:center;padding:20px;border-radius:16px;background:linear-gradient(145deg,#edf6fb,#f8fbfd)}.sfr-aex-score{--score:0%;position:relative;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#0f766e var(--score),#dbe6ec 0)}.sfr-aex-score:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.sfr-aex-score strong,.sfr-aex-score span{position:relative;z-index:1}.sfr-aex-score strong{font:800 25px/1 "JetBrains Mono",monospace;color:#173f70}.sfr-aex-score span{margin-right:-6px;color:#718196;font-size:11px}.sfr-aex-health small{display:block;color:#6d8296;font-size:12.5px}.sfr-aex-health>div>strong{display:block;margin:5px 0;color:#21486f;font-size:17px}.sfr-aex-health p{margin:0;color:#667b8e;font-size:13px;line-height:1.6}.sfr-aex-kpi-grid,.sfr-aex-analysis-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0}.sfr-aex-kpi-grid article,.sfr-aex-analysis-summary article{padding:16px;border:1px solid var(--aex-line);border-radius:14px;background:#fff;min-width:0}.sfr-aex-kpi-grid span,.sfr-aex-analysis-summary span{display:block;color:#657a8f;font-size:12.5px;font-weight:600}.sfr-aex-kpi-grid strong,.sfr-aex-analysis-summary strong{display:block;margin:8px 0 5px;color:#1b466f;font:800 16px/1.35 "JetBrains Mono",monospace;overflow-wrap:anywhere}.sfr-aex-kpi-grid small,.sfr-aex-analysis-summary small{color:#74879a;font-size:12px}.sfr-aex-kpi-grid article.risk,.sfr-aex-analysis-summary article.risk{border-color:#f5b9b3;background:#fff9f8}.sfr-aex-kpi-grid article.good,.sfr-aex-analysis-summary article.good{border-color:#b9e0d8;background:#f7fffc}.sfr-aex-dashboard-grid,.sfr-aex-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sfr-aex-dashboard-grid .wide,.sfr-aex-analysis-grid .wide{grid-column:1/-1}.sfr-aex-panel{overflow:hidden}.sfr-aex-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--aex-line);background:#fbfdff}.sfr-aex-panel>header span{display:block;color:#0f766e;font:800 11.5px/1.2 "JetBrains Mono",monospace}.sfr-aex-panel>header h2{margin:5px 0 0;color:#264d73;font-size:17px}.sfr-aex-panel>header small{color:#73879b;font-size:12px}.sfr-aex-chart,.sfr-aex-panel>[data-aex-category-bars],.sfr-aex-panel>[data-aex-alerts],.sfr-aex-panel>[data-aex-opportunities],.sfr-aex-panel>[data-aex-pareto],.sfr-aex-panel>[data-aex-run-rate],.sfr-aex-panel>[data-aex-anomalies],.sfr-aex-panel>[data-aex-suppliers],.sfr-aex-panel>[data-aex-scenario],.sfr-aex-panel>[data-aex-quality]{padding:18px}.sfr-aex-empty{padding:28px;text-align:center;color:#74879a;font-size:13px}.sfr-aex-month-bars,.sfr-aex-bars{display:grid;gap:12px}.sfr-aex-month-bars article>div,.sfr-aex-bars article>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;color:#365775;font-size:13px}.sfr-aex-month-bars i,.sfr-aex-bars i{position:relative;display:block;height:10px;border-radius:999px;background:#e8eef4;overflow:hidden}.sfr-aex-month-bars i span,.sfr-aex-bars i span{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#0f766e,#27a69a)}.sfr-aex-month-bars i em{position:absolute;right:0;top:2px;height:6px;border-left:2px solid #d97706}.sfr-aex-month-bars small,.sfr-aex-bars small{display:block;margin-top:4px;color:#74879a;font-size:12px}.sfr-aex-alerts{display:grid;gap:9px}.sfr-aex-alerts article{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:11px;border:1px solid #dfe7ee;border-radius:11px}.sfr-aex-alerts article>b{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#edf5fa;color:#1c5579}.sfr-aex-alerts strong,.sfr-aex-alerts span{display:block}.sfr-aex-alerts strong{color:#2e506f;font-size:13.5px}.sfr-aex-alerts span{margin-top:3px;color:#687d91;font-size:12.5px;line-height:1.6}.sfr-aex-alerts article.risk{border-color:#f4c7c2}.sfr-aex-alerts article.watch{border-color:#f0d2a5}.sfr-aex-opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sfr-aex-opportunity-grid article{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #dfe8ef;border-radius:12px}.sfr-aex-opportunity-grid article>b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8f5f2;color:#0f766e}.sfr-aex-opportunity-grid strong,.sfr-aex-opportunity-grid span{display:block}.sfr-aex-opportunity-grid strong{font-size:13.5px;color:#2c4f70}.sfr-aex-opportunity-grid span{margin-top:3px;color:#6e8193;font-size:12px}.sfr-aex-opportunity-grid em{font:800 13px/1 "JetBrains Mono",monospace;color:#0f766e;font-style:normal}.sfr-aex-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:22px}.sfr-aex-progress{margin:14px 0;padding:13px 16px;border:1px solid var(--aex-line);border-radius:12px;background:#fff}.sfr-aex-progress>div{display:flex;justify-content:space-between;color:#506b83;font-size:13px}.sfr-aex-progress i{display:block;height:7px;margin-top:8px;border-radius:999px;background:#e6edf3;overflow:hidden}.sfr-aex-progress i span{display:block;height:100%;width:0;background:#0f766e;transition:width .25s}.sfr-aex-input-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.sfr-aex-mode,.sfr-aex-tabs{display:flex;gap:6px;padding:6px;border:1px solid var(--aex-line);border-radius:12px;background:#fff;overflow:auto}.sfr-aex-mode button,.sfr-aex-tabs button{min-width:max-content;padding:9px 13px;border:0;border-radius:8px;background:transparent;color:#5c7389;font-weight:700;cursor:pointer}.sfr-aex-mode button.is-active,.sfr-aex-tabs button.is-active{background:#174d7c;color:#fff}.sfr-aex-tabs{margin-bottom:13px}.sfr-aex-data-panel{display:none}.sfr-aex-data-panel.is-active{display:block}.sfr-aex-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:18px}.sfr-aex-form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.sfr-aex label>span{display:block;margin-bottom:6px;color:#526b82;font-size:13px;font-weight:700}.sfr-aex label small{display:block;margin-top:5px;color:#71859a;font-size:12px;line-height:1.45}.sfr-aex input,.sfr-aex select,.sfr-aex textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #cbd9e6;border-radius:9px;background:#fff;color:#183553;outline:none}.sfr-aex textarea{min-height:92px;resize:vertical}.sfr-aex input:focus,.sfr-aex select:focus,.sfr-aex textarea:focus{border-color:#5b95c3;box-shadow:0 0 0 3px rgba(59,130,246,.13)}.sfr-aex label.wide{grid-column:span 2}.sfr-aex[data-input-mode="quick"] .advanced,.sfr-aex[data-input-mode="quick"] .advanced-col{display:none!important}.sfr-aex-grid-help{display:flex;justify-content:space-between;gap:14px;padding:12px 18px;color:#667d91;font-size:12.5px;background:#f7fafc}.sfr-aex-table-wrap{width:100%;overflow:auto}.sfr-aex table{width:100%;border-collapse:collapse}.sfr-aex th,.sfr-aex td{padding:9px;border-bottom:1px solid #e2e9ef;text-align:right;white-space:nowrap;font-size:12.5px}.sfr-aex th{position:sticky;top:0;z-index:2;background:#f3f7fa;color:#5d7389;font-weight:800}.sfr-aex td{color:#38556f}.sfr-aex-input-table input,.sfr-aex-input-table select{min-width:112px;height:36px;min-height:36px;padding:5px 7px}.sfr-aex-input-table .wide-input{min-width:165px}.sfr-aex-remove{width:31px;height:31px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5;color:#b42318;font-size:18px;cursor:pointer}.sfr-aex-empty-state{padding:30px;text-align:center;color:#657a8f}.sfr-aex-empty-state strong,.sfr-aex-empty-state span{display:block}.sfr-aex-empty-state span{margin:6px 0 14px;font-size:13px}.sfr-aex-analysis-grid{margin-top:14px}.sfr-aex .positive{color:#0f766e!important}.sfr-aex .negative{color:#b42318!important}.sfr-aex-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11.5px;font-weight:800}.sfr-aex-badge.good{background:#dcfce7;color:#166534}.sfr-aex-badge.watch{background:#fef3c7;color:#92400e}.sfr-aex-badge.risk{background:#fee2e2;color:#991b1b}.sfr-aex-pareto-row{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:10px;border-bottom:1px solid #e3e9ef}.sfr-aex-pareto-row>b{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#edf4f9;color:#235579}.sfr-aex-pareto-row strong,.sfr-aex-pareto-row span{display:block}.sfr-aex-pareto-row strong{font-size:13px;color:#2e4e6e}.sfr-aex-pareto-row span{margin-top:3px;color:#718499;font-size:12px}.sfr-aex-pareto-row em{font:800 12.5px/1 "JetBrains Mono",monospace;color:#174d7c;font-style:normal}.sfr-aex-metric-list{display:grid;gap:9px}.sfr-aex-metric-list article{padding:11px;border:1px solid #e0e8ef;border-radius:10px}.sfr-aex-metric-list span,.sfr-aex-metric-list strong,.sfr-aex-metric-list small{display:block}.sfr-aex-metric-list span{color:#657c91;font-size:12.5px}.sfr-aex-metric-list strong{margin-top:5px;color:#244d72;font:800 14px/1.3 "JetBrains Mono",monospace}.sfr-aex-metric-list small{margin-top:4px;color:#78899b;font-size:12px}.sfr-aex-validation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sfr-aex-validation article{padding:12px;border:1px solid #dfe7ee;border-radius:11px}.sfr-aex-validation strong,.sfr-aex-validation span{display:block}.sfr-aex-validation strong{color:#2d4f6f;font-size:13.5px}.sfr-aex-validation span{margin-top:4px;color:#6b8094;font-size:12.5px;line-height:1.6}.sfr-aex-validation article.risk{border-color:#f4c3bd;background:#fffafa}.sfr-aex-validation article.watch{border-color:#f0d3a8;background:#fffdf8}.sfr-aex-validation article.good{border-color:#bce0d9;background:#f8fffc}.sfr-aex-scenario-box{display:grid;gap:9px}.sfr-aex-scenario-box>strong{display:block;padding:12px;border-radius:10px;background:#edf7f4;color:#0f766e}.sfr-aex-scenario-box>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #e3e9ef}.sfr-aex-scenario-box span{color:#667c90;font-size:12.5px}.sfr-aex-scenario-box b{color:#274d70;font:800 13px/1 "JetBrains Mono",monospace}.sfr-aex-report-actions{justify-content:flex-end;margin-bottom:12px}.sfr-aex-report{display:grid;gap:14px}.sfr-aex-report-page{position:relative;min-height:calc(297mm - 28mm);padding:22mm 18mm;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#10233f;box-shadow:0 12px 34px rgba(15,49,95,.08)}.sfr-aex-report-page.cover{display:grid;align-content:space-between;background:linear-gradient(145deg,#fff,#edf7fc)}.sfr-aex-report-brand{display:flex;align-items:center;gap:12px}.sfr-aex-report-brand>b{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#153f70;color:#fff;font-family:"JetBrains Mono",monospace}.sfr-aex-report-brand strong,.sfr-aex-report-brand span{display:block}.sfr-aex-report-brand strong{color:#173b67}.sfr-aex-report-brand span{color:#6f8095;font-size:12px}.sfr-aex-report-title>span{color:#0f766e;font:800 12px/1 "JetBrains Mono",monospace}.sfr-aex-report-title h1{max-width:760px;margin:10px 0;color:#12355f;font-size:34px;line-height:1.35}.sfr-aex-report-title p{max-width:740px;color:#65778e;line-height:1.8}.sfr-aex-report-meta,.sfr-aex-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sfr-aex-report-meta div,.sfr-aex-report-grid article{padding:12px;border:1px solid #dce5ee;border-radius:10px}.sfr-aex-report-meta span,.sfr-aex-report-grid span{display:block;color:#7c8b9d;font-size:11.5px}.sfr-aex-report-meta strong,.sfr-aex-report-grid strong{display:block;margin-top:4px;color:#29496f;font-size:13px}.sfr-aex-report-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:13px;border-bottom:2px solid #153f70}.sfr-aex-report-head>div{display:flex;align-items:center;gap:10px}.sfr-aex-report-head span{font:800 13px/1 "JetBrains Mono",monospace;color:#0f766e}.sfr-aex-report-head h2{margin:0;color:#173b66}.sfr-aex-report-head small{color:#7b899b}.sfr-aex-report-page h3{margin:22px 0 10px;color:#23456d}.sfr-aex-report-table-wrap{overflow:hidden}.sfr-aex-report-table-wrap table{width:100%}.sfr-aex-report-table-wrap th,.sfr-aex-report-table-wrap td{padding:8px;font-size:11px}.sfr-aex-report-score{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:18px;margin:18px 0}.sfr-aex-report-score p{margin:5px 0 0;color:#667a8e;line-height:1.7}.sfr-aex-report-narrative p{color:#536a80;line-height:1.85}.sfr-aex-report-list{display:grid;gap:8px}.sfr-aex-report-list article{padding:11px;border:1px solid #dde6ed;border-radius:10px}.sfr-aex-report-list strong,.sfr-aex-report-list span{display:block}.sfr-aex-report-list strong{color:#294d70}.sfr-aex-report-list span{margin-top:3px;color:#667b8f;font-size:12px}.sfr-aex-methodology,.sfr-aex-methodology-static{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sfr-aex-methodology article,.sfr-aex-methodology-static article{padding:14px;border:1px solid #dfe7ee;border-radius:11px}.sfr-aex-methodology h3,.sfr-aex-methodology-static h3{margin-bottom:6px;color:#294d70}.sfr-aex-methodology p,.sfr-aex-methodology-static p{margin:0;color:#667b8e;font-size:12.5px;line-height:1.7}.sfr-aex-report-note{margin-top:18px;padding:13px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;color:#715410;font-size:12px;line-height:1.7}.sfr-aex-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.sfr-aex-guide-grid article{padding:18px;border:1px solid var(--aex-line);border-radius:15px;background:#fff}.sfr-aex-guide-grid b{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e8f5f2;color:#0f766e}.sfr-aex-guide-grid h2{margin:13px 0 7px;color:#29486d;font-size:16px}.sfr-aex-guide-grid p{margin:0;color:#647a8f;font-size:13px;line-height:1.7}.sfr-aex-panel.methodology{margin-top:14px}.sfr-aex-methodology-static{padding:18px}.sfr-aex-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sfr-aex-settings-grid .wide{grid-column:1/-1}.sfr-aex-settings-actions,.sfr-aex-governance{padding:18px}.sfr-aex-governance p{margin:0;color:#60758a;font-size:13px;line-height:1.8}.sfr-aex-governance p+p{margin-top:8px}body.dark-platform .sfr-aex{--aex-bg:#07131f;--aex-card:#0e1d2d;--aex-soft:#11243a;--aex-ink:#e4eef9;--aex-muted:#b4c4d4;--aex-line:#2a4058;background:radial-gradient(circle at 10% 5%,rgba(37,99,235,.15),transparent 28%),linear-gradient(180deg,#07131f,#081521);color:#e4eef9}body.dark-platform .sfr-aex-hero,body.dark-platform .sfr-aex-page-head,body.dark-platform .sfr-aex-panel,body.dark-platform .sfr-aex-kpi-grid article,body.dark-platform .sfr-aex-analysis-summary article,body.dark-platform .sfr-aex-progress,body.dark-platform .sfr-aex-mode,body.dark-platform .sfr-aex-tabs,body.dark-platform .sfr-aex-guide-grid article{background:#0e1d2d;border-color:#2b435e;box-shadow:0 12px 30px rgba(0,0,0,.2)}body.dark-platform .sfr-aex-hero h1,body.dark-platform .sfr-aex-page-head h1,body.dark-platform .sfr-aex-panel>header h2,body.dark-platform .sfr-aex-kpi-grid strong,body.dark-platform .sfr-aex-analysis-summary strong,body.dark-platform .sfr-aex-health>div>strong{color:#e5f1ff}body.dark-platform .sfr-aex-hero p,body.dark-platform .sfr-aex-page-head p,body.dark-platform .sfr-aex-health p,body.dark-platform .sfr-aex-kpi-grid span,body.dark-platform .sfr-aex-kpi-grid small,body.dark-platform .sfr-aex-analysis-summary span,body.dark-platform .sfr-aex-analysis-summary small,body.dark-platform .sfr-aex label>span,body.dark-platform .sfr-aex label small,body.dark-platform .sfr-aex-grid-help,body.dark-platform .sfr-aex th,body.dark-platform .sfr-aex td{color:#b8c9dc}body.dark-platform .sfr-aex-panel>header{background:#112239;border-color:#2a4058}body.dark-platform .sfr-aex-health{background:#11243a}body.dark-platform .sfr-aex-score:before{background:#0e1d2d}body.dark-platform .sfr-aex-btn,body.dark-platform .sfr-aex-link{background:#11243a;border-color:#35506e;color:#dbeafe}body.dark-platform .sfr-aex-btn.primary{background:#1b5b91;border-color:#2e76ae;color:#fff}body.dark-platform .sfr-aex input,body.dark-platform .sfr-aex select,body.dark-platform .sfr-aex textarea{background:#081725;border-color:#334a64;color:#e3edf9;color-scheme:dark}body.dark-platform .sfr-aex th{background:#13263b}body.dark-platform .sfr-aex td{border-color:#2a3f56}body.dark-platform .sfr-aex-grid-help{background:#102238}body.dark-platform .sfr-aex-month-bars i,body.dark-platform .sfr-aex-bars i,body.dark-platform .sfr-aex-progress i{background:#263a50}body.dark-platform .sfr-aex-alerts article,body.dark-platform .sfr-aex-opportunity-grid article,body.dark-platform .sfr-aex-pareto-row,body.dark-platform .sfr-aex-metric-list article,body.dark-platform .sfr-aex-validation article,body.dark-platform .sfr-aex-scenario-box>div{border-color:#2a4058}body.dark-platform .sfr-aex-alerts strong,body.dark-platform .sfr-aex-opportunity-grid strong,body.dark-platform .sfr-aex-pareto-row strong,body.dark-platform .sfr-aex-metric-list strong,body.dark-platform .sfr-aex-validation strong{color:#dbeafe}body.dark-platform .sfr-aex-alerts span,body.dark-platform .sfr-aex-opportunity-grid span,body.dark-platform .sfr-aex-pareto-row span,body.dark-platform .sfr-aex-metric-list span,body.dark-platform .sfr-aex-metric-list small,body.dark-platform .sfr-aex-validation span,body.dark-platform .sfr-aex-scenario-box span{color:#b4c5d6}body.dark-platform .sfr-aex-report-page{color:#10233f}@media(max-width:1250px){.sfr-aex-kpi-grid,.sfr-aex-analysis-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.sfr-aex-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sfr-aex{padding:12px}.sfr-aex-hero,.sfr-aex-dashboard-grid,.sfr-aex-analysis-grid,.sfr-aex-settings-grid{grid-template-columns:1fr}.sfr-aex-hero{padding:22px}.sfr-aex-page-head{display:block}.sfr-aex-head-actions{margin-top:14px}.sfr-aex-form-grid,.sfr-aex-form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sfr-aex-opportunity-grid,.sfr-aex-validation{grid-template-columns:1fr}.sfr-aex-guide-grid{grid-template-columns:repeat(2,1fr)}.sfr-aex-methodology,.sfr-aex-methodology-static{grid-template-columns:1fr}}@media(max-width:620px){.sfr-aex{padding:8px}.sfr-aex-hero{grid-template-columns:1fr}.sfr-aex-hero h1,.sfr-aex-page-head h1{font-size:25px}.sfr-aex-health{align-items:flex-start}.sfr-aex-kpi-grid,.sfr-aex-analysis-summary,.sfr-aex-form-grid,.sfr-aex-form-grid.compact,.sfr-aex-guide-grid{grid-template-columns:1fr}.sfr-aex-input-toolbar{display:block}.sfr-aex-toolbar-actions{margin-top:10px}.sfr-aex label.wide{grid-column:auto}.sfr-aex-report-page{min-height:auto;padding:18px}.sfr-aex-report-title h1{font-size:26px}.sfr-aex-report-meta,.sfr-aex-report-grid{grid-template-columns:1fr}.sfr-aex-report-score{grid-template-columns:1fr}.sfr-aex-grid-help{display:block}.sfr-aex-grid-help span{display:block}.sfr-aex-grid-help span+span{margin-top:4px}}@media print{body.sfr-platform-phase4-page{background:#fff!important}.sfr-sidebar,.sfr-topbar,.save-status,.toast,.sfr-aex-report-actions{display:none!important}.sfr-main{margin:0!important;padding:0!important}.content{width:100%!important;max-width:none!important;padding:0!important}.sfr-aex{padding:0!important;background:#fff!important}.sfr-aex-view{display:none!important}.sfr-aex-view[data-aex-view="report"]{display:block!important}.sfr-aex-report{gap:0}.sfr-aex-report-page{min-height:297mm;padding:20mm 17mm;border:0;border-radius:0;box-shadow:none;page-break-after:always;break-after:page}.sfr-aex-report-page:last-child{page-break-after:auto}@page{size:A4;margin:0}}

/* 4.7.4 — Dark readability, elegant charts, and print-report refinement */
body.dark-platform .sfr-aex{--aex-bg:#081420;--aex-card:#0f1d2e;--aex-soft:#13243a;--aex-ink:#e4eef9;--aex-muted:#a1b4c8;--aex-line:#2a4059;--aex-primary:#60a5fa;--aex-teal:#34d399;--aex-risk:#fb7185;--aex-watch:#fbbf24;background:radial-gradient(circle at 8% 4%,rgba(59,130,246,.18),transparent 28%),linear-gradient(180deg,#08131f,#091522)}
body.dark-platform .sfr-aex-hero,body.dark-platform .sfr-aex-page-head,body.dark-platform .sfr-aex-panel,body.dark-platform .sfr-aex-kpi-grid article,body.dark-platform .sfr-aex-analysis-summary article,body.dark-platform .sfr-aex-mode,body.dark-platform .sfr-aex-tabs,body.dark-platform .sfr-aex-progress,body.dark-platform .sfr-aex-guide-grid article,body.dark-platform .sfr-aex-settings-grid .sfr-aex-panel{background:var(--aex-card);border-color:var(--aex-line);box-shadow:0 14px 36px rgba(0,0,0,.2)}
body.dark-platform .sfr-aex-hero h1,body.dark-platform .sfr-aex-page-head h1,body.dark-platform .sfr-aex-panel>header h2,body.dark-platform .sfr-aex-kpi-grid strong,body.dark-platform .sfr-aex-analysis-summary strong,body.dark-platform .sfr-aex-metric-list strong,body.dark-platform .sfr-aex-opportunity-grid strong,body.dark-platform .sfr-aex-pareto-row strong,body.dark-platform .sfr-aex-report-title h1,body.dark-platform .sfr-aex-report-head h2{color:#edf5ff}
body.dark-platform .sfr-aex-hero p,body.dark-platform .sfr-aex-page-head p,body.dark-platform .sfr-aex-panel>header small,body.dark-platform .sfr-aex-grid-help,body.dark-platform .sfr-aex-kpi-grid span,body.dark-platform .sfr-aex-analysis-summary span,body.dark-platform .sfr-aex-metric-list span,body.dark-platform .sfr-aex-opportunity-grid span,body.dark-platform .sfr-aex-pareto-row span,body.dark-platform .sfr-aex-alerts span,body.dark-platform .sfr-aex-validation span,body.dark-platform .sfr-aex-health p,body.dark-platform .sfr-aex-health small{color:#a9bdd1}
body.dark-platform .sfr-aex-panel>header,body.dark-platform .sfr-aex-grid-help{background:#112136;border-color:var(--aex-line)}
body.dark-platform .sfr-aex-health{background:linear-gradient(145deg,#112136,#0e1d31)}
body.dark-platform .sfr-aex-score{background:conic-gradient(#34d399 var(--score),#24364b 0)}
body.dark-platform .sfr-aex-score:before{background:#102033}
body.dark-platform .sfr-aex-score strong,body.dark-platform .sfr-aex-health>div>strong{color:#edf5ff}
body.dark-platform .sfr-aex-btn,body.dark-platform .sfr-aex-input-table input,body.dark-platform .sfr-aex-input-table select,body.dark-platform .sfr-aex input,body.dark-platform .sfr-aex select,body.dark-platform .sfr-aex textarea{background:#0b1727;border-color:#30445d;color:#e4eef9;color-scheme:dark}
body.dark-platform .sfr-aex-btn.subtle{background:#122338}
body.dark-platform .sfr-aex-btn.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}
body.dark-platform .sfr-aex-btn.danger{background:rgba(239,68,68,.1);border-color:rgba(248,113,113,.36);color:#fecaca}
body.dark-platform .sfr-aex-link{color:#7dd3fc}
body.dark-platform .sfr-aex th{background:#13243a;color:#b9cae0;border-color:#263950}
body.dark-platform .sfr-aex td{color:#d2deeb;border-color:#263950}
body.dark-platform .sfr-aex-empty-state,body.dark-platform .sfr-aex-empty{color:#9eb3c8}
body.dark-platform .sfr-aex-badge{font-size:12px;padding:5px 10px;letter-spacing:.01em}
body.dark-platform .sfr-aex-badge.good{background:#173428;color:#a7f3d0}
body.dark-platform .sfr-aex-badge.watch{background:#392d10;color:#fde68a}
body.dark-platform .sfr-aex-badge.risk{background:#38151d;color:#fecdd3}
body.dark-platform .sfr-aex-pareto-row,body.dark-platform .sfr-aex-metric-list article,body.dark-platform .sfr-aex-validation article,body.dark-platform .sfr-aex-opportunity-grid article,body.dark-platform .sfr-aex-alerts article{background:#102033;border-color:#28405a}
body.dark-platform .sfr-aex-pareto-row>b,body.dark-platform .sfr-aex-alerts article>b{background:#17304a;color:#dbeafe}
body.dark-platform .sfr-aex-opportunity-grid article>b{background:#103326;color:#a7f3d0}
body.dark-platform .sfr-aex-validation article.risk{background:#331720;border-color:#5f2531}
body.dark-platform .sfr-aex-validation article.watch{background:#302512;border-color:#5f4b1f}
body.dark-platform .sfr-aex-validation article.good{background:#122f25;border-color:#225545}
body.dark-platform .sfr-aex-scenario-box>strong{background:#102b23;color:#a7f3d0}
body.dark-platform .sfr-aex-scenario-box>div{border-color:#25374d}
body.dark-platform .sfr-aex-scenario-box span{color:#b6c6d8}
body.dark-platform .sfr-aex-scenario-box b{color:#edf5ff}
.sfr-aex-viz-card{display:grid;gap:12px;padding:14px;border:1px solid var(--aex-line);border-radius:16px;background:var(--aex-soft)}
.sfr-aex-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sfr-aex-chart-head strong,.sfr-aex-chart-head span{display:block}
.sfr-aex-chart-head strong{color:var(--aex-ink);font-size:14px}
.sfr-aex-chart-head span{margin-top:3px;color:var(--aex-muted);font-size:12.5px;line-height:1.7}
.sfr-aex-chart-legend{display:flex;gap:12px;flex-wrap:wrap}
.sfr-aex-chart-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--aex-muted);font-size:12px}
.sfr-aex-chart-legend i{width:12px;height:12px;border-radius:999px;background:var(--sw,#2563eb);display:inline-block;box-shadow:0 0 0 3px color-mix(in srgb,var(--sw,#2563eb) 18%,transparent)}
.sfr-aex-svg{width:100%;height:auto;display:block}
.sfr-aex-compare-chart,.sfr-aex-pareto-chart,.sfr-aex-supplier-chart,.sfr-aex-scenario-visual,.sfr-aex-report-visuals{display:grid;gap:12px}
.sfr-aex-compare-chart article,.sfr-aex-pareto-chart article,.sfr-aex-supplier-chart article{padding:12px;border:1px solid var(--aex-line);border-radius:14px;background:var(--aex-card)}
.sfr-aex-compare-chart header,.sfr-aex-supplier-chart header,.sfr-aex-pareto-chart article{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sfr-aex-compare-chart header strong,.sfr-aex-supplier-chart header strong,.sfr-aex-pareto-chart strong{color:var(--aex-ink);font-size:13.5px}
.sfr-aex-compare-chart header span,.sfr-aex-supplier-chart header span,.sfr-aex-pareto-chart span{color:var(--aex-muted);font-size:12px}
.sfr-aex-compare-bars{display:grid;gap:8px;margin-top:9px}
.sfr-aex-compare-bars>div,.sfr-aex-supplier-chart footer,.sfr-aex-scenario-visual article{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:10px;align-items:center}
.sfr-aex-compare-bars>div span,.sfr-aex-scenario-visual span{color:var(--aex-muted);font-size:12px;font-weight:700}
.sfr-aex-compare-bars i,.sfr-aex-supplier-chart i,.sfr-aex-pareto-chart i,.sfr-aex-scenario-visual i{position:relative;display:block;height:10px;border-radius:999px;background:color-mix(in srgb,var(--aex-line) 70%,#fff);overflow:hidden}
.sfr-aex-compare-bars i b,.sfr-aex-supplier-chart i span,.sfr-aex-pareto-chart i span,.sfr-aex-scenario-visual i b{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#10b981,#34d399)}
.sfr-aex-compare-bars i.budget b,.sfr-aex-scenario-visual i.scenario b{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.sfr-aex-compare-bars em,.sfr-aex-supplier-chart em,.sfr-aex-pareto-chart em,.sfr-aex-scenario-visual em{color:var(--aex-ink);font:800 12.5px/1.2 "JetBrains Mono",monospace;font-style:normal;white-space:nowrap}
.sfr-aex-pareto-chart article{grid-template-columns:34px minmax(0,1fr) minmax(110px,1fr) auto;display:grid;align-items:center}
.sfr-aex-pareto-chart b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--aex-primary) 10%,#fff);color:var(--aex-primary);font-family:"JetBrains Mono",monospace}
.sfr-aex-supplier-chart footer{margin-top:8px;grid-template-columns:minmax(0,1fr) auto}
.sfr-aex-supplier-chart small{color:var(--aex-muted);font-size:11.5px}
.sfr-aex-metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sfr-aex-metric-strip article{padding:14px;border:1px solid var(--aex-line);border-radius:12px;background:var(--aex-card)}
.sfr-aex-metric-strip span{display:block;color:var(--aex-muted);font-size:12px}
.sfr-aex-metric-strip strong{display:block;margin-top:4px;color:var(--aex-ink);font:800 14px/1.3 "JetBrains Mono",monospace}
.sfr-aex-scenario-visual article{padding:12px;border:1px solid var(--aex-line);border-radius:12px;background:var(--aex-card)}
.sfr-aex-report{gap:18px}
.sfr-aex-report-page{width:min(100%,210mm);margin:auto;padding:19mm 16mm;border-radius:6px;font-family:"Tajawal",Arial,sans-serif;line-height:1.7}
.sfr-aex-report-page.cover{background:linear-gradient(145deg,#ffffff,#edf7fc)}
.sfr-aex-report-title h1{font-size:30px;line-height:1.35;margin:9px 0 12px}
.sfr-aex-report-title p{font-size:14px}
.sfr-aex-report-meta span,.sfr-aex-report-grid span{font-size:10.8px}
.sfr-aex-report-meta strong,.sfr-aex-report-grid strong{font-size:13px;line-height:1.55}
.sfr-aex-report-head{padding-bottom:11px;margin-bottom:16px}
.sfr-aex-report-head span{font-size:12px}
.sfr-aex-report-head h2{font-size:22px}
.sfr-aex-report-head small{font-size:11.2px}
.sfr-aex-report-score{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid #dce5ee;border-radius:12px;background:#fbfdff}
.sfr-aex-report-score strong{font-size:22px}
.sfr-aex-report-page h3{font-size:17px;margin:18px 0 10px;color:#163f70}
.sfr-aex-report-narrative p,.sfr-aex-methodology p,.sfr-aex-report-list span,.sfr-aex-report-note{font-size:13px;line-height:1.9;color:#42566f}
.sfr-aex-report-table-wrap{overflow:hidden;border:1px solid #dce5ee;border-radius:10px}
.sfr-aex-report-table-wrap table{width:100%;border-collapse:collapse}
.sfr-aex-report-table-wrap th,.sfr-aex-report-table-wrap td{padding:8px 10px;border-bottom:1px solid #e5edf5;font-size:12.2px;vertical-align:top;white-space:normal}
.sfr-aex-report-table-wrap th{background:#f3f7fb;color:#4c627a;font-weight:800}
.sfr-aex-report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sfr-aex-report-grid .span-all,.sfr-aex-report-visuals .span-all{grid-column:1/-1}
.sfr-aex-report-visual{padding:0;border:0;background:transparent}
.sfr-aex-report-list,.sfr-aex-methodology{display:grid;gap:10px}
.sfr-aex-report-list article,.sfr-aex-methodology article{padding:12px;border:1px solid #dce5ee;border-radius:10px;background:#fbfdff}
.sfr-aex-report-list strong,.sfr-aex-methodology h3{display:block;margin:0 0 4px;color:#163f70;font-size:13.5px}
.sfr-aex-report-note{margin-top:16px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}
@media (max-width:1024px){.sfr-aex-metric-strip,.sfr-aex-validation,.sfr-aex-opportunity-grid,.sfr-aex-report-grid{grid-template-columns:1fr}.sfr-aex-pareto-chart article{grid-template-columns:34px 1fr}.sfr-aex-pareto-chart i,.sfr-aex-pareto-chart em{grid-column:2}.sfr-aex-compare-bars>div,.sfr-aex-scenario-visual article{grid-template-columns:60px 1fr}.sfr-aex-compare-bars em,.sfr-aex-scenario-visual em{grid-column:2}}
@media print{.sfr-aex-report-page{width:auto!important;min-height:297mm;padding:17mm 15mm!important;font-size:12px}.sfr-aex-report-title h1{font-size:28px}.sfr-aex-report-head h2{font-size:20px}.sfr-aex-report-table-wrap th,.sfr-aex-report-table-wrap td{font-size:11.2px;padding:7px 8px}.sfr-aex-report-list article,.sfr-aex-methodology article,.sfr-aex-report-score{break-inside:avoid-page;page-break-inside:avoid}.sfr-aex-report-visuals,.sfr-aex-report-grid{grid-template-columns:1fr 1fr}.sfr-aex-viz-card{box-shadow:none!important}.sfr-aex-svg{max-height:185mm}}

/* 4.7.5 — explicit visual-analysis section and hard dark-mode contrast fixes */
.sfr-aex-charts-section{margin:16px 0 18px;padding:16px;border:1px solid var(--aex-line);border-radius:18px;background:color-mix(in srgb,var(--aex-card) 92%,var(--aex-soft));box-shadow:0 12px 32px rgba(15,49,95,.06)}
.sfr-aex-charts-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 14px;padding:0 2px 13px;border-bottom:1px solid var(--aex-line)}
.sfr-aex-charts-title span{display:block;color:var(--aex-teal);font:800 11.5px/1.2 "JetBrains Mono",monospace;letter-spacing:.05em}
.sfr-aex-charts-title h2{margin:5px 0 4px;color:var(--aex-ink);font-size:19px}
.sfr-aex-charts-title p{margin:0;color:var(--aex-muted);font-size:13px;line-height:1.75}
.sfr-aex-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sfr-aex-charts-grid .wide{min-width:0}
body.dark-platform .sfr-aex-charts-section{background:#0d1b2d;border-color:#29415d;box-shadow:0 15px 38px rgba(0,0,0,.2)}
body.dark-platform .sfr-aex-charts-title{border-color:#29415d}
body.dark-platform .sfr-aex-charts-title h2{color:#f1f6fc!important}
body.dark-platform .sfr-aex-charts-title p{color:#b2c4d7!important}
body.dark-platform .sfr-aex-validation article{background:#102033!important;border-color:#2b425d!important}
body.dark-platform .sfr-aex-validation article.risk{background:#351923!important;border-color:#6b2b3b!important}
body.dark-platform .sfr-aex-validation article.watch{background:#332812!important;border-color:#69531f!important}
body.dark-platform .sfr-aex-validation article.good{background:#123126!important;border-color:#285d4c!important}
body.dark-platform .sfr-aex-validation strong,body.dark-platform .sfr-aex-alerts strong,body.dark-platform .sfr-aex-opportunity-grid strong,body.dark-platform .sfr-aex-pareto-row strong,body.dark-platform .sfr-aex-metric-list strong,body.dark-platform .sfr-aex-supplier-chart strong,body.dark-platform .sfr-aex-compare-chart strong,body.dark-platform .sfr-aex-chart-head strong{color:#f2f7fc!important}
body.dark-platform .sfr-aex-validation span,body.dark-platform .sfr-aex-alerts span,body.dark-platform .sfr-aex-opportunity-grid span,body.dark-platform .sfr-aex-pareto-row span,body.dark-platform .sfr-aex-metric-list span,body.dark-platform .sfr-aex-supplier-chart small,body.dark-platform .sfr-aex-chart-head span{color:#b7c7d8!important}
body.dark-platform .sfr-aex-badge.good{background:#16392c!important;color:#b7f7d8!important;border:1px solid #2e6d55}
body.dark-platform .sfr-aex-badge.watch{background:#3b3012!important;color:#ffe49a!important;border:1px solid #735d23}
body.dark-platform .sfr-aex-badge.risk{background:#3d1822!important;color:#ffd0d8!important;border:1px solid #7a3043}
body.dark-platform .sfr-aex-pareto-row>b{background:#1a3552!important;color:#e6f1ff!important;border:1px solid #365b81}
body.dark-platform .sfr-aex-scenario-box>strong{background:#15362b!important;color:#c7f9df!important;border:1px solid #2f6b55}
body.dark-platform .sfr-aex-scenario-box>div{border-color:#2a4059!important}
body.dark-platform .sfr-aex-scenario-box span{color:#bfd0df!important}
body.dark-platform .sfr-aex-scenario-box b{color:#f1f6fc!important}
body.dark-platform .sfr-aex-viz-card{background:#112136!important;border-color:#2a4059!important}
body.dark-platform .sfr-aex-compare-chart article,body.dark-platform .sfr-aex-pareto-chart article,body.dark-platform .sfr-aex-supplier-chart article,body.dark-platform .sfr-aex-scenario-visual article,body.dark-platform .sfr-aex-metric-strip article{background:#0d1d30!important;border-color:#29415d!important}
body.dark-platform .sfr-aex-compare-bars i,body.dark-platform .sfr-aex-supplier-chart i,body.dark-platform .sfr-aex-pareto-chart i,body.dark-platform .sfr-aex-scenario-visual i{background:#24384f!important}
@media (max-width:900px){.sfr-aex-charts-grid{grid-template-columns:1fr}.sfr-aex-charts-section{padding:12px}}
