/* ==========================================================================
   نظام ERP — هوية بصرية "دفتر الأستاذ" (Ledger)
   حبر كحلي داكن + ورق كريمي + لمسة نحاسية + أرقام Mono بمحاذاة عشرية
   ========================================================================== */

@font-face {
  font-family: 'Tajawal';
  src: local('Tajawal');
}

:root {
  --ink-900: #0E1B2C;
  --ink-800: #16283F;
  --ink-700: #203354;
  --paper: #F6F3EA;
  --paper-card: #FFFFFF;
  --brass: #B4874A;
  --brass-dark: #96703B;
  --emerald: #1F6F5C;
  --crimson: #A23B3B;
  --line: #E4DDCB;
  --text-main: #1B2430;
  --text-muted: #6B7280;
  --radius: 10px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper);
  color: var(--text-main);
  font-family: 'Tajawal', 'Segoe UI', sans-serif;
  direction: rtl;
}

.mono {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
}

/* ---------- شبكة التخطيط العامة ---------- */
.app-shell {
  display: grid;
  grid-template-columns: 264px 1fr;
  min-height: 100vh;
}
@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }
}

/* ---------- الشريط الجانبي: نسيج "أوراق الدفتر" ---------- */
.sidebar {
  background:
    repeating-linear-gradient(
      to bottom,
      transparent 0px, transparent 27px,
      rgba(180,135,74,0.08) 27px, rgba(180,135,74,0.08) 28px
    ),
    linear-gradient(180deg, var(--ink-900) 0%, var(--ink-800) 100%);
  color: #E9EDF3;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-left: 1px solid rgba(255,255,255,0.06);
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px 22px 10px;
  border-bottom: 1px solid rgba(233,237,243,0.12);
  margin-bottom: 14px;
}
.brand-mark {
  width: 34px; height: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--brass) 0%, var(--brass-dark) 100%);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; color: var(--ink-900); font-size: 15px;
  flex-shrink: 0;
}
img.brand-mark { background: none; padding: 0; object-fit: contain; }
.brand-text { line-height: 1.15; }
.brand-text .name { font-weight: 800; font-size: 15px; }
.brand-text .sub { font-size: 11px; color: #9FB0C4; }

.nav-group-label {
  font-size: 12px; color: #9FB0C4; letter-spacing: .02em; cursor: pointer; user-select: none;
  padding: 10px 12px; margin-top: 4px; font-weight: 700; display: flex; justify-content: space-between; align-items: center;
  border-radius: 8px;
}
.nav-group-label:hover { background: rgba(255,255,255,0.05); color: #fff; }
.nav-group-label .chev { font-size: 11px; transition: transform .18s; transform: rotate(90deg); opacity: .7; }
.nav-group.open .nav-group-label { color: #E9EDF3; }
.nav-group.open .nav-group-label .chev { transform: rotate(0deg); }
.nav-group .nav-items { display: none; padding-bottom: 4px; }
.nav-group.open .nav-items { display: block; }
.nav-search { padding: 4px 4px 8px; }
.nav-search input { width: 100%; box-sizing: border-box; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(233,237,243,0.15);
  background: rgba(255,255,255,0.06); color: #E9EDF3; font-size: 13px; }
.nav-search input::placeholder { color: #7C8CA3; }

.nav-link {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 8px;
  color: #C7D2E0; text-decoration: none; font-size: 14px; font-weight: 500;
  cursor: pointer; transition: background .12s, color .12s;
  border-right: 2px solid transparent;
}
.nav-link:hover { background: rgba(255,255,255,0.06); color: #fff; }
.nav-link.active {
  background: rgba(180,135,74,0.16);
  color: #F3D9AE;
  border-right: 2px solid var(--brass);
}
.nav-link .ic { width: 18px; text-align: center; opacity: .9; }

/* ---------- المحتوى الرئيسي ---------- */
.main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px;
  background: var(--paper-card);
  border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 10;
}
.topbar h1 { font-size: 17px; font-weight: 800; margin: 0; }
.topbar .crumb { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.topbar-right { display: flex; align-items: center; gap: 14px; }

.chip {
  font-size: 12px; padding: 5px 12px; border-radius: 999px;
  background: #EEF2F0; color: var(--emerald); font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px;
}
.chip.warn { background: #FBEEE9; color: var(--crimson); }

.content { padding: 22px 24px 60px 24px; }

/* ---------- بطاقات ---------- */
.card {
  background: var(--paper-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
}
.card-title {
  font-size: 13px; font-weight: 800; color: var(--text-muted);
  letter-spacing: .02em; margin-bottom: 10px; text-transform: uppercase;
}

.kpi-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px;
}
@media (max-width: 900px) { .kpi-grid { grid-template-columns: repeat(2, 1fr); } }
.kpi-card {
  background: var(--paper-card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 16px 18px; position: relative; overflow: hidden;
}
.kpi-card::before {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 3px;
  background: var(--brass);
}
.kpi-label { font-size: 12px; color: var(--text-muted); font-weight: 600; }
.kpi-value { font-size: 24px; font-weight: 800; margin-top: 6px; }
.kpi-value.neg { color: var(--crimson); }
.kpi-value.pos { color: var(--emerald); }

/* ---------- الجداول: أسطر دفتر أستاذ رفيعة ---------- */
table.ledger { width: 100%; border-collapse: collapse; font-size: 13.5px; }
table.ledger thead th {
  text-align: right; font-size: 11.5px; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: .03em; font-weight: 700;
  padding: 8px 10px; border-bottom: 2px solid var(--ink-900);
}
table.ledger tbody td {
  padding: 10px 10px; border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
table.ledger tbody tr:hover { background: #FAF8F1; }
table.ledger td.num, table.ledger th.num { text-align: left; }

.badge {
  display: inline-block; padding: 3px 9px; border-radius: 6px; font-size: 11.5px; font-weight: 700;
}
.badge.draft { background: #EEE; color: #666; }
.badge.issued { background: #E7EEF5; color: #2D5A8C; }
.badge.reported, .badge.cleared { background: #E5F1EC; color: var(--emerald); }
.badge.rejected, .badge.cancelled { background: #F8E9E6; color: var(--crimson); }

/* ---------- عناصر التحكم ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 8px; font-size: 13.5px; font-weight: 700;
  border: 1px solid transparent; cursor: pointer; transition: filter .12s, transform .05s;
}
.btn:active { transform: translateY(1px); }
.btn-brass { background: var(--brass); color: #23180B; }
.btn-brass:hover { filter: brightness(1.06); }
.btn-outline { background: transparent; border-color: var(--line); color: var(--text-main); }
.btn-outline:hover { background: #F1EEE3; }
.btn-ghost { background: transparent; color: var(--text-muted); }
.btn-danger { background: #FBEEE9; color: var(--crimson); }

.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.field label { font-size: 12.5px; font-weight: 700; color: var(--text-muted); }
.field input, .field select, .field textarea {
  padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px;
  font-family: inherit; font-size: 13.5px; background: #FFFDF9; color: var(--text-main);
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--brass); box-shadow: 0 0 0 3px rgba(180,135,74,0.15);
}
.field.mono input { font-family: 'JetBrains Mono', monospace; direction: ltr; text-align: left; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 16px; }
@media (max-width: 700px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }

.modal-overlay {
  position: fixed; inset: 0; background: rgba(14,27,44,0.55);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 40px 16px; overflow-y: auto; z-index: 100;
}
.modal {
  background: var(--paper-card); border-radius: 14px; width: 100%; max-width: 640px;
  padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.modal-header h3 { margin: 0; font-size: 16px; font-weight: 800; }

.empty-state {
  text-align: center; padding: 50px 20px; color: var(--text-muted);
}
.empty-state .ic { font-size: 34px; margin-bottom: 10px; opacity: .5; }

.toast-stack {
  position: fixed; bottom: 20px; left: 20px; z-index: 200;
  display: flex; flex-direction: column; gap: 8px;
}
.toast {
  background: var(--ink-900); color: #fff; padding: 12px 16px; border-radius: 9px;
  font-size: 13.5px; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  border-right: 3px solid var(--brass); min-width: 240px;
  animation: toast-in .18s ease-out;
}
.toast.error { border-right-color: var(--crimson); }
.toast.success { border-right-color: var(--emerald); }
@keyframes toast-in { from { opacity:0; transform: translateY(6px);} to {opacity:1; transform:none;} }

.qr-box { background: #fff; padding: 10px; border-radius: 8px; border: 1px solid var(--line); display:inline-block; }

.hidden { display: none !important; }

.login-shell {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background:
    repeating-linear-gradient(to bottom, transparent 0px, transparent 27px, rgba(180,135,74,0.06) 27px, rgba(180,135,74,0.06) 28px),
    var(--ink-900);
  padding: 20px;
}
.login-card {
  background: var(--paper-card); border-radius: 16px; padding: 36px 32px;
  width: 100%; max-width: 380px; box-shadow: 0 30px 80px rgba(0,0,0,0.4);
}
.login-card .brand-mark { margin: 0 auto 14px auto; width: 46px; height: 46px; font-size: 19px; }
.login-card h2 { text-align: center; margin: 0 0 4px 0; font-size: 19px; font-weight: 800; }
.login-card p.sub { text-align: center; color: var(--text-muted); font-size: 13px; margin: 0 0 24px 0; }

::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #D8CFB4; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- المرفقات ---------- */
.att-btn { padding: 4px 8px; font-size: 14px; white-space: nowrap; opacity: .75; }
.att-btn.has { opacity: 1; color: var(--brass-dark, #8a6d2b); font-weight: 700; }
.att-btn:hover { opacity: 1; }
.att-drop {
  border: 2px dashed var(--line); border-radius: 10px; padding: 18px; text-align: center;
  background: rgba(0,0,0,.02); transition: border-color .15s, background .15s;
}
.att-drop.over { border-color: var(--brass-dark, #8a6d2b); background: rgba(176,141,60,.08); }
.att-drop.busy { opacity: .55; pointer-events: none; }
.att-pick { color: var(--brass-dark, #8a6d2b); font-weight: 700; cursor: pointer; text-decoration: underline; }
.att-hint { font-size: 12px; color: var(--text-muted); margin-top: 3px; }

/* ---------- شجرة الحسابات ---------- */
.acc-row.is-group td { font-weight: 800; background: rgba(0,0,0,.025); }
.acc-row.inactive td { opacity: .5; }
.acc-toggle { cursor: pointer; display: inline-block; width: 18px; user-select: none; color: var(--text-muted); }
.acc-indent { display: inline-block; }
.acc-actions { white-space: nowrap; }
.acc-actions .btn { padding: 3px 8px; font-size: 12px; }

/* ---- الحقول المخصصة وأكواد الأصناف ---- */
.cf-btn { padding: 4px 8px; font-size: 14px; white-space: nowrap; opacity: .75; display: none; }
.cf-btn.show { display: inline-block; }
.cf-btn.has { opacity: 1; color: var(--brass-dark, #8a6d2b); font-weight: 700; }
.cf-slot:empty { display: none; }
.cf-slot { border-top: 1px dashed var(--line); margin-top: 12px; padding-top: 10px; }
.cf-slot .cf-title { font-size: 12px; color: var(--text-muted); margin-bottom: 6px; }
.cf-help { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
.code-chip { display: inline-block; background: var(--paper-2, #f3efe6); border: 1px solid var(--line); border-radius: 12px; padding: 1px 8px; margin: 1px 2px; font-size: 11px; }
.scan-row { display: flex; gap: 8px; align-items: center; margin: 10px 0; }
.scan-row input { flex: 1; padding: 8px; border: 1px dashed var(--brass, #b8923a); border-radius: 6px; }

.set-row { display: flex; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.set-row small { display: block; color: var(--text-muted); font-size: 12px; margin-top: 2px; font-weight: 400; }
.set-row select { padding: 8px; border: 1px solid var(--line); border-radius: 6px; }
.item-thumb { width: 38px; height: 38px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); display: block; }
.item-thumb[hidden] { display: none; }

/* ---- الملخص والقوائم المالية ---- */
.sm-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.sm-bar input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#FFFDF9}
.sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.sm-grid{grid-template-columns:1fr}}
.sm-title{font-weight:700;color:var(--text-muted);margin:0 4px 10px}.sm-title small{font-weight:400}
.sm-card{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 3px rgba(60,50,20,.05)}
.sm-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#FFFBEF;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.sm-tbl{width:100%;border-collapse:collapse}.sm-tbl td{padding:7px 18px;font-size:13.5px}
.sm-tbl td.num{color:#2a6ebb;text-align:left;white-space:nowrap}
table.fs th{text-align:right}table.fs tr.fs-sec th{background:#F6F3EA;font-size:13px}
table.fs tr.fs-tot th,table.fs tr.fs-tot td{border-top:1px solid var(--line);font-weight:800}
table.fs tr.fs-grand th,table.fs tr.fs-grand td{background:#FFFBEF;border-top:2px solid var(--brass);font-weight:800;font-size:15px}
table.fs td.num{white-space:nowrap}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 16px}
@media(max-width:900px){.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid-4{grid-template-columns:1fr}}
@media (max-width: 900px) { .kpi-two { grid-template-columns: 1fr !important; } }
@media (max-width: 900px) { .cr-grid { grid-template-columns: 1fr !important; } }

/* الفوترة الإلكترونية */
.steps { margin: 8px 0 4px; padding-inline-start: 22px; line-height: 2; }
.alert.alert-error { background: #fdecea; color: #8a1c14; border: 1px solid #f5c2bd; border-radius: 6px; padding: 8px 12px; margin: 8px 0; }

/* ---------- الاشتراكات والباقات ---------- */
.sub-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 20px; font-size: 13px; background: #FFF6DD; color: #6B4E00; border-bottom: 1px solid #F0DDA0; }
.sub-banner.bad { background: #FBEEE9; color: var(--crimson); border-color: #F0C9BE; }
.btn-sm { padding: 4px 10px; font-size: 12px; }
.seg { display: flex; gap: 6px; margin: 8px 0 14px; flex-wrap: wrap; }
.plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 12px 0; }
.plan-card { border: 2px solid var(--border, #E3E6EC); border-radius: 14px; padding: 16px; cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s; }
.plan-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.plan-card.sel { border-color: var(--brass); box-shadow: 0 0 0 3px rgba(197,160,89,.25); }
.plan-card ul { padding: 0 18px 0 0; margin: 10px 0; font-size: 13px; line-height: 1.9; }
.plan-price { font-size: 22px; font-weight: 800; } .plan-price small { font-size: 12px; font-weight: 400; color: var(--text-muted); }
.addon-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed #E3E6EC; font-size: 14px; }
.addon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 14px; margin: 8px 0 12px; font-size: 13.5px; }
.nav-link.locked { opacity: .6; } .nav-link .lock { margin-inline-start: auto; font-size: 11px; }

/* ===== المتجر العام (صفحة الاشتراكات) ===== */
.store { --s-ink: #0E1B2C; --s-ink2: #16283F; --s-brass: #B4874A; --s-brass-l: #E6C58F; --s-line: #E2E6EC; --s-bg: #F3F5F8; --s-card: #fff; --s-muted: #5E6B7E;
  background: var(--s-bg); color: var(--text-main); min-height: 100vh; font-size: 15px; }
.store-loading { padding: 80px 16px; text-align: center; color: var(--s-muted); }
.store svg { width: 1em; height: 1em; display: block; }
.store a { color: inherit; }
.store a.btn { text-decoration: none; }
.store a.btn-brass { color: #23180B; }
.store a.store-ghost-light { color: #fff; }
.store a.store-btn-outline { color: var(--s-ink); } .store a.store-btn-outline:hover { color: #fff; }
.store h1, .store h2, .store h3 { text-wrap: balance; }
.store-nav { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--s-line); }
.store-nav-in { max-width: 1160px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 18px; }
.store-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; font-size: 16px; white-space: nowrap; }
.store-links { display: flex; gap: 4px; margin-inline-start: 10px; flex: 1; }
.store-links a { text-decoration: none; padding: 6px 12px; border-radius: 8px; font-size: 14px; color: var(--s-muted); }
.store-links a:hover { background: var(--s-bg); color: var(--s-ink); }
.store-nav-cta { display: flex; gap: 6px; }
.store-hero { background:
    radial-gradient(900px 340px at 85% -10%, rgba(180,135,74,.28), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 38px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 38px),
    linear-gradient(160deg, var(--s-ink) 0%, var(--s-ink2) 100%);
  color: #fff; padding: 64px 16px 128px; text-align: center; }
.store-hero-in { max-width: 820px; margin: 0 auto; }
.store-pill { display: inline-block; border: 1px solid rgba(230,197,143,.45); color: var(--s-brass-l); padding: 4px 14px; border-radius: 99px; font-size: 13px; margin-bottom: 18px; }
.store-hero h1 { font-size: clamp(28px, 5vw, 48px); line-height: 1.45; margin: 0 0 16px; font-weight: 800; }
.store-hero p { color: #C7D0DD; font-size: 17px; line-height: 1.9; margin: 0 auto 26px; max-width: 640px; }
.store-hero p b { color: #fff; }
.store-hero-cta { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.store-big { padding: 13px 28px; font-size: 16px; font-weight: 700; border-radius: 10px; text-decoration: none; justify-content: center; }
.store-ghost-light { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }
.store-ghost-light:hover { background: rgba(255,255,255,.1); }
.store-trust { list-style: none; display: flex; gap: 8px 22px; justify-content: center; flex-wrap: wrap; padding: 0; margin: 28px 0 0; color: #C7D0DD; font-size: 13.5px; }
.store-trust li { display: flex; align-items: center; gap: 6px; } .store-trust svg { color: var(--s-brass-l); width: 16px; height: 16px; }
.store-plans { max-width: 1160px; margin: -84px auto 0; padding: 0 16px; position: relative; }
.store-toggle-wrap { display: flex; justify-content: center; margin-bottom: 18px; }
.store-toggle { display: inline-flex; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 99px; padding: 4px; gap: 2px; backdrop-filter: blur(6px); }
.store-toggle button { font: inherit; font-weight: 600; border: 0; background: transparent; color: #E8EDF4; padding: 9px 24px; border-radius: 99px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.store-toggle button[aria-pressed="true"] { background: #fff; color: var(--s-ink); box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.store-toggle em { font-style: normal; font-size: 11.5px; background: var(--s-brass); color: #23180B; padding: 1px 8px; border-radius: 99px; }
.store-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 18px; align-items: stretch; }
.store-plan { position: relative; background: var(--s-card); border: 1px solid var(--s-line); border-radius: 18px; padding: 26px 22px 22px; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(14,27,44,.08); min-width: 0; }
.store-plan.is-pop { background: linear-gradient(180deg, var(--s-ink2), var(--s-ink)); color: #fff; border-color: var(--s-brass); box-shadow: 0 18px 44px rgba(14,27,44,.32); }
.store-ribbon { position: absolute; top: -13px; inset-inline-start: 50%; transform: translateX(50%); background: var(--s-brass); color: #23180B; font-size: 12.5px; font-weight: 700; padding: 3px 16px; border-radius: 99px; white-space: nowrap; }
[dir="ltr"] .store-ribbon { transform: translateX(-50%); }
.store-plan-top h3 { margin: 0; font-size: 21px; } .store-plan-top p { margin: 2px 0 14px; color: var(--s-muted); font-size: 13.5px; }
.store-plan.is-pop .store-plan-top p { color: #AEB9C9; }
.store-price { display: flex; align-items: baseline; gap: 8px; direction: rtl; }
.store-price .amt { font-size: 46px; font-weight: 800; line-height: 1.1; font-family: 'JetBrains Mono', 'Courier New', monospace; font-variant-numeric: tabular-nums; letter-spacing: -1px; }
.store-price .cur { font-size: 15px; font-weight: 700; display: flex; flex-direction: column; line-height: 1.2; } .store-price .cur small { font-weight: 400; color: var(--s-muted); font-size: 12.5px; }
.store-plan.is-pop .cur small { color: #AEB9C9; }
.store-price-sub { min-height: 24px; font-size: 13px; color: var(--s-muted); margin: 6px 0 16px; }
.store-plan.is-pop .store-price-sub { color: #AEB9C9; } .store-price-sub b { color: inherit; }
.store-save { background: #E3F3EC; color: #17604C; padding: 1px 8px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.store-plan-cta { width: 100%; justify-content: center; padding: 12px; font-weight: 700; border-radius: 10px; text-decoration: none; }
.store-btn-outline { background: transparent; color: var(--s-ink); border: 1.5px solid var(--s-ink); } .store-btn-outline:hover { background: var(--s-ink); color: #fff; }
.store-lims { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.store-lims li { background: var(--s-bg); border-radius: 10px; padding: 9px 10px; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.store-lims b { font-size: 17px; font-family: 'JetBrains Mono', 'Courier New', monospace; } .store-lims span { font-size: 11.5px; color: var(--s-muted); }
.store-plan.is-pop .store-lims li { background: rgba(255,255,255,.08); } .store-plan.is-pop .store-lims span { color: #AEB9C9; }
.store-feats { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.store-feats li { display: flex; gap: 9px; align-items: flex-start; line-height: 1.6; }
.store-feats i { flex: none; width: 20px; height: 20px; border-radius: 50%; background: #E3F3EC; color: #17604C; display: grid; place-items: center; margin-top: 2px; font-size: 14px; }
.store-plan.is-pop .store-feats i { background: rgba(230,197,143,.2); color: var(--s-brass-l); }
.store-note { text-align: center; font-size: 12.5px; color: var(--s-muted); margin: 14px 0 0; }
.store-sec { max-width: 1160px; margin: 0 auto; padding: 56px 16px 0; scroll-margin-top: 70px; }
.store-head { text-align: center; margin-bottom: 26px; } .store-head h2 { font-size: clamp(22px, 3.2vw, 30px); margin: 0 0 6px; } .store-head p { margin: 0; color: var(--s-muted); }
.store-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.store-feat { background: var(--s-card); border: 1px solid var(--s-line); border-radius: 14px; padding: 20px; }
.store-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--s-ink); color: var(--s-brass-l); display: grid; place-items: center; font-size: 24px; margin-bottom: 12px; }
.store-feat h3 { margin: 0 0 6px; font-size: 16.5px; } .store-feat p { margin: 0; font-size: 13.5px; color: var(--s-muted); line-height: 1.85; }
.store-cmp-wrap { overflow-x: auto; background: var(--s-card); border: 1px solid var(--s-line); border-radius: 14px; }
.store-cmp { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 640px; font-size: 14px; table-layout: fixed; }
.store-cmp thead th:first-child, .store-cmp tbody th:first-child { width: 40%; }
.store-cmp th, .store-cmp td { padding: 12px 14px; border-bottom: 1px solid var(--s-line); text-align: center; vertical-align: middle; }
.store-cmp thead th { position: sticky; top: 0; background: #fff; z-index: 2; font-size: 16px; padding-block: 16px; }
.store-cmp thead th small { display: block; font-weight: 400; color: var(--s-muted); font-size: 12px; margin-top: 2px; }
.store-cmp thead th.is-pop { background: var(--s-ink); color: #fff; } .store-cmp thead th.is-pop small { color: #AEB9C9; }
.store-cmp tbody th { text-align: right; font-weight: 500; } .store-cmp tbody th small { display: block; color: var(--s-muted); font-weight: 400; font-size: 12px; margin-top: 2px; }
.store-cmp tr.grp th { background: var(--s-bg); font-size: 12.5px; letter-spacing: .02em; color: var(--s-muted); text-align: right; padding-block: 8px; }
.store-cmp tbody tr:last-child th, .store-cmp tbody tr:last-child td { border-bottom: 0; }
.store-cmp .yes { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #E3F3EC; color: #17604C; font-size: 15px; }
.store-cmp .no { display: inline-grid; place-items: center; width: 24px; height: 24px; color: #A9B2C0; font-size: 15px; }
.store-cmp .add { font-size: 12px; background: #F6EEDD; color: #7A5A22; padding: 2px 10px; border-radius: 99px; white-space: nowrap; }
.store-build { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.store-build-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.store-step { background: var(--s-card); border: 1px solid var(--s-line); border-radius: 14px; padding: 20px; }
.store-step h3 { margin: 0 0 14px; font-size: 16.5px; display: flex; align-items: center; gap: 10px; }
.store-step h3 span { width: 26px; height: 26px; border-radius: 50%; background: var(--s-ink); color: var(--s-brass-l); display: grid; place-items: center; font-size: 13px; font-family: 'JetBrains Mono', 'Courier New', monospace; }
.store-radios { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.store-radio { border: 1.5px solid var(--s-line); border-radius: 12px; padding: 12px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; position: relative; }
.store-radio input { position: absolute; opacity: 0; } .store-radio .t { font-weight: 700; } .store-radio .m { font-size: 13px; color: var(--s-muted); }
.store-radio.on { border-color: var(--s-brass); background: #FBF5EA; box-shadow: 0 0 0 3px rgba(180,135,74,.18); }
.store-radio:has(input:focus-visible), .store-addon:has(input:focus-visible) { outline: 2px solid var(--s-brass); outline-offset: 2px; }
.store-addons { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.store-addon { border: 1.5px solid var(--s-line); border-radius: 12px; padding: 12px 14px; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; position: relative; }
.store-addon input { position: absolute; opacity: 0; } .store-addon .n { font-weight: 700; } .store-addon .d { grid-column: 1 / -1; font-size: 12.5px; color: var(--s-muted); line-height: 1.6; order: 3; }
.store-addon .p { font-size: 13px; font-weight: 700; color: #7A5A22; white-space: nowrap; }
.store-addon.on { border-color: var(--s-brass); background: #FBF5EA; } .store-addon.inc { opacity: .8; } .store-addon.inc .p { color: #17604C; }
.store-steppers { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.store-stepper { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1.5px solid var(--s-line); border-radius: 12px; padding: 10px 14px; }
.store-stepper small { display: block; color: var(--s-muted); font-size: 12px; }
.store-stepper .ctl { display: flex; align-items: center; gap: 4px; direction: ltr; }
.store-stepper .ctl button { width: 34px; height: 34px; border-radius: 9px; border: 1.5px solid var(--s-line); background: #fff; font-size: 18px; cursor: pointer; line-height: 1; } .store-stepper .ctl button:hover { border-color: var(--s-ink); }
.store-stepper output { min-width: 32px; text-align: center; font-weight: 700; font-family: 'JetBrains Mono', 'Courier New', monospace; }
.store-sum { position: sticky; top: 78px; background: var(--s-ink); color: #fff; border-radius: 16px; padding: 22px; box-shadow: 0 14px 36px rgba(14,27,44,.25); min-width: 0; }
.store-sum h3 { margin: 0 0 12px; font-size: 17px; } .store-sum h3 small { color: #AEB9C9; font-weight: 400; font-size: 13px; }
.store-sum .lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.store-sum .lines li { display: flex; justify-content: space-between; gap: 12px; } .store-sum .lines b { font-family: 'JetBrains Mono', 'Courier New', monospace; font-weight: 500; white-space: nowrap; }
.store-sum .vat { display: flex; justify-content: space-between; gap: 12px; font-size: 12.5px; color: #AEB9C9; margin-top: 10px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,.2); }
.store-sum .tot { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 0 14px; } .store-sum .tot span { color: #C7D0DD; }
.store-sum .tot b { font-size: 32px; font-family: 'JetBrains Mono', 'Courier New', monospace; } .store-sum .tot small { font-size: 13px; margin-inline-start: 4px; color: #AEB9C9; font-weight: 400; }
.store-cpn { margin-bottom: 14px; } .store-cpn label { display: block; font-size: 13px; color: #C7D0DD; margin-bottom: 4px; }
.store-cpn input { width: 100%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.25); color: #fff; border-radius: 9px; padding: 9px 12px; text-transform: uppercase; font-family: 'JetBrains Mono', 'Courier New', monospace; }
.store-cpn input::placeholder { color: #8795AA; text-transform: none; font-family: inherit; } .store-cpn small { display: block; margin-top: 4px; font-size: 12px; color: #AEB9C9; }
.store-sum .store-note { color: #AEB9C9; }
.store-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; counter-reset: s; }
.store-steps li { background: var(--s-card); border: 1px solid var(--s-line); border-radius: 14px; padding: 22px; }
.store-step-n { width: 34px; height: 34px; border-radius: 50%; background: var(--s-brass); color: #23180B; display: grid; place-items: center; font-weight: 800; margin-bottom: 12px; font-family: 'JetBrains Mono', 'Courier New', monospace; }
.store-steps h3 { margin: 0 0 6px; font-size: 16.5px; } .store-steps p { margin: 0; color: var(--s-muted); font-size: 13.5px; line-height: 1.85; }
.store-faq { max-width: 780px; margin: 0 auto; }
.store-q { background: var(--s-card); border: 1px solid var(--s-line); border-radius: 12px; padding: 14px 18px; margin: 10px 0; }
.store-q summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; } .store-q summary::-webkit-details-marker { display: none; }
.store-q summary::after { content: '+'; font-size: 20px; color: var(--s-brass); line-height: 1; } .store-q[open] summary::after { content: '−'; }
.store-q p { margin: 10px 0 2px; color: var(--s-muted); line-height: 1.9; }
.store-final { max-width: 1160px; margin: 64px auto 0; padding: 44px 16px; text-align: center; color: #fff; border-radius: 22px;
  background: radial-gradient(600px 220px at 15% 0%, rgba(180,135,74,.35), transparent 65%), linear-gradient(160deg, var(--s-ink), var(--s-ink2)); width: calc(100% - 32px); }
.store-final h2 { margin: 0 0 6px; font-size: 28px; } .store-final p { margin: 0 0 20px; color: #C7D0DD; }
.store-foot { max-width: 1160px; margin: 0 auto; padding: 28px 16px 40px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; font-size: 13px; color: var(--s-muted); }
.store-foot a { text-decoration: none; } .store-foot a:hover { color: var(--s-ink); }
@media (max-width: 980px) { .store-build { grid-template-columns: minmax(0, 1fr); } .store-sum { position: static; } }
@media (max-width: 720px) {
  .store-links { display: none; } .store-nav-in { justify-content: space-between; }
  .store-hero { padding: 44px 16px 112px; } .store-plans { margin-top: -72px; }
  .store-toggle button { padding: 8px 16px; } .store-sec { padding-top: 44px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* تواصل / واتساب / الهوية القانونية */
.store-contact { max-width: 860px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; align-items: start; }
.store-cform { display: grid; gap: 10px; position: relative; }
.store-cform input, .store-cform textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--s-line, #e2e5ea); border-radius: 10px; font: inherit; background: #fff; }
.store-cform button { justify-self: start; }
.store-cmsg { font-size: 13px; min-height: 18px; } .store-cmsg.ok { color: #1b7a46; } .store-cmsg.err { color: #b3261e; }
.store-cinfo { display: grid; gap: 8px; font-size: 14px; color: var(--s-muted); } .store-cinfo p { margin: 0; }
.store-legal { flex-basis: 100%; text-align: center; font-size: 12px; margin-top: 6px; }
.store-wa { position: fixed; bottom: 18px; left: 18px; z-index: 50; background: #25d366; color: #fff; padding: 11px 16px; border-radius: 999px; font-weight: 700; text-decoration: none; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
@media (max-width: 700px) { .store-contact { grid-template-columns: 1fr; } }
.store-cform .store-hp { position: absolute; top: 0; inset-inline-start: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }

/* لوحة المالك المنفصلة */
.owner-shell { min-height: 100vh; background: var(--bg, #f6f3ea); }
.owner-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 24px; background: #0E1B2C; color: #fff; position: sticky; top: 0; z-index: 20; }
.owner-brand { display: flex; align-items: center; gap: 10px; } .owner-brand b { display: block; font-size: 16px; } .owner-brand small { color: #C7D0DD; font-size: 12px; }
.owner-brand .brand-mark { width: 38px; height: 38px; }
.owner-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .owner-user { font-size: 12.5px; color: #C7D0DD; direction: ltr; }
.owner-bar .btn-ghost { color: #fff; border-color: rgba(255,255,255,.3); }
.owner-main { max-width: 1280px; margin: 0 auto; padding: 22px 24px 60px; }
@media (max-width: 700px) { .owner-bar, .owner-main { padding-left: 12px; padding-right: 12px; } }
.store-announce { background: #B4874A; color: #1b1405; text-align: center; padding: 8px 14px; font-size: 13.5px; font-weight: 700; }

/* واجهة المالك: تخطيط بقائمة جانبية */
.owner-body { display: grid; grid-template-columns: 210px 1fr; min-height: calc(100vh - 62px); }
.owner-nav { background: #fff; border-inline-end: 1px solid var(--line, #e2e6ec); padding: 14px 10px; display: flex; flex-direction: column; gap: 3px; position: sticky; top: 62px; align-self: start; height: calc(100vh - 62px); }
.owner-nav a { display: flex; gap: 9px; align-items: center; padding: 10px 12px; border-radius: 9px; color: inherit; text-decoration: none; font-size: 14px; }
.owner-nav a:hover { background: #f1f3f6; } .owner-nav a.active { background: #0E1B2C; color: #fff; font-weight: 700; }
.owner-main { max-width: none; width: 100%; min-width: 0; }
.ow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 14px; margin-bottom: 14px; }
.ow-svg { width: 100%; height: 130px; display: block; } .ow-axis { display: flex; justify-content: space-between; font-size: 11px; color: var(--text-muted); direction: ltr; }
.ow-row { cursor: pointer; } .ow-row:hover td { background: #faf6ee; }
.ow-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; } .ow-filters input { flex: 1; min-width: 220px; }
.ow-pager { display: flex; gap: 12px; align-items: center; justify-content: center; padding: 10px; font-size: 13px; }
.ow-head { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; } .ow-head h2 { margin: 0; font-size: 20px; } .ow-sub { font-size: 12.5px; color: var(--text-muted); margin-top: 3px; }
.ow-actions { margin-inline-start: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.ow-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin-bottom: 12px; font-size: 14px; } .ow-kv span { color: var(--text-muted); }
.ow-use { margin: 9px 0; font-size: 13px; } .ow-use > div:first-child { display: flex; justify-content: space-between; }
.ow-meter { height: 7px; background: #eceff3; border-radius: 6px; overflow: hidden; } .ow-meter i { display: block; height: 100%; background: #2f8f5b; border-radius: 6px; }
.ow-note { font-size: 12.5px; color: var(--text-muted); margin-top: 8px; line-height: 1.8; }
.ow-btns { display: flex; gap: 4px; flex-wrap: wrap; }
.ow-noteform { display: flex; gap: 6px; margin-bottom: 10px; } .ow-noteform input { flex: 1; }
.ow-notei { padding: 8px 10px; background: #faf6ee; border-radius: 8px; margin-bottom: 6px; font-size: 13.5px; } .ow-notei small { color: var(--text-muted); }
.ow-faq { display: grid; grid-template-columns: 1fr 2fr auto; gap: 6px; margin-bottom: 6px; align-items: start; }
.ow-pre { background: #0E1B2C; color: #dfe6f0; padding: 12px; border-radius: 8px; overflow: auto; direction: ltr; text-align: left; font-size: 12.5px; line-height: 1.8; white-space: pre-wrap; }
.kpi-sub { font-size: 11.5px; color: var(--text-muted); margin-top: 2px; }
.sup-banner { background: #b3261e; color: #fff; padding: 8px 14px; font-size: 13.5px; text-align: center; position: sticky; top: 0; z-index: 60; } .sup-banner .btn { margin-inline-start: 10px; background: #fff; color: #b3261e; }
.ann { display: flex; justify-content: space-between; gap: 10px; padding: 8px 14px; font-size: 13.5px; align-items: center; } .ann button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 15px; }
.ann-info { background: #e8f1fb; color: #0b3a66; } .ann-warn { background: #fff4d6; color: #6b4e00; } .ann-critical { background: #fde7e5; color: #8a1c14; }
@media (max-width: 800px) { .owner-body { grid-template-columns: 1fr; } .owner-nav { position: static; height: auto; flex-direction: row; overflow-x: auto; border-inline-end: 0; border-bottom: 1px solid var(--line, #e2e6ec); } .owner-nav a { white-space: nowrap; } .ow-faq { grid-template-columns: 1fr; } }
.owner-main .card { margin-bottom: 14px; }
.owner-main { padding-top: 18px; }

/* ---- فريق المالك: تذاكر / مهام / شارات ---- */
.owner-nav a .nb { margin-inline-start: auto; background: #b3261e; color: #fff; border-radius: 999px; font-style: normal; font-size: 11px; font-weight: 700; padding: 1px 7px; min-width: 18px; text-align: center; }
.owner-nav a .nb[hidden], #nb-tasks[hidden] { display: none; }
.ow-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; } .ow-filters input { flex: 1 1 220px; }
.ow-pager { display: flex; gap: 12px; align-items: center; justify-content: center; margin-top: 10px; font-size: 13px; }
.tk-wait td:first-child { box-shadow: inset -3px 0 0 #b3261e; }
.tk-prio { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #eef1f5; }
.tk-prio.tk-high { background: #fff0d6; color: #8a5a00; } .tk-prio.tk-urgent { background: #fde3e1; color: #b3261e; } .tk-prio.tk-low { color: var(--text-muted); }
.tk-grid { grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); }
.tk-thread { display: flex; flex-direction: column; gap: 10px; }
.tk-msg { padding: 10px 14px; border-radius: 12px; max-width: 92%; background: #f4f6f9; border: 1px solid var(--line, #e2e6ec); }
.tk-msg.tk-staff { align-self: flex-end; background: #eaf3ee; border-color: #cfe3d6; } .tk-msg.tk-int { background: #fff7e0; border: 1px dashed #d9b64a; }
.tk-who { display: flex; gap: 8px; align-items: center; font-size: 12.5px; margin-bottom: 4px; } .tk-who small { margin-inline-start: auto; color: var(--text-muted); }
.tk-body { white-space: pre-wrap; line-height: 1.8; font-size: 14px; }
.tk-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; } .tk-chk { display: flex; gap: 6px; align-items: center; font-size: 13px; }
.tk-task label { display: flex; gap: 8px; align-items: center; } .tk-late { background: #fde8e6; }
@media (max-width: 800px) { .tk-grid { grid-template-columns: 1fr; } .tk-msg { max-width: 100%; } }
.ow-filters select, .ow-filters input { width: auto; min-width: 150px; flex: 0 1 auto; } .ow-filters input { flex: 1 1 220px; }
.ow-noteform select, .ow-noteform input[type=date] { width: auto; flex: 0 0 auto; }
.ow-note code { direction: ltr; unicode-bidi: embed; display: inline-block; background: #f1f3f6; padding: 1px 6px; border-radius: 4px; }
.ow-filters .cmb, .ow-noteform .cmb, .tk-actions .cmb { display: block; flex: 0 1 190px; width: auto; min-width: 150px; }
.ow-noteform input[type=text], .ow-noteform input:not([type]) { flex: 1 1 240px; } .ow-noteform { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* فحص النماذج */
.vl-bad{border-color:#b3261e!important;background:#fff6f5}
.vl-msg{color:#b3261e;font-size:12px;margin-top:3px}
.vl-sum{background:#fdecea;border:1px solid #f1b4ae;color:#7a1710;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13px}
.vl-sum ul{margin:6px 0 0;padding-inline-start:20px;line-height:1.9}.vl-sum a{color:#7a1710;font-weight:700;text-decoration:underline}
.er-msg{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er-pre{white-space:pre-wrap;direction:ltr;text-align:left;font-size:12px;background:#f6f4ef;border-radius:8px;padding:10px;max-height:240px;overflow:auto}

.doc-frame{width:100%;height:66vh;border:1px solid var(--line);border-radius:8px;background:#fff}
.pv-det{margin-top:10px}.pv-det>summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--brass-dark,#8a6a35)}

.lnk{color:var(--brass-dark,#8a6a35);font-weight:600;cursor:pointer;text-decoration:none}.lnk:hover{text-decoration:underline}
/* محاذاة موحّدة للجداول: النص يمين، الأرقام والمبالغ يسار بخط ثابت العرض، رؤوس الأعمدة تتبع محتواها */
table.ledger th,table.ledger td,table.tbl th,table.tbl td{vertical-align:middle;padding:9px 10px;text-align:right}
table.ledger th.num,table.ledger td.num,table.tbl th.num,table.tbl td.num,td.mono.num{text-align:left;font-variant-numeric:tabular-nums}
table.ledger td.mono,table.tbl td.mono{font-variant-numeric:tabular-nums}
table.ledger td input[type=checkbox],table.tbl td input[type=checkbox]{margin:0;vertical-align:middle}
table.ledger td:last-child:has(button),table.tbl td:last-child:has(button){white-space:nowrap}

/* الصفحة الرئيسية */
.hm-hero{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:18px 20px;border-radius:var(--radius);background:linear-gradient(120deg,var(--paper-card),rgba(184,137,59,.10));border:1px solid var(--line)}
.hm-hi{font-size:22px;font-weight:700}.hm-date{font-size:13px;color:var(--text-muted);margin-top:4px}
.hm-quick{display:flex;gap:8px;flex-wrap:wrap}.hm-quick .btn{display:inline-flex;gap:6px;align-items:center}
.hm-alerts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.hm-alert{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:999px;background:#fdecea;color:#9B2C2C;text-decoration:none;font-size:13px}.hm-alert:hover{filter:brightness(.96)}
.hm-ok{margin-bottom:14px;padding:8px 14px;border-radius:10px;background:rgba(47,125,70,.10);color:#2f7d46;font-size:13px}
.hm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.hm-stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-card);text-decoration:none;color:inherit}
.hm-stat:hover{border-color:var(--brass,#b8893b)}.hm-l{font-size:12px;color:var(--text-muted)}.hm-v{font-size:20px;font-weight:700}.hm-s{font-size:12px;color:var(--text-muted)}
.hm-sec{display:flex;align-items:center;gap:12px;margin:6px 0 10px;flex-wrap:wrap}.hm-sec h3{margin:0;font-size:16px}
.hm-kc{text-decoration:none;color:inherit;display:block}.hm-kc:hover{border-color:var(--brass,#b8893b)}
.hm-two{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:start}
.hm-more{float:left;font-size:12px;font-weight:400}
.hm-ob{margin-bottom:14px}.hm-bar{height:6px;background:var(--line);border-radius:4px;margin:6px 0 10px}.hm-bar i{display:block;height:6px;background:var(--brass,#b8893b);border-radius:4px}
.hm-ob-items{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px}
.hm-note{margin-top:14px;padding:10px 14px;border-radius:10px;background:rgba(184,137,59,.10);font-size:13px}
.hm-foot{margin:16px 0 4px;font-size:13px;color:var(--text-muted)}
@media (max-width:900px){.hm-stats{grid-template-columns:repeat(2,1fr)}.hm-two{grid-template-columns:1fr}}
/* قائمة القيود + فلترة الجداول */
.jl-bar,.tf-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;position:relative}
.jl-bar input,.tf-q{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper-card);color:inherit;font:inherit;min-width:180px}.tf-q{flex:1;max-width:420px}
.jl-adv,.tf-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px;padding:12px;margin-bottom:10px;border:1px dashed var(--line);border-radius:10px;background:rgba(184,137,59,.05)}
.tf-panel{flex-basis:100%;margin:4px 0 0}.jl-adv[hidden],.tf-panel[hidden]{display:none}
.tf-f label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px}.tf-f>div{display:flex;gap:4px}.tf-f input,.tf-f select{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper-card);color:inherit;font:inherit;min-width:0}
.tf-cnt,.jl-meta{font-size:12px;color:var(--text-muted)}.jl-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.sp{flex:1}
.jl-sub{font-size:11px;color:var(--text-muted)}.jl-act{white-space:nowrap}.jl-pager{text-align:center;margin-top:10px;font-size:13px}

/* ======================= توحيد شكل الحقول (قوائم الضريبة وبقية القوائم) ======================= */
:where(select:not(.cmb-src):not([multiple]),.tax-sel,.tax-reason){
  appearance:none;-webkit-appearance:none;font-family:inherit;font-size:13.5px;color:var(--text-main);background-color:#FFFDF9;
  border:1px solid var(--line);border-radius:8px;padding:8px 30px 8px 12px;min-height:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 10px center}
:where(select):focus-visible,:where(input):focus-visible,:where(textarea):focus-visible{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(180,135,74,.15)}
.tax-sel{width:100%;min-width:118px}.tax-reason{width:100%;margin-top:4px;font-size:12px;min-height:32px}
table.ledger td input.num-in,table.ledger td input[type=text],table.ledger td input.mono{font-family:'JetBrains Mono','Courier New',monospace;font-variant-numeric:tabular-nums}
input.num-in{text-align:left}input.invalid,.cmb-in.invalid{border-color:var(--crimson)!important;background:#FFF6F4}
.inv-opts .lst label{line-height:1.5}

/* ======================= واجهة الفلترة الاحترافية ======================= */
.tf-bar{display:block}.tf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tf-date{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.tf-date[hidden]{display:none}
.tf-date input,.tf-date select{min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background-color:#FFFDF9;font:inherit;font-size:13px}
.tf-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tf-chips:empty{display:none}
.tf-chip,.tf-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:rgba(180,135,74,.14);font-size:12px}
.tf-chip b,.tf-tag b{cursor:pointer;color:var(--crimson);font-size:11px}.tf-tag a{cursor:pointer;text-decoration:underline}
.tf-info{font-size:12px;color:var(--text-muted);margin:6px 0 2px}
.tf-sv-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;grid-column:1/-1}.tf-sv-row input{flex:1;min-width:160px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.tf-sv-list{display:flex;gap:6px;flex-wrap:wrap;grid-column:1/-1}.tf-hint{grid-column:1/-1;font-size:11.5px;color:var(--text-muted)}
.tf-ck{display:flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}
th.tf-sortable{cursor:pointer;user-select:none}th.tf-sortable:hover{color:var(--text-main)}.tf-arw{color:var(--brass)}
.fk-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(180,135,74,.05)}
.fk-f{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-muted);font-weight:700}
.fk-f input,.fk-f select{min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background-color:#FFFDF9;font:inherit;font-size:13px;color:var(--text-main);width:140px}
.fk-f input[type=number]{width:110px}

/* ======================= تلميحات الكيبورد ======================= */
.kb-strip{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center;margin:0 0 12px;padding:8px 12px;border:1px dashed var(--line);border-radius:10px;background:#FBF8EF;font-size:12px;color:var(--text-muted)}
.kb-strip kbd,.kb-help kbd{display:inline-block;padding:1px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#fff;font:600 11.5px/1.6 'JetBrains Mono',monospace;color:var(--text-main);direction:ltr}
.kb-strip .x{margin-inline-start:auto;cursor:pointer;color:var(--text-muted)}
.kb-help h4{margin:14px 0 6px;font-size:13px}.kb-help .ex{font-size:12px;color:var(--text-muted);margin:2px 0 0}

/* ======================= التجاوب مع الجوال ======================= */
img,svg,video{max-width:100%}
#menu-toggle{display:none}
.sb-backdrop{display:none}
@media (max-width:900px){
  #menu-toggle{display:inline-flex!important;font-size:20px;padding:6px 10px;margin-bottom:4px}
  .sidebar{display:flex!important;position:fixed!important;top:0;bottom:0;right:0;width:min(86vw,320px);height:100vh;z-index:70;transform:translateX(105%);transition:transform .22s ease}
  .sidebar.open{box-shadow:-10px 0 40px rgba(0,0,0,.35);transform:none!important;inset:auto;top:0;bottom:0;right:0;z-index:70!important;display:flex!important;opacity:1!important;pointer-events:auto!important}
  .sb-backdrop.show{display:block;position:fixed;inset:0;background:rgba(14,27,44,.55);z-index:60}
  .topbar{padding:10px 14px;gap:8px;flex-wrap:wrap}.topbar .crumb{display:none}.topbar-right{gap:8px;flex-wrap:wrap}.topbar-right>span:last-child{display:none}
  .content{padding:14px 12px 70px}
  .card{padding:12px}
  .kpi-grid{gap:10px}
  [style*="grid-template-columns"]:not([style*="minmax"]):not([style*="auto-fill"]){grid-template-columns:1fr!important}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  .modal-overlay{padding:0!important;align-items:stretch}
  .modal{max-width:100%!important;width:100%;min-height:100vh;border-radius:0;padding:14px}
  .content table.ledger,.modal table.ledger{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%}
  table.ledger td[style*="white-space:normal"],table.ledger td.wrap{white-space:normal}
  .btn{min-height:40px}
  input,select,textarea,.cmb-in{font-size:16px!important}
  .tf-q{max-width:none;flex-basis:100%}.tf-date{flex-basis:100%}.tf-date select,.tf-date input{flex:1;min-width:120px}
  .fk-bar{padding:8px}.fk-f{flex:1 1 130px}.fk-f input,.fk-f select{width:100%}
  .hm-hero{padding:14px}.hm-hi{font-size:19px}.hm-quick{width:100%}.hm-quick .btn{flex:1 1 44%;justify-content:center}
  .hm-stats{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr 1fr}
  .kpi-value{font-size:20px}
  .toast-stack{left:8px;right:8px;width:auto}
  .dx-foot{flex-wrap:wrap}.kb-strip{display:none}
  .jl-act .btn{padding:6px 8px}
  .rp-bar{flex-wrap:wrap}.rp-bar .field,.rp-bar input,.rp-bar select{width:100%}
}
@media (max-width:420px){.kpi-grid,.hm-stats{grid-template-columns:1fr}}
@media (hover:none){.nav-link{padding:12px}}

/* مؤشر السعر */
.pi-fab{position:absolute;z-index:99;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--brass);background:#fff;color:var(--brass-dark);font-size:13px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pi-fab[hidden]{display:none}.pi-fab:hover{background:var(--brass);color:#fff}
.pi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.pi-t{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#FFFDF9}.pi-l{font-size:12px;color:var(--text-muted)}.pi-v{font-size:20px;font-weight:700;margin-top:2px}.pi-s{font-size:11.5px;color:var(--text-muted);margin-top:2px;white-space:normal}
.pi-v.pos{color:#2f7d46}.pi-v.neg,.pi-stock b.neg{color:#9B2C2C}
.pi-use{margin:6px 0 12px;font-size:13px}.pi-use small{color:var(--text-muted);margin-inline-start:8px}
.pi-tabs{display:flex;gap:6px;margin-bottom:8px}.pi-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.pi-tabs button.on{background:var(--brass);color:#23180B;border-color:var(--brass)}
.pi .table-wrap{max-height:340px;overflow:auto}
.pi-stock{font-size:11.5px;color:var(--text-muted);margin-top:3px;cursor:pointer;white-space:normal}.pi-stock:hover{color:var(--brass-dark)}
@media (max-width:700px){.pi-grid{grid-template-columns:1fr 1fr}}

.kb-foot{margin-top:10px;text-align:center;font-size:11.5px;color:var(--text-muted);cursor:pointer}.kb-foot kbd{display:inline-block;padding:0 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:#fff;font:600 11px/1.6 'JetBrains Mono',monospace;color:var(--text-main)}
@media(max-width:700px){.kb-foot{display:none}}

.no-cc table.ledger th:nth-child(2),.no-cc table.ledger td:nth-child(2){display:none}

/* ميزات الباقات */
.ps-title{margin:26px 0 4px;font-size:18px}
.ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:10px 0}
.ps-card{background:var(--surface,#fff);border:1px solid var(--border,#e3e6ea);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.ps-card.lock{border-style:dashed;background:linear-gradient(135deg,rgba(180,135,74,.07),transparent 60%)}
.ps-card.lock::after{content:'🔒';position:absolute;top:10px;left:12px;font-size:15px;opacity:.55}
.ps-h{display:flex;gap:10px;align-items:flex-start}.ps-ic{font-size:26px;line-height:1}
.ps-h b{display:block}.ps-h small{display:block;color:var(--text-muted);font-size:12px;margin-top:2px;line-height:1.5}
.ps-plans{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ps-lbl{font-size:12px;color:var(--text-muted)}
.ps-chip{font-size:12px;padding:3px 9px;border-radius:99px;border:1px solid var(--border,#d9dde3)}
.ps-chip.on{background:rgba(31,138,76,.12);border-color:rgba(31,138,76,.4);color:#17683a;font-weight:600}
.ps-chip.off{opacity:.45;text-decoration:line-through}.ps-chip.cur{box-shadow:0 0 0 2px rgba(180,135,74,.5)}
.ps-f{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.ps-price{font-size:12px;color:var(--text-muted)}.ps-ok{color:#17683a;font-weight:600;font-size:13px}
.ps-more{margin-top:14px}.ps-more summary{cursor:pointer;font-weight:600;padding:6px 0}

/* بطاقة طلب إذن الدعم */
.ar-box{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:90;width:min(94vw,640px);display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:2px solid #b4874a;border-radius:14px;padding:14px 16px;box-shadow:0 12px 40px rgba(0,0,0,.28);animation:arIn .3s ease}
.ar-ic{font-size:30px}.ar-tx{flex:1;min-width:200px;display:flex;flex-direction:column;gap:3px}.ar-tx span{font-size:13px}.ar-tx small{color:var(--text-muted);font-size:11.5px}
.ar-bt{display:flex;gap:8px}
@keyframes arIn{from{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%,0)}}

/* تلميحات سطر الفاتورة */
.lh-box{font-size:11px;color:var(--text-muted);margin-top:3px;line-height:1.5}
.lh-warn{color:#b91c1c;font-weight:600}
.lh-cost{border:0;background:none;cursor:pointer;padding:0 2px}
input.lh-bad{border-color:#dc2626!important;background:#fef2f2}
.brand-chip{display:inline-block;background:var(--brass,#b8893a);color:#fff;border-radius:6px;padding:2px 9px;font-weight:700;font-size:12px}
.lh-alt{color:#1d4ed8;margin-top:2px}
