/* ═══════════════════════════════════════════════════════════
   RADWAN SaaS — Shared App Identity Layer (Launcher theme)
   Day (light) default + Night via body.dark / html[data-theme]
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');

/* ── Day (light) = Launcher light `.frame` ── */
:root{
  --bg:#fafbfd;--bg2:#ffffff;--bg3:#f1f3f7;
  --card:#ffffff;--card2:#f1f3f7;--card-bg:#ffffff;
  --surface:#ffffff;--surface2:#f1f3f7;--surface3:#eef2f7;
  --border:#e7e9ee;--border2:#e3e7ee;
  --primary:#2563eb;--primary-light:#7ba3f5;--primary-bg:rgba(37,99,235,.1);
  --primary-hover:#1e40af;--primary-d:#1e40af;--primary-dark:#1e40af;--primary-dim:#1e40af;
  --primary-l:#7ba3f5;--primary2:#2563eb;--accent:#2563eb;
  --text:#1c2536;--text2:#5b6472;--text3:#8a94a3;--text-muted:#8a94a3;--text-dim:#8a94a3;
  --input:#ffffff;--sidebar:#ffffff;--sidebar-w:260px;--hover:#f1f3f7;
  --radius:12px;--radius-sm:8px;--shadow:0 4px 14px rgba(20,30,60,.14);
  --success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--warn:#f59e0b;
  --green:#16a34a;--yellow:#d99a06;--blue:#3b82f6;--orange:#f97316;--purple:#9333ea;--urgent:#ef4444;
  --modal-bg:rgba(15,23,42,.5);--row-h:rgba(37,99,235,.07);--sb:260px;--hdr:44px;
  --ink:#161a22;--ink2:#5c6472;--ink3:#8b93a1;--border-strong:#d8dce2;--accent-tint:#eef3ff;
  /* Rad Office suite colors (Word/Excel/PowerPoint/Design tiles + file cards) */
  --app-word:#2b579a;--app-excel:#217346;--app-ppt:#c8401f;--app-design:#7c3aed;
  /* Launcher aliases */
  --f-surface:#ffffff;--f-surface2:#f1f3f7;--f-surface3:#eef2f7;--f-border:#e7e9ee;--f-border2:#e3e7ee;
  --f-ink:#1c2536;--f-ink2:#5b6472;--f-ink3:#8a94a3;--f-ink-faint:#9aa3b0;
  --f-accent:#2563eb;--f-accent-deep:#1e40af;--f-accent-ink:#ffffff;
  --f-accent-soft:rgba(37,99,235,.3);--f-accent-tint:#eef4ff;--f-accent-faint:rgba(37,99,235,.08);
  --f-scene-bg:#fafbfd;--f-scene:#fafbfd;--f-toast-bg:#1c2536;--f-toast-ink:#ffffff;
  --f-bg:#fafbfd;--f-bg-soft:#eef2f7;
}

