/* ==========================================================================
   GENINA — نظام التصميم الموحد (لاڤندر + ريتش) — RTL، فاتح/داكن، آيفون
   الهوية تُختار بـ html[data-co] والوضع بـ html[data-theme]. كل لون يأتي من رمز (token).
   ========================================================================== */

/* ===== 0) الخط المعتمد: Tajawal (Boutros Fonts، رخصة SIL OFL 1.1 — public/fonts/tajawal/OFL.txt) — مستضاف داخل النظام ===== */
@font-face{font-family:"Tajawal";src:url(/fonts/tajawal/Tajawal-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Tajawal";src:url(/fonts/tajawal/Tajawal-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Tajawal";src:url(/fonts/tajawal/Tajawal-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Tajawal";src:url(/fonts/tajawal/Tajawal-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}

/* ===== 1) الرموز: لاڤندر فاتح (الافتراضي) ===== */
:root{
  --font:"Tajawal",system-ui,-apple-system,"SF Arabic","Segoe UI",Tahoma,sans-serif;
  --r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:28px;
  --side-w:272px;--top-h:60px;--tab-h:64px;
  --bg:#FBF7F8;--bg-2:#F4ECEF;--surface:#FFFFFF;--surface-2:#FCF8F9;--raise:#FFFFFF;
  --ink:#24131A;--ink-2:#4E3640;--muted:#7F6670;--line:#EEDFE4;--line-2:#E2CDD5;
  --pri:#A3294A;--pri-2:#7E1D38;--pri-ink:#FFFFFF;--soft:#FBE9EE;--ring:rgba(163,41,74,.28);
  --accent:#B88A2E;--accent-soft:#F7EFDC;
  --ok:#23704A;--ok-soft:#E2F2E8;--warn:#9A5418;--warn-soft:#FBEEDD;--bad:#B0233E;--bad-soft:#FBE3E8;--info:#2D5BA8;--info-soft:#E6EEFB;
  --side-bg:radial-gradient(120% 70% at 100% 0%,#6B1A33 0%,#3A0D1D 55%,#22070F 100%);
  --side-ink:#FBEFF2;--side-muted:#D6AEBB;--side-line:rgba(255,255,255,.10);--side-hover:rgba(255,255,255,.07);--side-on:rgba(255,255,255,.14);--side-mark:#E4BD6B;
  --shadow-1:0 1px 2px rgba(36,19,26,.05),0 1px 1px rgba(36,19,26,.03);
  --shadow-2:0 10px 30px -14px rgba(60,20,35,.22);
  --shadow-3:0 28px 60px -24px rgba(40,10,25,.38);
  --glass:rgba(255,255,255,.78);
  color-scheme:light;
}
/* لاڤندر داكن */
[data-theme="dark"]{
  --bg:#120A0F;--bg-2:#180E14;--surface:#1D1219;--surface-2:#22161E;--raise:#281A23;
  --ink:#F5ECF0;--ink-2:#E0CFD7;--muted:#B39BA6;--line:#34232C;--line-2:#45303B;
  --pri:#F08AA6;--pri-2:#FFB1C6;--pri-ink:#2A0A14;--soft:#3A1724;--ring:rgba(240,138,166,.32);
  --accent:#E2BE6A;--accent-soft:#3A2E16;
  --ok:#7FD0A2;--ok-soft:#173527;--warn:#EBC06A;--warn-soft:#382B12;--bad:#FF8C9C;--bad-soft:#3F1A22;--info:#93B5F2;--info-soft:#18243A;
  --side-bg:radial-gradient(120% 70% at 100% 0%,#3A0F20 0%,#1A070F 60%,#0E0408 100%);
  --shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 14px 34px -16px rgba(0,0,0,.7);--shadow-3:0 30px 70px -24px rgba(0,0,0,.85);
  --glass:rgba(29,18,25,.78);
  color-scheme:dark;
}
/* ريتش فاتح */
:root[data-co="reach"]{
  --bg:#F5F7FB;--bg-2:#EBEFF6;--surface:#FFFFFF;--surface-2:#F8FAFD;--raise:#FFFFFF;
  --ink:#0B1A33;--ink-2:#2A3A57;--muted:#5D6A84;--line:#E2E7F0;--line-2:#CFD7E5;
  --pri:#F2470F;--pri-2:#C93A08;--pri-ink:#FFFFFF;--soft:#FFEEE6;--ring:rgba(242,71,15,.26);
  --accent:#2B5CE6;--accent-soft:#E7EEFF;
  --side-bg:radial-gradient(120% 70% at 100% 0%,#13336E 0%,#071B42 55%,#020C22 100%);
  --side-ink:#EEF3FF;--side-muted:#9FB0D3;--side-mark:#FF6B33;
  --shadow-2:0 10px 30px -14px rgba(11,26,51,.20);--shadow-3:0 28px 60px -24px rgba(11,26,51,.36);
}
/* ريتش داكن */
:root[data-co="reach"][data-theme="dark"]{
  --bg:#070D1A;--bg-2:#0B1426;--surface:#0F1A30;--surface-2:#132039;--raise:#172745;
  --ink:#EAF0FB;--ink-2:#C9D4EA;--muted:#93A2C2;--line:#1F2E4D;--line-2:#2A3C61;
  --pri:#FF7A45;--pri-2:#FF9C73;--pri-ink:#1A0A02;--soft:#3A1C0E;--ring:rgba(255,122,69,.32);
  --accent:#7EA2FF;--accent-soft:#16244A;
  --side-bg:radial-gradient(120% 70% at 100% 0%,#102A5C 0%,#06132E 60%,#020714 100%);
  --glass:rgba(15,26,48,.8);
}

/* ===== 2) الأساس ===== */
*{box-sizing:border-box}html,body{height:100%}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1200px 500px at 85% -10%,var(--bg-2),transparent 60%)}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}
a{color:var(--pri)}a:hover{color:var(--pri-2)}
:focus-visible{outline:2px solid var(--pri);outline-offset:2px;border-radius:6px}
h1,h2,h3,h4{line-height:1.3;letter-spacing:-.01em}
h2{font-size:20px;margin:0 0 6px}
.boot{padding:60px;text-align:center;color:var(--muted)}
.num{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.small{font-size:12.5px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1}.between{justify-content:space-between}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}
.wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
details summary{cursor:pointer}
::selection{background:var(--soft);color:var(--ink)}

/* ===== 3) الهيكل: قائمة جانبية + شريط علوي + صفحة ===== */
.shell{display:flex;min-height:100%}
.side{width:var(--side-w);flex:none;background:var(--side-bg);color:var(--side-ink);padding:18px 12px calc(14px + env(safe-area-inset-bottom));
  position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.04)}
.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 16px;border-bottom:1px solid var(--side-line)}
.brand .mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:800;font-size:19px;color:#fff;flex:none;
  background:linear-gradient(140deg,var(--side-mark),color-mix(in srgb,var(--side-mark) 55%,#000));box-shadow:0 8px 20px -8px var(--side-mark)}
.brand b{font-size:16.5px;display:block;letter-spacing:.01em}.brand small{display:block;color:var(--side-muted);font-size:12px}
.side .co-picker{margin:10px 2px 6px}
.side .co-picker label{font-size:11.5px;font-weight:700;display:block;margin:0 4px 6px;color:var(--side-muted);letter-spacing:.04em}
.side #companySwitch{width:100%;font-size:14px;font-weight:700;color:var(--side-ink);background:rgba(255,255,255,.08);border:1px solid var(--side-line);border-radius:12px;min-height:44px;padding:0 12px}
.side #companySwitch option{color:#111;background:#fff}
.nav,.genina-nav{display:block;flex:1}
.genina-nav-group{margin-top:2px}
.genina-nav-group>summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 10px;color:var(--side-muted);font-size:12px;font-weight:750;letter-spacing:.05em;list-style:none;border-radius:10px;user-select:none}
.genina-nav-group>summary::-webkit-details-marker{display:none}
.genina-nav-group>summary:hover{background:var(--side-hover);color:var(--side-ink)}
.genina-nav-group>summary .gi{width:18px;height:18px;flex:none;opacity:.9}
.genina-nav-group>summary .gt{flex:1}
.genina-nav-chevron{transition:transform .18s;font-size:16px;line-height:1}
.genina-nav-group[open] .genina-nav-chevron{transform:rotate(180deg)}
.genina-nav-links{display:grid;gap:2px;padding:0 4px 8px}
.genina-nav-links a,.nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:10px;padding:9px 12px;font-size:13.8px;color:var(--side-ink);text-decoration:none;position:relative;transition:background .15s}
.genina-nav-links a:hover{background:var(--side-hover)}
.genina-nav-links a.on{background:var(--side-on);font-weight:700}
.genina-nav-links a.on::before{content:"";position:absolute;inset-inline-start:-4px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--side-mark)}
.nav .ph{font-size:11px;font-weight:700;color:#fff;background:var(--side-mark);border-radius:20px;padding:0 7px;min-width:20px;text-align:center}
.side-foot{border-top:1px solid var(--side-line);padding:12px 6px 2px;display:flex;align-items:center;gap:10px}
.side-foot .avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:rgba(255,255,255,.12);flex:none}
.side-foot .who-name{font-size:13.5px;font-weight:700;line-height:1.3}.side-foot .who-role{font-size:11.5px;color:var(--side-muted)}
.side-foot .icon-btn{color:var(--side-ink);border-color:var(--side-line);background:rgba(255,255,255,.06)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;background:var(--glass);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line);padding:0 24px;min-height:var(--top-h);position:sticky;top:0;z-index:20}
.top h1{font-size:18px;font-weight:750;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .crumb{font-size:11.5px;color:var(--muted);display:block;font-weight:600;letter-spacing:.03em}
.who{font-size:13px;color:var(--muted)}
.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:0;font-size:17px;transition:all .15s}
.icon-btn:hover{border-color:var(--pri);color:var(--pri)}
.page{padding:24px;width:100%;max-width:1440px;margin-inline:auto;flex:1}
:root[data-co="reach"] .page{max-width:1320px}
.page>*{animation:rise .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ===== 4) المكونات ===== */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-1)}
.panel h3{margin:0 0 12px;font-size:15.5px;font-weight:750}
.panel h4{margin:12px 0 8px;font-size:13.5px;color:var(--ink-2)}
.panel>h2:first-child,.panel>.row:first-child h2{margin-top:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}
.card b{display:block;font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.02em}
a.card{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}
/* 2.3 الكاشير: بلاطة صنف قابلة للمس (نفس مكوّن card وألوانه) */
.pos-tile{display:flex;flex-direction:column;gap:4px;text-align:start;font:inherit;color:inherit;cursor:pointer;min-height:92px;touch-action:manipulation}.pos-tile:active{transform:scale(.98)}

