/* AL AMAL v1.9 — client dashboard (research-based redesign, 2026-10-07) */
:root{--dx-bg:#0B0E13;--dx-s1:#11151C;--dx-s2:#171C24;--dx-line:rgba(255,255,255,.06);--dx-text:#E6E8EB;--dx-muted:#9AA3AE;--dx-dim:#7D8691;--dx-acc:var(--green,#A6FF4D);--dx-ink:#06110A;--dx-up:#3DD68C;--dx-down:#F0616D;--dx-warn:#F5B94A;--dx-blue:#6EA8FE;--dx-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
/* account shell */
.account-app:has(.dx-dash) .account-heading{display:none}
.account-side{background:var(--dx-s1)!important;border-color:var(--dx-line)!important;border-radius:18px}
.account-side button{position:relative;border-radius:10px;color:#C3CAD2}
.account-side button.active{color:var(--dx-text)!important;background:var(--dx-s2)!important;font-weight:600}
.account-side button.active::before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--dx-acc)}
.account-side button.active .ui-icon{color:var(--dx-acc)}
.account-side-label,.account-side-group small{color:var(--dx-dim)!important}
.dx-fab{place-self:center;width:54px!important;height:54px;margin-top:-24px;border-radius:50%!important;background:var(--dx-acc)!important;color:var(--dx-ink)!important;display:grid!important;place-items:center;box-shadow:0 0 0 6px var(--dx-bg);padding:0!important}
.dx-fab span{font-size:28px!important;line-height:1;font-weight:500}
/* dashboard */
.dx-dash{display:flex;flex-direction:column;gap:20px;color:var(--dx-text)}
.dx-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dx-hello{margin:0;font-family:"Alexandria","IBM Plex Sans Arabic",sans-serif;font-weight:700;font-size:clamp(24px,2.4vw,30px)}
.dx-sub{color:var(--dx-muted);font-size:14px}
.dx-banner{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;font:inherit;font-size:14px;font-weight:600;border:1px solid transparent}
.dx-banner .ui-icon{width:16px;height:16px}
.dx-banner-warn{background:rgba(245,185,74,.1);border-color:rgba(245,185,74,.3);color:#F5C978;cursor:pointer}
.dx-banner-ok{background:rgba(61,214,140,.08);border-color:rgba(61,214,140,.25);color:#7BE3AF}
.dx-banner-info{display:flex;justify-content:space-between;flex-wrap:wrap;background:var(--dx-s1);border-color:var(--dx-line);color:var(--dx-text);font-weight:500}
.dx-banner-info>span{display:flex;align-items:center;gap:8px}
.dx-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.dx-span8{grid-column:span 8;min-width:0}.dx-span4{grid-column:span 4;min-width:0}
.dx-card{border-radius:18px;background:var(--dx-s1);border:1px solid var(--dx-line);padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.dx-card h2{margin:0;font-size:18px;font-weight:700}
.dx-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dx-head>div:first-child{display:flex;flex-direction:column;gap:4px}
.dx-head>div:first-child>span{color:var(--dx-muted);font-size:14px}
.dx-label{display:flex;align-items:center;gap:8px;color:var(--dx-muted);font-size:14px}
.dx-mono,.dx-total,.dx-kpis b,.dx-prog b,.dx-layers b,.dx-res-amt b,.dx-need b,.dx-ring b,.dx-alloc li b,.dx-count,.dx-tabs em{font-family:var(--dx-mono);font-variant-numeric:tabular-nums}
.dx-up{color:var(--dx-up)!important}.dx-down{color:var(--dx-down)!important}
/* buttons */
.dx-btn{height:46px;padding:0 20px;border-radius:99px;border:1px solid transparent;font:inherit;font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap;text-decoration:none}
.dx-btn-sm{height:38px;padding:0 15px;font-size:14px}
.dx-btn-primary{background:var(--dx-acc);color:var(--dx-ink)}
.dx-btn-soft{background:var(--dx-s2);color:var(--dx-text);font-weight:600}
.dx-btn-ghost{background:transparent;color:#C3CAD2;border-color:rgba(255,255,255,.12);font-weight:500}
.dx-btn-outline{background:transparent;color:color-mix(in srgb,var(--dx-acc) 75%,#fff);border-color:color-mix(in srgb,var(--dx-acc) 40%,transparent);font-weight:600}
.dx-btn:hover{filter:brightness(1.08)}
.dx-link{border:0;background:none;padding:4px 0;color:var(--dx-acc);font:inherit;font-weight:600;font-size:14px;cursor:pointer;align-self:flex-start}
/* balance */
.dx-bal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.dx-bal-main{display:flex;flex-direction:column;gap:8px}
.dx-eye{width:32px;height:32px;border-radius:8px;border:0;background:var(--dx-s2);display:grid;place-items:center;cursor:pointer;color:var(--dx-muted)}
.dx-eye svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.dx-total{font-size:clamp(32px,3.4vw,44px);font-weight:700;line-height:1.1;text-align:start}
.dx-total small{font-size:.45em;color:var(--dx-muted)}
.dx-today{font-size:14px;color:var(--dx-muted)}
.dx-today b{font-family:var(--dx-mono);margin-inline-start:6px}
.dx-actions{display:flex;gap:8px;flex-wrap:wrap}
.dx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dx-kpis>div{border-radius:12px;background:var(--dx-s2);padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.dx-kpis span{font-size:13px;color:var(--dx-muted)}
.dx-kpis b{font-size:18px;text-align:start}
.dx-chart-box{border-radius:14px;min-height:140px;display:flex}
.dx-chart{width:100%;height:150px}
.dx-chart-empty{flex:1;border:1px dashed rgba(255,255,255,.1);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px;text-align:center}
.dx-chart-empty .dx-link{align-self:center}
/* hidden balances */
.dx-hidden .dx-sens{position:relative;color:transparent!important;user-select:none}
.dx-hidden .dx-sens::after{content:"••••";position:absolute;inset-inline-start:0;top:0;color:var(--dx-text)}
/* allocation */
.dx-alloc{align-items:stretch}
.dx-ring{width:170px;height:170px;border-radius:50%;margin:4px auto;display:grid;place-items:center;-webkit-mask:radial-gradient(circle,transparent 0 58%,#000 59%);mask:radial-gradient(circle,transparent 0 58%,#000 59%);position:relative}
.dx-alloc>.dx-ring{-webkit-mask:none;mask:none}
.dx-ring>span{width:118px;height:118px;border-radius:50%;background:var(--dx-s1);display:flex;flex-direction:column;align-items:center;justify-content:center}
.dx-ring b{font-size:18px}.dx-ring small{font-size:12px;color:var(--dx-muted)}
.dx-alloc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.dx-alloc li{display:flex;align-items:center;gap:8px}
.dx-alloc li i{width:10px;height:10px;border-radius:3px}
.dx-alloc li b{margin-inline-start:auto}
/* checklist */
.dx-bar{flex:0 1 260px;height:8px;border-radius:8px;background:var(--dx-s2);overflow:hidden}
.dx-bar i{display:block;height:100%;border-radius:8px;background:var(--dx-acc)}
.dx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.dx-step{border-radius:14px;background:var(--dx-s2);padding:14px;display:flex;flex-direction:column;gap:8px;min-height:104px}
.dx-step b{display:flex;align-items:center;gap:8px;font-size:15px}
.dx-step small{color:var(--dx-muted);font-size:13px;line-height:1.6}
.dx-step .dx-link{margin-top:auto;font-size:13px}
.dx-dot{width:22px;height:22px;flex-shrink:0;border-radius:50%;border:2px solid #3A424D;color:var(--dx-muted);display:grid;place-items:center;font-size:11px;font-family:var(--dx-mono)}
.dx-step.ok .dx-dot{background:var(--dx-acc);border-color:var(--dx-acc);color:var(--dx-ink);font-weight:700}
.dx-step.ok{opacity:.75}
/* reservations */
.dx-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--dx-bg);flex-wrap:wrap}
.dx-tabs button{height:36px;padding:0 13px;border-radius:9px;border:0;background:transparent;color:var(--dx-muted);font:inherit;font-size:14px;cursor:pointer}
.dx-tabs button.on{background:var(--dx-s2);color:var(--dx-text);font-weight:600}
.dx-tabs em{font-style:normal;margin-inline-start:4px;color:var(--dx-dim)}
.dx-tabs button.on em{color:var(--dx-warn)}
.dx-need{border-radius:12px;background:rgba(245,185,74,.08);border:1px solid rgba(245,185,74,.22);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.dx-res-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--dx-line);flex-wrap:wrap}
.dx-thumb{border-radius:12px;object-fit:cover;flex-shrink:0;display:grid;place-items:center;background:var(--dx-s2);font-weight:800;color:var(--dx-acc)}
.dx-res-main{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:4px}
.dx-res-main b{font-family:"Alexandria",sans-serif;text-align:start}
.dx-res-main b small{font-family:var(--dx-mono);color:var(--dx-muted);font-weight:500}
.dx-res-main span{font-size:13px;color:var(--dx-muted)}
.dx-res-main em{font-style:normal;font-family:var(--dx-mono);color:#C3CAD2}
.dx-res-amt{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:120px}
.dx-res-act{display:flex;gap:6px}
.dx-pill{font-style:normal;font-size:12px;padding:3px 10px;border-radius:99px;background:var(--dx-s2);color:#C3CAD2;white-space:nowrap}
.dx-pill-awaiting_funding{background:rgba(245,185,74,.12);color:#F5C978}
.dx-pill-reserved,.dx-pill-completed{background:rgba(61,214,140,.1);color:#7BE3AF}
.dx-pill-cancelled{background:var(--dx-s2);color:var(--dx-muted)}
.dx-pill-acc{background:color-mix(in srgb,var(--dx-acc) 12%,transparent);color:color-mix(in srgb,var(--dx-acc) 75%,#fff)}
.dx-note{margin:0;font-size:13px;color:var(--dx-dim);line-height:1.7}
.dx-empty{border-radius:14px;border:1px dashed rgba(255,255,255,.1);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.dx-empty small{color:var(--dx-muted);font-size:14px}
.dx-empty-big{padding:36px 20px}
/* tier */
.dx-tier-now{display:flex;align-items:center;gap:12px}
.dx-tier-now>span:last-child{display:flex;flex-direction:column}
.dx-tier-now b{font-size:17px}.dx-tier-now small{font-size:13px;color:var(--dx-muted)}
.dx-gem{width:48px;height:48px;border-radius:14px;background:var(--dx-s2);display:grid;place-items:center;color:var(--dx-acc)}
.dx-gem .ui-icon{width:22px;height:22px}
.dx-prog{display:flex;flex-direction:column;gap:8px}
.dx-prog>span{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.dx-prog small{color:var(--dx-muted)}
.dx-prog .dx-bar{flex:none;width:100%}
.dx-layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;text-align:center}
.dx-layers>div{border-radius:10px;background:var(--dx-s2);padding:10px 4px;display:flex;flex-direction:column}
.dx-layers small{font-size:11px;color:var(--dx-muted)}
.dx-ref{display:flex;gap:6px}
.dx-ref input{flex:1;min-width:0;height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--dx-line);background:var(--dx-bg);color:var(--dx-text);font-family:var(--dx-mono);font-size:12px}
/* tables */
.dx-table-wrap{overflow-x:auto}
.dx-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.dx-table th{text-align:start;color:var(--dx-muted);font-size:12px;font-weight:500;padding:8px 6px}
.dx-table td{padding:12px 6px;border-top:1px solid var(--dx-line);vertical-align:middle}
.dx-end{text-align:end}
.dx-asset{display:flex;align-items:center;gap:10px}
.dx-asset>span{display:flex;flex-direction:column;text-align:start}
.dx-asset b{font-family:"Alexandria",sans-serif}
.dx-asset small{font-family:var(--dx-mono);font-size:12px;color:var(--dx-muted)}
.dx-count{font-style:normal;color:var(--dx-muted);font-size:14px;margin-inline-start:6px}
/* activity */
.dx-act{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--dx-line)}
.dx-act>span:last-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.dx-act b{font-size:14px}.dx-act small{font-size:12px;color:var(--dx-muted)}
.dx-act-ic{width:36px;height:36px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;font-weight:700;background:var(--dx-s2);color:var(--dx-muted)}
.dx-act-warn{background:rgba(245,185,74,.12);color:var(--dx-warn)}
.dx-act-ok{background:rgba(61,214,140,.1);color:var(--dx-up)}
.dx-trust{margin:0;color:var(--dx-dim);font-size:13px;text-align:center}
@media (max-width:1100px){.dx-span8,.dx-span4{grid-column:span 12}}
@media (max-width:640px){.dx-card{padding:18px 16px;border-radius:18px}.dx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dx-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.dx-actions .dx-btn{padding:0 6px;font-size:13px;height:44px}.dx-res-act{width:100%}.dx-res-act .dx-btn{flex:1}.dx-res-amt{min-width:0}.dx-top .dx-banner{width:100%}.dx-dash{padding-bottom:90px}.dx-steps{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.dx-step{scroll-snap-align:start}}