/* ── Night (dark) = Launcher dark `.frame.dark` ── */
body.dark,html[data-theme=dark]{
  --bg:#0a0a0a;--bg2:#161616;--bg3:#202020;
  --card:#161616;--card2:#202020;--card-bg:#161616;
  --surface:#0a0a0a;--surface2:#161616;--surface3:#202020;
  --border:#2a2a2a;--border2:#333333;
  --primary:#f0a428;--primary-light:#f5cf6e;--primary-bg:rgba(240,164,40,.12);
  --primary-hover:#c9791a;--primary-d:#c9791a;--primary-dark:#c9791a;--primary-dim:#c9791a;
  --primary-l:#f5cf6e;--primary2:#f0a428;--accent:#f0a428;
  --text:#f5f5f5;--text2:#a8a8a8;--text3:#7a7a7a;--text-muted:#a8a8a8;--text-dim:#a8a8a8;
  --input:#202020;--sidebar:#161616;--sidebar-w:260px;--hover:#202020;
  --radius:12px;--radius-sm:8px;--shadow:0 4px 18px rgba(0,0,0,.55);
  --success:#22c55e;--danger:#f87171;--warning:#f59e0b;--info:#60a5fa;--warn:#f59e0b;
  --green:#4ade80;--yellow:#eab308;--blue:#60a5fa;--orange:#fb923c;--purple:#a78bfa;--urgent:#f87171;
  --modal-bg:rgba(0,0,0,.72);--row-h:rgba(240,164,40,.08);--sb:260px;--hdr:44px;
  --ink:#f5f5f5;--ink2:#a8a8a8;--ink3:#7a7a7a;--border-strong:#333;--accent-tint:rgba(240,164,40,.12);
  --app-word:#4c7fd7;--app-excel:#41ad66;--app-ppt:#e0522c;--app-design:#a78bfa;
  --f-surface:#0a0a0a;--f-surface2:#161616;--f-surface3:#202020;--f-border:#2a2a2a;--f-border2:#333333;
  --f-ink:#f5f5f5;--f-ink2:#a8a8a8;--f-ink3:#7a7a7a;--f-ink-faint:#5c5c5c;
  --f-accent:#f0a428;--f-accent-deep:#c9791a;--f-accent-ink:#161108;
  --f-accent-soft:rgba(240,164,40,.32);--f-accent-tint:rgba(240,164,40,.12);--f-accent-faint:rgba(240,164,40,.08);
  --f-scene-bg:#000000;--f-scene:#000000;--f-toast-bg:#f5f5f5;--f-toast-ink:#0a0a0a;
  --f-bg:#0a0a0a;--f-bg-soft:#000000;
}
html[data-theme=light]{
  --bg:#fafbfd;--bg2:#ffffff;--bg3:#f1f3f7;--text:#1c2536;--text2:#5b6472;--text3:#8a94a3;
  --primary:#2563eb;--card-bg:#ffffff;--border:#e7e9ee;--card:#ffffff;--border-strong:#d8dce2;
}