/* بطاقات المؤشرات التنفيذية */
.kpis,.reach-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow-1);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;min-height:118px}
.kpi::after{content:"";position:absolute;inset-inline-end:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--soft);opacity:.55}
.kpi .k-label{font-size:12.5px;color:var(--muted);font-weight:650;position:relative;z-index:1;display:flex;align-items:center;gap:8px}
.kpi .k-ic{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--pri);font-size:15px}
.kpi .k-val{font-size:26px;font-weight:800;letter-spacing:-.02em;position:relative;z-index:1;line-height:1.15}
.kpi .k-sub{font-size:12px;color:var(--muted);position:relative;z-index:1}
.kpi .k-multi{display:grid;gap:2px;position:relative;z-index:1}.kpi .k-multi .num{font-size:17px;font-weight:750}
.kpi.tone-ok .k-ic{background:var(--ok-soft);color:var(--ok)}.kpi.tone-warn .k-ic{background:var(--warn-soft);color:var(--warn)}.kpi.tone-bad .k-ic{background:var(--bad-soft);color:var(--bad)}.kpi.tone-info .k-ic{background:var(--info-soft);color:var(--info)}
a.kpi{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}a.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);color:inherit}
.hero{border-radius:var(--r-xl);padding:24px 26px;margin-bottom:18px;color:#fff;position:relative;overflow:hidden;background:var(--side-bg);box-shadow:var(--shadow-3)}
.hero h2{font-size:24px;margin:0 0 6px;color:#fff}.hero p{margin:0;color:var(--side-muted)}
.hero .row{margin-top:16px}.hero .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.hero .btn.pri{background:var(--side-mark);border-color:var(--side-mark);color:#fff}
.hero::after{content:"";position:absolute;inset-inline-start:-80px;bottom:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,var(--side-mark),transparent);opacity:.25}
.dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 2px 12px}
.section-title h3{margin:0;font-size:16px}
/* الأزرار */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:11px;padding:8px 16px;font-weight:650;font-size:14px;min-height:38px;transition:all .15s;text-decoration:none;line-height:1.2}
.btn:hover:not(:disabled){border-color:var(--pri);color:var(--pri)}
a.btn{text-decoration:none;color:var(--ink)}
.btn.pri,a.btn.pri{background:linear-gradient(180deg,var(--pri),var(--pri-2));border-color:var(--pri-2);color:var(--pri-ink);box-shadow:0 6px 16px -8px var(--pri)}
.btn.pri:hover:not(:disabled){filter:brightness(1.06);color:var(--pri-ink)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.08);color:#fff}
.btn.ghost{border-color:transparent;background:none;color:var(--pri);box-shadow:none}
.btn.sm{padding:4px 11px;font-size:12.8px;min-height:30px;border-radius:9px}
/* الشارات */
.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:650;white-space:nowrap;background:var(--bg-2);color:var(--ink-2);line-height:1.6}
.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.lav{background:var(--soft);color:var(--pri)}
/* الحقول والنماذج */
.field{display:grid;gap:6px;min-width:0}.field label{font-size:12.8px;color:var(--ink-2);font-weight:650}
.input{width:100%;border:1px solid var(--line-2);background:var(--surface-2);border-radius:11px;padding:9px 12px;min-height:42px;transition:border-color .15s,box-shadow .15s}
.input:hover{border-color:color-mix(in srgb,var(--pri) 35%,var(--line-2))}
.input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 4px var(--ring);background:var(--surface)}
.input:disabled{opacity:.75;background:var(--bg-2)}
.input.bad{border-color:var(--bad);background:var(--bad-soft)}
textarea.input{min-height:96px;resize:vertical}
select.input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:left 16px center,left 11px center;background-size:5px 5px;background-repeat:no-repeat;padding-left:30px}
.reach-form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;margin:0 auto 22px;max-width:980px;box-shadow:var(--shadow-2);position:relative}
.reach-form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(90deg,var(--pri),var(--accent))}
.reach-form-heading{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.reach-form-heading h3{font-size:21px;margin:2px 0 4px}
.reach-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.07em;color:var(--pri);margin:0;text-transform:uppercase}
.reach-form-section{font-size:14px;font-weight:750;margin:20px 0 12px;padding-inline-start:12px;border-inline-start:3px solid var(--pri)}
.reach-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.reach-form-actions{justify-content:flex-start;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:4px}
.reach-form-actions .btn{min-width:130px;min-height:44px}
.reach-notes{margin-bottom:4px}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--surface);padding:3px;gap:3px}
.seg button,.seg .btn{border:none;background:none;padding:6px 14px;border-radius:9px;min-height:32px;box-shadow:none}
.seg button.on,.seg .btn.pri{background:var(--soft);color:var(--pri);font-weight:750}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1px solid var(--line-2);background:var(--surface);border-radius:20px;padding:5px 14px;font-size:13.5px}.chip.on{background:var(--pri);color:var(--pri-ink);border-color:var(--pri)}
.followers{display:flex;gap:8px;flex-wrap:wrap}.followers label{border:1px solid var(--line-2);border-radius:20px;padding:6px 14px;cursor:pointer;user-select:none;background:var(--surface)}
.followers label.on{background:var(--soft);border-color:var(--pri);color:var(--pri);font-weight:700}.followers input{display:none}
/* الجداول المتقدمة */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
th{text-align:start;color:var(--muted);font-weight:700;font-size:12.3px;letter-spacing:.02em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2);position:sticky;top:0;z-index:1}
thead th:first-child{border-start-start-radius:10px}thead th:last-child{border-start-end-radius:10px}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:color-mix(in srgb,var(--soft) 45%,transparent)}
tr.click{cursor:pointer}tr.click:focus-visible td{outline:2px solid var(--pri);outline-offset:-2px}
th.sortable{cursor:pointer;user-select:none}th.sortable::after{content:"↕";opacity:.35;margin-inline-start:6px;font-size:11px}
th[aria-sort="ascending"]::after{content:"↑";opacity:.9;color:var(--pri)}th[aria-sort="descending"]::after{content:"↓";opacity:.9;color:var(--pri)}
.panel>.wrap,.panel>table{border:1px solid var(--line);border-radius:12px}
.panel>.wrap>table th{top:0}
.tbl-tools{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.tbl-tools .input{max-width:280px;min-height:36px;padding:6px 12px}
.tbl-count{font-size:12px;color:var(--muted)}
/* بنود المستندات والمجاميع */
.lines td{padding:6px}.lines .input{padding:6px 9px;min-height:38px}.lines .tot{white-space:nowrap;font-weight:700}
table.lines tr.rl-isad td{background:var(--warn-soft)}.rl-adlbl{white-space:nowrap;display:inline-flex;gap:4px;align-items:center}table.lines td{vertical-align:middle}table.lines .input{min-width:0}.rl-total{white-space:nowrap;font-weight:700}
.doc-head h2{margin:2px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.doc-totals{display:grid;gap:6px;justify-content:end;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line-2)}
.doc-totals>div{display:flex;gap:24px;justify-content:space-between;min-width:280px}
.doc-totals .grand{font-size:18px;padding-top:8px;border-top:1px solid var(--line);font-weight:800}.doc-totals .grand b{color:var(--pri)}
.doc-actions{position:sticky;bottom:12px;z-index:6;box-shadow:var(--shadow-3);border-color:var(--line-2);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* شاشة الطلب الموحد (لاڤندر) */
.order{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.side-sum{position:sticky;top:calc(var(--top-h) + 12px)}
.sub td{background:var(--surface-2);border-bottom:1px solid var(--line)}.sub .comps{display:grid;gap:6px}
.alerts{display:grid;gap:6px}.alert{padding:9px 12px;border-radius:11px;font-size:13.5px;border:1px solid transparent}
.alert.error{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 25%,transparent)}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}
.tl{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line)}.tl:last-child{border-bottom:none}
.tl.big{font-size:19px;font-weight:800;border-top:1px solid var(--line);border-bottom:none;margin-top:6px;padding-top:10px}
.banner{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn);border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
.banner ul,.banner ol{margin:6px 0;padding-inline-start:22px}
.steps{display:flex;gap:6px;flex-wrap:wrap}.step{padding:5px 13px;border-radius:20px;background:var(--bg-2);color:var(--muted);font-size:13px;font-weight:600}.step.on{background:var(--pri);color:var(--pri-ink)}.step.done{background:var(--ok-soft);color:var(--ok)}
textarea.msg{width:100%;min-height:200px;font-family:inherit;border:1px solid var(--line-2);border-radius:12px;padding:12px;background:var(--surface-2)}
/* الرسوم */
.bars{display:flex;gap:8px;align-items:flex-end;height:130px;margin-top:12px}
.bar-g{flex:1;display:flex;gap:2px;align-items:flex-end;height:100%;position:relative;padding-bottom:18px}
.bar-g i{flex:1;border-radius:4px 4px 0 0;min-height:2px}
.bar-g small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:var(--muted)}
.bar{overflow:hidden}
.progress{height:7px;background:var(--bg-2);border-radius:7px;overflow:hidden;min-width:80px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pri),var(--accent));border-radius:7px}
.full .petal{transform-box:fill-box;transform-origin:center bottom;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{opacity:0}to{opacity:1}}
.full .cards .card,.full .order .panel{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
/* المشاريع والمهام */
.board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.board-col{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;min-height:140px}
.board-col h4{margin:0 0 10px;font-size:13px;display:flex;justify-content:space-between;color:var(--ink-2)}
.task{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px;box-shadow:var(--shadow-1);transition:box-shadow .15s}
.task:hover{box-shadow:var(--shadow-2)}.task.is-done{opacity:.65}.task p{margin:6px 0 0}
ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.overdue{color:var(--bad);font-weight:750}
/* القوائم المرئية: عناصر قائمة بسيطة */
.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}
.empty{text-align:center;padding:26px 12px;color:var(--muted)}.empty .e-ic{font-size:28px;display:block;margin-bottom:6px;opacity:.6}

