/* ================================================================ نصيح — finance workspace */
.fx{--ink:#0B2A6B;--mut:#6E83A6;--ln:#E2EBF6;--soft:#F6F9FD;--navy:#0A3B78;--blue:#1F6FEB;--up:#1F6FEB;--dn:#C8642B;
  position:relative;display:flex;flex-direction:column;gap:14px;font-family:'Plex Arabic',Tahoma,sans-serif;color:var(--ink);font-size:13.5px}
.fx .num{font-variant-numeric:tabular-nums}
.fx .mono{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;direction:ltr;text-align:right}
.fx-banner{padding:8px 14px;border-radius:10px;background:#FFF8EC;border:1px dashed #E9B65C;color:#8A5A00;font-size:12.5px;font-weight:600;text-align:center}
/* toolbar */
.fx-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}
.fx-title{display:flex;flex-direction:column}.fx-title h2{margin:0;font-size:22px;color:var(--navy)}.fx-title span{font-size:12.5px;color:var(--mut)}
.fx-seg{display:inline-flex;background:#fff;border:1px solid var(--ln);border-radius:10px;padding:3px;gap:2px}
.fx-seg button{border:0;background:none;height:32px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--mut)}
.fx-seg button.on{background:var(--navy);color:#fff}
.fx-sel{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 4px 0 10px;background:#fff;border:1px solid var(--ln);border-radius:10px;font-size:12.5px;color:var(--mut)}
.fx-sel select{border:0;background:none;font:inherit;font-weight:600;color:var(--ink);height:34px;max-width:170px;cursor:pointer}
.fx-sp{flex:1}
.fx-ib{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--ln);background:#fff;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--navy)}
.fx-ib svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fx-ib:hover,.fx-ib.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.fx-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.fx-pills{display:flex;gap:6px;flex-wrap:wrap}
.fx-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:999px;border:1px solid #CFE0FA;background:#EEF5FF;color:#0A5FC4;font-size:12px;font-weight:600}
.fx-pill span{font-size:15px;line-height:1}
/* tags */
.fx-tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.fx-tag.calc{background:#EEF5FF;color:#0A5FC4}.fx-tag.raw{background:#EEF3F7;color:#4C6390}.fx-tag.gen{background:#F3EEFD;color:#6A47C8}
/* summary */
.fx-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:16px 18px}
.fx-sum-gen{display:flex;flex-direction:column;gap:8px;padding-inline-end:16px;border-inline-end:1px solid var(--ln)}
.fx-sum-gen p{margin:0;font-size:15px;line-height:1.75;font-weight:600;color:var(--ink)}
.fx-ins{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fx-ins li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;font-size:13px;line-height:1.6}
.fx-src{border:0;background:none;color:var(--blue);font-weight:600;font-size:12px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
/* KPIs */
.fx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fx-kpi{position:relative;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.fx-kpi:hover,.fx-kpi:focus-visible{border-color:#B9D3F6;box-shadow:0 8px 22px -14px rgba(10,59,120,.45);outline:none}
.fx-kh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--mut);font-weight:600}
.fx-i{width:20px;height:20px;border-radius:50%;border:1px solid #C9D7EA;background:#fff;color:var(--mut);font:700 11px/1 Georgia,serif;display:grid;place-items:center;flex:none}
.fx-i:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.fx-kv{display:flex;align-items:baseline;gap:6px}.fx-kv b{font-size:26px;font-weight:700;color:var(--navy);line-height:1.2}.fx-kv small{color:var(--mut);font-size:12px}
.fx-kc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fx-kc em{font-style:normal;font-size:11.5px;color:var(--mut)}
.fx-kf{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--ln);font-size:11.5px;color:var(--mut)}
.fx-kf b{color:var(--ink)}
.fx-spark{width:100%;height:30px}
.fx-mbar{display:flex;gap:2px;height:8px;border-radius:999px;overflow:hidden;background:#EEF3FA}.fx-mbar i{display:block;height:100%}
.fx-d{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.fx-d b{font-weight:700}.fx-d i{font-style:normal;padding:1px 7px;border-radius:999px;font-size:11px}
.fx-d.good{color:#0B7A5F}.fx-d.good i{background:#E3F6F0}
.fx-d.bad{color:#B4512A}.fx-d.bad i{background:#FCEEE6}
.fx-d.flat,.fx-d.na{color:var(--mut)}.fx-d.na{font-weight:500;font-size:11.5px}
.fx-minis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.fx-mini{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}
.fx-mini:hover{border-color:#B9D3F6}
.fx-mini > b{font-size:18px;font-weight:700;color:var(--ink)}
.fx-mini.target{cursor:default;background:var(--soft);border-style:dashed}.fx-mini.target > b{font-size:14px;color:var(--mut)}
/* cards & grid */
.fx-grid{display:grid;gap:14px;align-items:stretch}.fx-grid.g21{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.fx-grid.g11{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-col{display:flex;flex-direction:column;gap:14px;min-width:0}.fx-col > .fx-card{flex:1}
.fx-card{position:relative;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:14px 16px;min-width:0;display:flex;flex-direction:column}
.fx-card > header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.fx-card h3{margin:0;font-size:15px;font-weight:700}
.fx-hx{display:flex;align-items:center;gap:6px}
.fx-hint{font-size:12px;color:var(--mut)}
.fx-tv{height:24px;padding:0 10px;border:1px solid var(--ln);background:#fff;border-radius:7px;font-size:11.5px;color:var(--navy);font-weight:600}
.fx-note{margin:8px 0 0;font-size:11.5px;color:var(--mut)}
.fx-legend{display:flex;gap:16px;font-size:12px;color:var(--mut);margin-top:4px}
.fx-legend span{display:inline-flex;align-items:center;gap:6px}.fx-legend i{width:14px;height:3px;border-radius:2px}
.fx-legend i.dash,.fx-tip i.dash{background:repeating-linear-gradient(90deg,#9AA7BA 0 4px,transparent 4px 7px)}
/* trend */
.fx-trend{position:relative}
.fx-trend svg{width:100%;height:auto;display:block;direction:ltr}
.fx-trend .g{stroke:#EEF2F7;stroke-width:1}
.fx-trend .ax{font-size:10.5px;fill:#8DA2C2;font-family:'Plex Arabic',Tahoma,sans-serif}
.fx-trend .cur{fill:none;stroke:#1F6FEB;stroke-width:2.2;stroke-linejoin:round}
.fx-trend .prev{fill:none;stroke:#9AA7BA;stroke-width:1.6;stroke-dasharray:4 3}
.fx-trend .xh{stroke:#B7C6DB;stroke-width:1}
.fx-trend .dot{fill:#1F6FEB;stroke:#fff;stroke-width:2}
.fx-tip{position:absolute;top:4px;width:170px;padding:8px 10px;border-radius:10px;background:#0B2A6B;color:#fff;font-size:12px;display:flex;flex-direction:column;gap:3px;pointer-events:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.fx-tip span{display:flex;align-items:center;gap:6px}.fx-tip span b{margin-right:auto}
.fx-tip i{width:12px;height:3px;border-radius:2px}
.fx-tip .up b{color:#9FD0FF}.fx-tip .dn b{color:#FFC59E}
/* bridge */
.fx-br-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:var(--soft);margin-bottom:10px}
.fx-br-top div{display:flex;flex-direction:column}.fx-br-top small{font-size:11px;color:var(--mut)}.fx-br-top b{font-size:15px}
.fx-br-ar{font-weight:700;font-size:13px;padding:2px 10px;border-radius:999px}.fx-br-ar.up{background:#E8F1FE;color:#0A5FC4}.fx-br-ar.dn{background:#FCEEE6;color:#B4512A}
.fx-bridge{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fx-bridge li{display:grid;grid-template-columns:96px minmax(0,1fr) 60px;align-items:center;gap:8px;font-size:12.5px;padding:3px 4px;border-radius:8px;cursor:pointer}
.fx-bridge li:hover{background:var(--soft)}
.fx-bridge .lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-bridge .tr{position:relative;height:14px;direction:ltr}
.fx-bridge .tr::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:#C9D5E6}
.fx-bridge .tr i{position:absolute;top:0;bottom:0;border-radius:3px}
.fx-bridge .tr i.up{left:50%;background:var(--up);border-radius:0 4px 4px 0}
.fx-bridge .tr i.dn{right:50%;background:#E07B39;border-radius:4px 0 0 4px}
.fx-bridge b{text-align:left;font-weight:700}.fx-bridge b.up{color:#0A5FC4}.fx-bridge b.dn{color:#B4512A}
/* tables */
.fx-tblw{overflow:auto;border:1px solid var(--ln);border-radius:12px}
.fx-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.fx-tbl th{position:sticky;top:0;background:#F2F7FD;color:var(--navy);font-weight:600;font-size:11.5px;padding:8px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--ln)}
.fx-tbl td{padding:8px 10px;border-top:1px solid #EEF3FA;text-align:left;white-space:nowrap;vertical-align:middle}
.fx-tbl tbody tr:first-child td{border-top:0}
.fx-tbl .tl{text-align:right;white-space:normal}
.fx-tbl td small{display:block;color:var(--mut);font-size:11px}
.fx-tbl tbody tr[data-drill],.fx-tbl tbody tr[data-doc]{cursor:pointer}
.fx-tbl tbody tr:hover td{background:#F7FAFE}
.fx-tbl td.due{color:#A86600;font-weight:600}
.fx-barc{position:relative;min-width:140px}
.fx-barc span{position:relative;z-index:1;font-weight:600}
.fx-barc i{position:absolute;right:10px;bottom:4px;height:4px;border-radius:999px;background:#1F6FEB;opacity:.85}
.fx-meter{display:inline-block;width:46px;height:6px;border-radius:999px;background:#EEF3FA;overflow:hidden;vertical-align:middle;margin-left:6px}
.fx-meter i{display:block;height:100%;background:#12A38A}
/* payers / list */
.fx-stack{display:flex;gap:2px;height:14px;border-radius:999px;overflow:hidden;margin-bottom:10px}
.fx-stack i{display:block;height:100%;cursor:pointer}
.fx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.fx-list li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 52px;align-items:center;gap:8px;padding:5px 4px;border-radius:8px;font-size:12.5px;cursor:pointer}
.fx-list li:hover{background:var(--soft)}
.fx-list li i{width:10px;height:10px;border-radius:3px}.fx-list b{font-weight:600}.fx-list em{font-style:normal;color:var(--mut);text-align:left}
/* aging */
.fx-aging{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;height:150px}
.fx-aging > div{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;cursor:pointer;border-radius:8px;padding:2px 0}
.fx-aging > div:hover{background:var(--soft)}
.fx-aging b{font-size:12.5px}.fx-aging small{font-size:11.5px;color:var(--ink);font-weight:600}.fx-aging em{font-style:normal;font-size:11px;color:var(--mut)}
.fx-aging .col{flex:1;width:60%;display:flex;align-items:flex-end}
.fx-aging .col i{display:block;width:100%;border-radius:4px 4px 0 0;min-height:3px}
/* services */
.fx-hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fx-hbars li{display:grid;grid-template-columns:130px minmax(0,1fr) 54px 72px;align-items:center;gap:10px;font-size:12.5px;padding:4px;border-radius:8px;cursor:pointer}
.fx-hbars li:hover{background:var(--soft)}
.fx-hbars .lb{display:flex;flex-direction:column;line-height:1.3}.fx-hbars .lb small{font-size:10.5px;color:var(--mut)}
.fx-hbars .tr{height:10px;background:#F1F5FA;border-radius:999px;overflow:hidden}
.fx-hbars .tr i{display:block;height:100%;background:#1F6FEB;border-radius:999px}
.fx-hbars b{text-align:left;font-weight:600}
.fx-hbars em{font-style:normal;font-size:11px;color:var(--mut);text-align:left}.fx-hbars em.hi{color:#B4512A;font-weight:700}
/* heatmap */
.fx-heat{display:grid;grid-template-columns:56px repeat(var(--cols),minmax(0,1fr));gap:3px;direction:rtl}
.fx-heat small{font-size:10px;color:var(--mut);text-align:center}.fx-heat small.d{text-align:right;font-size:11px;color:var(--ink);align-self:center}
.fx-heat i{display:block;aspect-ratio:1.4;border-radius:3px;cursor:pointer;min-height:14px}
.fx-heat i:hover{outline:2px solid #0B2A6B;outline-offset:1px}
.fx-scale{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:var(--mut)}
.fx-scale i{width:110px;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(31,111,235,.1),rgba(31,111,235,.95))}
.fx-scale em{font-style:normal;margin-right:auto}
/* unavailable / follow / dict */
.fx-na{background:var(--soft);border-style:dashed}
.fx-na ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fx-na li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--ln);font-size:12.5px}
.fx-na li span{color:var(--mut);font-size:12px;line-height:1.6}
.fx-follow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fx-follow > span{font-size:12.5px;color:var(--mut);font-weight:600}
.fx-follow button{height:34px;padding:0 14px;border-radius:999px;border:1px solid #CFE0FA;background:#fff;color:#0A5FC4;font-size:12.5px;font-weight:600}
.fx-follow button:hover{background:#0A5FC4;color:#fff}
.fx-dict summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.fx-dict summary::-webkit-details-marker{display:none}
.fx-dict summary span{font-size:12px;color:var(--mut)}
.fx-dict summary::after{content:"▾";margin-right:auto;color:var(--mut)}
.fx-dict[open] summary{margin-bottom:10px}
.fx-dict .fx-tbl td{white-space:normal;min-width:110px;line-height:1.6}
/* drawer & popover */
.fx-drawer{position:fixed;top:0;bottom:0;left:0;width:min(560px,100%);z-index:120;background:#fff;box-shadow:20px 0 50px -20px rgba(3,14,34,.45);display:flex;flex-direction:column;animation:fxIn .25s both}
@keyframes fxIn{from{transform:translateX(-30px);opacity:0}}
.fx-drawer > header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ln)}
.fx-drawer h3{margin:0;font-size:16px}.fx-drawer small{font-size:12px;color:var(--mut)}
.fx-drawer > header button{width:34px;height:34px;border-radius:10px;border:1px solid var(--ln);background:#fff;font-size:20px;line-height:1;color:var(--mut)}
.fx-dbody{flex:1;overflow:auto;padding:14px 16px}
.fx-dsum{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--mut);margin-bottom:10px}.fx-dsum b{color:var(--ink)}
.fx-load{display:flex;align-items:center;gap:8px;color:var(--mut)}
.fx-pop{position:absolute;z-index:60;width:330px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--ln);box-shadow:0 18px 40px -16px rgba(10,59,120,.45);font-size:12.5px}
.fx-pop > b{font-size:14px;color:var(--navy)}.fx-pop p{margin:6px 0 8px;line-height:1.6}
.fx-pop dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:4px 8px;margin:0}.fx-pop dt{color:var(--mut)}.fx-pop dd{margin:0;line-height:1.5}
/* responsive */
@media (max-width:1180px){ .fx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} .fx-minis{grid-template-columns:repeat(3,minmax(0,1fr))} .fx-grid.g21,.fx-grid.g11{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .fx-summary{grid-template-columns:minmax(0,1fr)} .fx-sum-gen{padding:0 0 12px;border:0;border-bottom:1px solid var(--ln)} .fx-na ul{grid-template-columns:minmax(0,1fr)} .fx-minis{grid-template-columns:repeat(2,minmax(0,1fr))} .fx-kpis{grid-template-columns:minmax(0,1fr)} .fx-ib span{display:none} .fx-hbars li{grid-template-columns:96px minmax(0,1fr) 46px} .fx-hbars em{display:none} }
@media (prefers-reduced-motion:reduce){ .fx *{animation:none !important;transition:none !important} }