/* ── Cairo everywhere (identity) ── */
html,body{font-family:'Cairo','Segoe UI',system-ui,sans-serif!important}
body{background:var(--bg);color:var(--text);transition:background-color .2s,color .2s}
*{scrollbar-width:thin;scrollbar-color:#9aa3b0 transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#9aa3b0;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--primary)}
a{color:var(--primary)}

/* ── Legacy static header is disabled; unified header is injected ── */
#siteHeader{display:none!important}
body.rw-nohdr{padding-top:0!important}
body.rw-nohdr .sidebar,
body.rw-nohdr #sidebar{top:0!important;height:100vh!important}
body.rw-nohdr .main,
body.rw-nohdr #main{margin-right:var(--sidebar-w,260px)}

/* ── Unified top header (injected as body > .rw-topbar) ── */
.rw-topbar{position:fixed;top:0;left:0;right:0;z-index:99999;height:44px;
  display:flex;align-items:center;gap:8px;padding:0 14px;direction:rtl;
  background:var(--surface,#fff);border-bottom:1px solid var(--border,#e7e9ee);
  box-shadow:0 1px 6px rgba(20,30,60,.06)}
.rw-topbar .rw-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text,#1c2536);flex-shrink:0}
.rw-topbar .rw-logo-ic{width:28px;height:28px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary,#2563eb),var(--primary-d,#1e40af));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px}
.rw-topbar .rw-logo-txt{font-weight:800;font-size:14px;letter-spacing:.3px}
.rw-topbar .rw-space{flex:1}
.rw-topbar .rw-hbtns{display:flex;align-items:center;gap:6px;flex-shrink:0}
.rw-topbar .rw-hbtn{width:34px;height:34px;border-radius:10px;flex-shrink:0;cursor:pointer;
  border:1px solid var(--border2,#e3e7ee);background:var(--surface2,#f1f3f7);
  color:var(--text2,#5b6472);display:flex;align-items:center;justify-content:center;
  transition:background-color .15s,color .15s,transform .12s;font-family:'Cairo',sans-serif!important}
.rw-topbar .rw-hbtn:hover{background:var(--surface3,#eef2f7);color:var(--text,#1c2536);transform:translateY(-1px)}
.rw-topbar .rw-hbtn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* ── الهاتف: الهيدر الموحد يضيق — الشعار والاسم يتقلصون ولا يزاحمون الأزرار ── */
@media(max-width:640px){
  .rw-topbar{padding:0 8px;gap:6px;height:44px}
  .rw-topbar .rw-logo b,.rw-topbar .rw-logo-txt{font-size:12px}
  .rw-topbar .rw-logo-ic{width:22px;height:22px;font-size:11px}
  .rw-topbar .rw-hbtn{width:30px;height:30px}
  .rw-topbar .rw-hbtn svg{width:15px;height:15px}
  .rw-topbar .rw-hbtns{gap:4px}
}

/* Body/sidebar offset when the unified header is present (after nohdr rules, wins) */
body.rw-hdr{padding-top:44px!important}
body.rw-hdr .sidebar,
body.rw-hdr #sidebar{top:44px!important;height:calc(100vh - 44px)!important}
/* غرفة البث: سايدبارها جوا grid بحجم متبقي — استثناء من قاعدة الـ height !important */
body.rw-hdr .layout > .sidebar{top:auto!important;height:100%!important}

/* ── Lucide icon tiles in sidebar navigation (launcher style) ── */
.sidebar .nav-item .icon,
.sidebar .nav-item .nav-icon,
.sidebar-nav .nav-item .icon,
.sidebar-nav .nav-item .nav-icon,
.main-nav .nav-item .icon,
.main-nav .nav-item .nav-icon,
.nav-item .icon,
.nav-item .nav-icon{width:30px;height:30px;min-width:30px;border-radius:9px;margin-inline-end:9px;
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-style:normal;
  background:var(--accent-tint,var(--primary-bg));color:var(--primary,var(--accent));
  transition:background-color .15s,color .15s}
.sidebar .nav-item .icon svg,
.sidebar .nav-item .nav-icon svg,
.sidebar-nav .nav-item .icon svg,
.sidebar-nav .nav-item .nav-icon svg,
.nav-item .icon svg,
.nav-item .nav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sidebar .nav-item.active .icon,
.sidebar .nav-item.active .nav-icon,
.sidebar-nav .nav-item.active .icon,
.sidebar-nav .nav-item.active .nav-icon,
.nav-item.active .icon,
.nav-item.active .nav-icon{background:var(--primary,var(--accent));color:var(--f-accent-ink,#fff)}
html[data-theme=dark] .nav-item .icon,
body.dark .nav-item .icon,
html[data-theme=dark] .nav-item .nav-icon,
body.dark .nav-item .nav-icon{color:var(--primary,#f0a428)}
html[data-theme=dark] .nav-item.active .icon,
body.dark .nav-item.active .icon,
html[data-theme=dark] .nav-item.active .nav-icon,
body.dark .nav-item.active .nav-icon{color:var(--f-accent-ink,#161108)}

/* ── Sidebar count badges removed (numbers next to menu titles) ── */
.sidebar .nav-badge,
.sidebar-nav .nav-badge,
.main-nav .nav-badge,
#sidebar .nav-badge,
.nav-item .nav-badge{display:none!important}

/* Keep stats/cards/panels crisp on the shared theme */
.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}
.card,.panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}
table th{background:var(--bg3);color:var(--text2)}
th,td{border-bottom:1px solid var(--border);color:var(--text)}
.modal,#modalContent{background:var(--card-bg);border:1px solid var(--border2)}
.modal-head,.mhead{background:var(--bg3);border-bottom:1px solid var(--border)}
.toast{background:var(--f-toast-bg);color:var(--f-toast-ink);border:1px solid var(--border2)}

/* ═══════════════════════════════════════════════════════════
   Per-program brand identity (JS sets --brand / --brand-a / --brand-bg / --brand-grad)
   ═══════════════════════════════════════════════════════════ */
.rw-topbar .rw-logo-ic{background:var(--brand-grad,linear-gradient(135deg,var(--primary,#2563eb),var(--primary-d,#1e40af)))}
.rw-topbar .rw-theme-btn:hover{border-color:var(--brand,#2563eb)}

/* Brand-flavored primary buttons */
.btn-primary,.btn-p,.btn-main,.btn-save,.btn-acc{background:var(--brand-grad,linear-gradient(135deg,var(--primary,#2563eb),var(--primary-d,#1e40af)))!important;color:var(--f-accent-ink,#fff)!important;border:none!important}
.btn-primary:hover,.btn-p:hover,.btn-main:hover,.btn-save:hover,.btn-acc:hover{filter:brightness(1.1)!important}
.btn-primary:disabled,.btn-p:disabled,.btn-main:disabled,.btn-save:disabled,.btn-acc:disabled{opacity:.55;cursor:not-allowed}

/* Active sidebar item gets the brand gradient */
.sidebar .nav-item.active,
.sidebar-nav .nav-item.active,
.main-nav .nav-item.active,
.nav-item.active{
  background:var(--brand-bg,#eef4ff)!important;
  color:var(--brand,#2563eb)!important;
  border-inline-start:3px solid var(--brand,#2563eb)!important;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-weight:700}
.sidebar .nav-item.active .icon,
.sidebar .nav-item.active .nav-icon,
.sidebar-nav .nav-item.active .icon,
.sidebar-nav .nav-item.active .nav-icon,
.main-nav .nav-item.active .icon,
.main-nav .nav-item.active .nav-icon,
.nav-item.active .icon,
.nav-item.active .nav-icon{background:var(--brand-grad,linear-gradient(135deg,var(--primary,#2563eb),var(--primary-d,#1e40af)));color:#fff!important;box-shadow:0 2px 8px var(--brand-bg,#2563eb40)}

/* Stat cards: brand-colored accent + hover lift */
.stat-card{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.stat-card::before{content:'';position:absolute;inset:0;background:var(--brand-bg,#2563eb14);opacity:.45;pointer-events:none}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(0,0,0,.18)}
.stat-card .sc-icon,.stat-card .stat-ic,.stat-card h3:first-child{color:var(--brand,#2563eb)}

/* Tables: zebra hover + sticky-ish header tint */
table tbody tr:hover{background:var(--brand-bg,#2563eb10)}
table thead th{color:var(--text2);font-weight:700;white-space:nowrap}

/* Focus rings follow the brand */
input:focus,select:focus,textarea:focus{border-color:var(--brand,#2563eb)!important;box-shadow:0 0 0 3px var(--brand-bg,#2563eb18);outline:none}
.switch input:checked+.slider,.switch .slider{background:var(--brand,#2563eb)!important}

/* Chips/badges keep semantic colors; brand matched panel heads */
.panel-head,.mhead,.modal-head{background:linear-gradient(90deg,var(--brand-bg,#2563eb0d),transparent)}

/* ═══════════════════════════════════════════════════════════
   Unified table toolbar (CSV / print / pagination)
   ═══════════════════════════════════════════════════════════ */
.rw-twrap{position:relative}
.rw-twrap table{width:100%}
.rw-tbar{display:flex;align-items:center;gap:8px;padding:6px 2px 2px;flex-wrap:wrap}
.rw-tbtn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;
  border:1px solid var(--border2,#e3e7ee);background:var(--surface2,#f1f3f7);color:var(--text2,#5b6472);
  font-family:'Cairo',sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:all .15s;flex-shrink:0}
.rw-tbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rw-tbtn:hover{background:var(--brand-bg,var(--primary-bg));color:var(--brand,var(--primary));
  border-color:var(--brand,var(--primary));transform:translateY(-1px)}
.rw-pager{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto}
.rw-pnum{font-size:12px;font-weight:700;color:var(--text2,#5b6472);min-width:54px;text-align:center;direction:ltr}
.rw-pbtn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border2,#e3e7ee);
  background:var(--surface2,#f1f3f7);color:var(--text2,#5b6472);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.rw-pbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rw-pbtn:hover:not(:disabled){background:var(--brand-bg,var(--primary-bg));color:var(--brand,var(--primary));border-color:var(--brand,var(--primary))}
.rw-pbtn:disabled{opacity:.35;cursor:not-allowed}

/* Backup/restore toasts */
.rw-toast{position:fixed;bottom:18px;right:18px;z-index:100000;max-width:340px;padding:12px 18px;
  border-radius:12px;font-family:'Cairo',sans-serif;font-size:13px;font-weight:700;color:#fff;
  background:#1c2536;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:1;transition:opacity .4s,transform .4s;
  transform:translateY(0);direction:rtl}
.rw-toast-ok{background:linear-gradient(135deg,#15803d,#16a34a)}
.rw-toast-err{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.rw-toast-out{opacity:0;transform:translateY(8px)}
.rw-hbtn.rw-bk-btn,
  .rw-hbtn.rw-restore-btn{border-color:transparent}
  .rw-hbtn.rw-bk-btn{color:var(--brand,#2563eb)}
  .rw-hbtn.rw-restore-btn{color:var(--danger,#ef4444)}
  .rw-hbtn.rw-office-up{color:var(--brand,#0e7490)}
  .rw-hbtn.rw-office-back{color:var(--brand,#dc2626)}

  .rw-hbtn.rw-office-ai{color:var(--brand,#7c3aed)}