/* البحث الشامل والإشعارات والمساعد والرسوم */
.gsearch-host{flex:0 1 340px;min-width:0}
.gsearch{position:relative}
.gsearch .input{min-height:40px;border-radius:12px;background:var(--surface-2);padding-inline-start:14px}
.gres{position:absolute;top:calc(100% + 6px);inset-inline:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);max-height:min(70vh,460px);overflow:auto;z-index:40;padding:6px}
.gr{display:grid;gap:2px;padding:9px 10px;border-radius:10px;color:var(--ink);text-decoration:none}.gr:hover,.gr:focus{background:var(--soft);color:var(--ink)}
.gr .pill{justify-self:start;font-size:11px}
.bell{position:relative;text-decoration:none}.msearch{display:none!important}
.bell-n{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;padding:0 4px;line-height:1}
.ai-answer{margin-top:14px;padding:16px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
.ai-text{white-space:pre-wrap;line-height:1.8}
.trend{width:100%;height:auto;color:var(--ink);display:block}
.chips .chip{cursor:pointer}
/* ===== 5) الطبقات العائمة ===== */
#toasts{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;gap:8px;z-index:200;pointer-events:none}
.toast{background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:14px;font-size:14px;font-weight:600;max-width:min(92vw,520px);box-shadow:var(--shadow-3);animation:rise .25s both}
.toast.bad{background:var(--bad);color:#fff}
.dlg{border:1px solid var(--line);border-radius:var(--r-xl);padding:0;width:min(480px,calc(100vw - 24px));background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3)}
.dlg::backdrop{background:rgba(10,6,12,.5);backdrop-filter:blur(3px)}
.dlg form{padding:22px 24px;display:grid;gap:14px;max-height:85vh;overflow:auto}
.dlg h3{margin:0;font-size:18px}.dlg p{margin:0;white-space:pre-line}
.dlg .field{display:grid;gap:6px}.dlg .dlg-err{color:var(--bad);min-height:1.2em;margin:0}
.dlg .dlg-actions{justify-content:flex-start;gap:10px;padding-top:6px}
.dlg .dlg-actions .btn{min-width:110px;min-height:44px}
.stg-banner{position:sticky;top:0;z-index:60;background:repeating-linear-gradient(135deg,#B45309 0 14px,#9A4507 14px 28px);color:#fff;text-align:center;font-size:12.5px;font-weight:750;padding:6px 12px;line-height:1.5;letter-spacing:.01em}
.login{max-width:420px;margin:10vh auto;padding:0 16px}
.login .panel{padding:28px;border-radius:var(--r-xl);box-shadow:var(--shadow-3)}
.login .brand{color:var(--ink);border:none;padding:0 0 18px}
.login .brand .mark{--side-mark:var(--pri)}
.login .brand small{color:var(--muted)}

/* ===== 6) الهاتف والآيفون: درج جانبي + شريط تبويب سفلي ===== */
.genina-menu-toggle{display:none}
.side-overlay{display:none}
.tabbar{display:none}
@media (max-width:1100px){.order{grid-template-columns:minmax(0,1fr)}.side-sum{position:static}}   /* minmax(0,…): يبقى جدول البنود قابلًا للتمرير داخل عرض الآيفون */
@media (max-width:900px){
  :root{--top-h:56px}
  body{font-size:15px}
  .genina-menu-toggle{display:inline-grid}
  .side{position:fixed;inset-block:0;inset-inline-start:0;z-index:90;width:min(86vw,320px);height:100dvh;transform:translateX(105%);transition:transform .26s cubic-bezier(.2,.7,.2,1);
    padding-top:calc(16px + env(safe-area-inset-top));box-shadow:var(--shadow-3)}
  .side.genina-mobile-open{transform:none}
  .side-overlay{display:block;position:fixed;inset:0;background:rgba(8,4,10,.45);backdrop-filter:blur(2px);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s}
  .side-overlay.on{opacity:1;pointer-events:auto}
  .top{padding:0 12px;padding-top:env(safe-area-inset-top);gap:8px}
  .top h1{font-size:16.5px}
  .top .who{display:none}
  .gsearch-host{position:absolute;inset-inline:12px;top:calc(var(--top-h) + env(safe-area-inset-top) + 4px);display:none}
  .gsearch-host.open,.gsearch-host:focus-within{display:block}
  .msearch{display:inline-grid!important}
  .top .bell{display:inline-grid}
  .page{padding:14px 12px calc(var(--tab-h) + 22px + env(safe-area-inset-bottom))}
  .panel{padding:16px;border-radius:var(--r)}
  .hero{padding:20px;border-radius:var(--r-lg)}.hero h2{font-size:20px}
  .kpis,.reach-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpi{min-height:104px;padding:13px}.kpi .k-val{font-size:21px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
  .reach-form-card{padding:18px}.reach-form-grid{grid-template-columns:1fr;gap:12px}
  .reach-form-actions .btn{flex:1;min-width:0}
  .doc-actions{bottom:calc(var(--tab-h) + 10px + env(safe-area-inset-bottom))}
  .doc-actions .btn{flex:1}
  .doc-totals{justify-content:stretch}.doc-totals>div{min-width:0}
  .board{grid-template-columns:repeat(4,minmax(240px,82vw));scroll-snap-type:x mandatory}.board-col{scroll-snap-align:start}
  /* منع التكبير التلقائي في iOS عند التركيز: 16px على الأقل */
  .input,select,textarea,input{font-size:16px}
  .btn,.input,button,select{min-height:44px}
  .btn.sm{min-height:36px}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset-inline:0;bottom:0;z-index:70;height:calc(var(--tab-h) + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);background:var(--glass);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-top:1px solid var(--line)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);text-decoration:none;font-size:10.5px;font-weight:650;border:none;background:none;min-height:0;padding:0}
  .tabbar .ti{font-size:20px;line-height:1}
  .tabbar a.on{color:var(--pri)}
  .tabbar a.on .ti{transform:translateY(-1px)}
  .tabbar .tab-main .ti{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(180deg,var(--pri),var(--pri-2));color:var(--pri-ink);box-shadow:0 8px 18px -8px var(--pri);font-size:22px}
  /* الجداول كبطاقات على الهاتف */
  table.rt thead{display:none}
  table.rt,table.rt tbody,table.rt tr,table.rt td{display:block;width:100%}
  table.rt tr{border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:6px 4px;background:var(--surface);box-shadow:var(--shadow-1)}
  table.rt td{border:none;padding:6px 10px;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:start}
  table.rt td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:650;flex:none;max-width:45%}
  table.rt td:empty{display:none}
  .panel>.wrap:has(table.rt){border:none}
}
@media (max-width:420px){.kpis,.reach-kpis,.cards{grid-template-columns:1fr 1fr}.kpi .k-val{font-size:19px}.top h1{font-size:15.5px}}

/* ===== 6.5) أوزان خط Tajawal المعتمدة (2.2): العناوين الرئيسية 800، الأقسام والقائمة 700، النصوص 500 =====
   الخط متوفر بالأوزان 400/500/700/800 فقط؛ لذا تُحدَّد الأوزان صراحة بدل القيم البينية (650/750). الألوان لا تتغير. */
body{font-weight:500}
[hidden]{display:none!important}   /* عنصر مخفي يبقى مخفيًا حتى لو كان لصنفه display (مثل شارة المزامنة .pill) */
h1,.top h1,.page h1,.hero h2,h2,.panel h2,.kpi .k-val,.login h2{font-weight:800}
h3,h4,.panel h3,.section-title h3,.board-col h4,.genina-nav-group>summary,.genina-nav-links a,.side #companySwitch,.side .co-picker label,
.btn,th,.pill,.seg button.on,.seg .btn.pri,.d-btn,.tabbar a,.tabbar button,b,strong{font-weight:700}
.genina-nav-links a.on{font-weight:800}
/* الأرقام: Tajawal بلا أرقام جدولية (عرض 1 أضيق من 8)، فلا تصطف المبالغ في أعمدة الجداول.
   لأعمدة الجداول المالية فقط: الأرقام والفاصلة والنقطة من خط الجهاز ذي الأرقام الجدولية (Segoe UI / Arial / Helvetica)،
   والنص العربي يبقى Tajawal. أرقام بطاقات المؤشرات الكبيرة تبقى بأرقام Tajawal. */
@font-face{font-family:"GNum";src:local("Segoe UI"),local("SegoeUI"),local("Arial"),local("ArialMT"),local("Helvetica Neue"),local("Roboto");font-weight:400 600;unicode-range:U+0030-0039,U+002C,U+002E}
@font-face{font-family:"GNum";src:local("Segoe UI Bold"),local("SegoeUI-Bold"),local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Neue Bold"),local("Roboto Bold");font-weight:700 900;unicode-range:U+0030-0039,U+002C,U+002E}
.num,.k-val,td.num{font-weight:700;font-variant-numeric:tabular-nums lining-nums}
table .num,td.num,table td .num,.tl b,.tl .num{font-family:"GNum",var(--font)}
/* عنوان الرأس على الهاتف: يلتف إلى سطرين بدل قصّه (Tajawal 800 أعرض) */
@media (max-width:620px){.top h1{white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.25}}   /* سطر اسم الشركة + سطران للعنوان */

/* ===== 7) الطباعة والحركة ===== */
@media print{.side,.top,.tabbar,.side-overlay,.stg-banner,.noprint,.doc-actions{display:none!important}body{background:#fff}.page{padding:0;max-width:none}.panel{border:none;box-shadow:none}.page>*{animation:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
