/* ==========================================================================
   Arkan OS — نظام تصميم هادئ عصري (Light, RTL) — v3
   تركوازي أركان (#009698) كلمسة، وباقي النظام هادئ بألوان واضحة للرسوم.
   ========================================================================== */

:root {
  --teal:#009698; --teal-d:#00726f; --teal-050:#e6f5f4; --teal-100:#cdeceb;
  --ink:#1f2a33; --ink-soft:#3d4a54; --gray:#6b7680; --gray-2:#9aa4ad;
  --line:#e9edf0; --line-2:#f1f4f6; --bg:#f5f7f9; --card:#ffffff;
  --danger:#e05a5a; --ok:#27a866; --amber:#e79a2b; --blue:#4c86e6; --violet:#8a7bf0;
  /* ألوان الرسوم البيانية (واضحة ومتمايزة) */
  --c1:#009698; --c2:#4c86e6; --c3:#e79a2b; --c4:#8a7bf0; --c5:#27a866; --c6:#ef6b6b; --c7:#12b3b0;
  --radius:16px; --radius-sm:11px;
  --shadow:0 1px 3px rgba(20,30,40,.05), 0 8px 24px rgba(20,30,40,.05);
  --shadow-hover:0 8px 30px rgba(20,30,40,.10);
  --sidebar-w:246px;
  --font:"Cairo","Segoe UI","Tahoma",system-ui,sans-serif;
  --mono:"JetBrains Mono","Consolas",monospace;
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; font-family:var(--font); background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:var(--teal-d); text-decoration:none; }
button { font-family:inherit; cursor:pointer; }

/* ======================= تسجيل الدخول ======================= */
.auth-wrap { min-height:100vh; display:grid; place-items:center; padding:24px;
  background:radial-gradient(1100px 460px at 82% -8%, #e2f3f2 0%, var(--bg) 62%); }
.auth-card { width:100%; max-width:400px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:34px 30px; }
.auth-brand { display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:22px; }
.auth-brand img { width:58px; height:68px; }
.auth-brand h1 { font-size:21px; margin:0; font-weight:800; }
.auth-brand p { margin:0; color:var(--gray); font-size:13px; }
.field { margin-bottom:16px; }
.field label { display:block; font-size:13px; font-weight:700; margin-bottom:7px; }
.field input { width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px;
  font-size:15px; font-family:inherit; color:var(--ink); background:#fbfdfd; transition:.15s; }
.field input:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-050); background:#fff; }
.pw-row { position:relative; }
.pw-toggle { position:absolute; inset-inline-start:10px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--gray); font-size:12px; padding:4px 6px; }
.btn-primary { width:100%; padding:13px; border:none; border-radius:10px; background:var(--teal);
  color:#fff; font-size:15px; font-weight:700; transition:.15s; }
.btn-primary:hover { background:var(--teal-d); }
.btn-primary:active { transform:translateY(1px); }
.btn-primary:disabled { opacity:.6; cursor:not-allowed; }
.auth-error { display:none; background:#fdecec; color:var(--danger); border:1px solid #f6d4d4;
  padding:10px 12px; border-radius:10px; font-size:13px; margin-bottom:16px; }
.auth-error.show { display:block; }
.auth-foot { margin-top:20px; text-align:center; font-size:12px; color:var(--gray); }

/* ======================= الهيكل ======================= */
.layout { display:flex; min-height:100vh; }

/* سايدبار فاتح على اليمين */
.sidebar { width:var(--sidebar-w); background:var(--card); color:var(--ink); position:fixed;
  inset-block:0; inset-inline-end:0; display:flex; flex-direction:column; z-index:40;
  border-inline-start:1px solid var(--line); transition:transform .25s ease; }
.sidebar .brand { display:flex; align-items:center; gap:11px; padding:20px 20px 16px; border-bottom:1px solid var(--line-2); }
.sidebar .brand img { width:34px; height:40px; }
.sidebar .brand b { font-size:16.5px; color:var(--ink); }
.sidebar .brand span { display:block; font-size:10.5px; color:var(--gray); }
.side-nav { padding:12px; display:flex; flex-direction:column; gap:3px; flex:1; overflow-y:auto; }
.side-nav .grp { font-size:10.5px; color:var(--gray-2); padding:14px 12px 6px; letter-spacing:.4px; font-weight:700; }
.side-nav a { display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:12px;
  color:var(--gray); font-size:13.5px; font-weight:600; transition:.15s; position:relative; }
.side-nav a svg { width:19px; height:19px; flex:0 0 auto; opacity:.75; }
.side-nav a:hover { background:var(--line-2); color:var(--ink); }
.side-nav a.active { background:var(--teal-050); color:var(--teal-d); }
.side-nav a.active svg { opacity:1; color:var(--teal); }
.side-nav a.active::before { content:""; position:absolute; inset-inline-end:-12px; top:50%; transform:translateY(-50%);
  width:4px; height:22px; background:var(--teal); border-radius:4px; }
.side-nav a.soon { opacity:.55; cursor:default; }
.side-nav a.soon:hover { background:transparent; color:var(--gray); }
.side-nav a .soon-tag { margin-inline-start:auto; font-size:9px; background:var(--line); color:var(--gray); padding:1px 7px; border-radius:10px; }
.sidebar .side-foot { padding:14px 18px; font-size:10.5px; color:var(--gray-2); border-top:1px solid var(--line-2); }

.content-wrap { flex:1; margin-inline-end:var(--sidebar-w); min-width:0; display:flex; flex-direction:column; }

/* الترويسة */
.topbar { background:var(--card); border-bottom:1px solid var(--line); padding:13px 24px; display:flex;
  align-items:center; gap:14px; position:sticky; top:0; z-index:30; }
.topbar .hamb { display:none; background:none; border:none; padding:6px; color:var(--ink); }
.topbar .page-h { font-size:16px; font-weight:800; margin:0; }
.topbar .spacer { flex:1; }
.topbar .clock { font-size:12px; color:var(--gray); background:var(--bg); padding:7px 13px; border-radius:20px; white-space:nowrap; }
.topbar .user { display:flex; align-items:center; gap:10px; }
.topbar .user .av { width:36px; height:36px; border-radius:50%; background:var(--teal); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13.5px; }
.topbar .user .who { text-align:left; }
.topbar .user .who b { font-size:13px; display:block; }
.topbar .user .who small { font-size:11px; color:var(--gray); }
.btn-logout { background:var(--card); border:1.5px solid var(--line); color:var(--gray); border-radius:9px;
  padding:8px 12px; font-size:12.5px; font-weight:700; }
.btn-logout:hover { border-color:var(--danger); color:var(--danger); }

.content { padding:24px; max-width:1240px; width:100%; margin:0 auto; }
.page-title { font-size:19px; margin:2px 0 18px; font-weight:800; }
.sub-muted { color:var(--gray); font-size:13px; }

.overlay { display:none; position:fixed; inset:0; background:rgba(20,30,35,.4); z-index:35; }
.overlay.show { display:block; }

/* ======================= البطاقات الإحصائية ======================= */
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:16px; }
.stat-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px; display:flex; align-items:center; gap:14px; box-shadow:var(--shadow); transition:.15s; }
.stat-card:hover { box-shadow:var(--shadow-hover); transform:translateY(-2px); }
.stat-card .ic { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.stat-card .ic svg { width:23px; height:23px; }
.ic.teal { background:var(--teal-050); color:var(--teal-d); }
.ic.blue { background:#eaf1fd; color:var(--blue); }
.ic.amber { background:#fdf3e5; color:var(--amber); }
.ic.green { background:#e7f7ee; color:var(--ok); }
.ic.violet { background:#f0edfd; color:var(--violet); }
.stat-card .val { font-size:25px; font-weight:800; line-height:1.1; }
.stat-card .lbl { font-size:12.5px; color:var(--gray); margin-top:3px; }

.grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:16px; }
@media (min-width:940px){ .grid.two { grid-template-columns:1.6fr 1fr; } }
.panel { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); }
.panel h3 { margin:0 0 16px; font-size:14.5px; color:var(--ink); font-weight:800; display:flex; align-items:center; gap:8px; }
.panel h3 .count { font-size:11px; color:var(--gray); font-weight:600; }

/* ======================= الرسوم البيانية ======================= */
.chart-box { width:100%; }
.bars { display:flex; align-items:flex-end; gap:10px; height:170px; padding-top:10px; }
.bars .col { flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; height:100%; justify-content:flex-end; }
.bars .col .bar { width:66%; max-width:34px; background:linear-gradient(180deg, var(--teal) 0%, #33b0b0 100%);
  border-radius:7px 7px 0 0; min-height:3px; transition:height .5s ease; position:relative; }
.bars .col .bar:hover::after { content:attr(data-v); position:absolute; top:-20px; inset-inline-start:50%; transform:translateX(50%);
  background:var(--ink); color:#fff; font-size:10px; padding:2px 6px; border-radius:5px; white-space:nowrap; }
.bars .col .cap { font-size:10.5px; color:var(--gray); }

.donut-wrap { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.donut { position:relative; width:150px; height:150px; flex:0 0 auto; }
.donut .center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.donut .center b { font-size:24px; font-weight:800; }
.donut .center small { font-size:10.5px; color:var(--gray); }
.legend { flex:1; min-width:150px; display:flex; flex-direction:column; gap:9px; }
.legend .li { display:flex; align-items:center; gap:9px; font-size:12.5px; }
.legend .li .sw { width:11px; height:11px; border-radius:3px; flex:0 0 auto; }
.legend .li .nm { color:var(--ink-soft); flex:1; }
.legend .li .vv { font-weight:700; color:var(--ink); }

/* توزيع أفقي (احتياطي) */
.dist { display:flex; flex-direction:column; gap:11px; }
.dist .row { display:flex; align-items:center; gap:10px; font-size:12.5px; }
.dist .row .nm { width:130px; color:var(--gray); flex:0 0 auto; }
.dist .row .bar { flex:1; height:9px; background:#eef2f4; border-radius:6px; overflow:hidden; }
.dist .row .bar i { display:block; height:100%; background:var(--teal); border-radius:6px; }
.dist .row .vv { width:32px; text-align:left; font-weight:700; color:var(--teal-d); }

/* ======================= أدوات وأزرار ======================= */
.toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:16px; }
.toolbar input,.toolbar select { padding:10px 13px; border:1.5px solid var(--line); border-radius:11px;
  font-family:inherit; font-size:13px; background:#fff; color:var(--ink); }
.toolbar input { min-width:230px; }
.toolbar input:focus,.toolbar select:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-050); }
.spacer { flex:1; }
.btn { padding:10px 16px; border:none; border-radius:11px; font-size:13px; font-weight:700;
  background:var(--teal); color:#fff; font-family:inherit; display:inline-flex; align-items:center; gap:7px; }
.btn:hover { background:var(--teal-d); }
.btn svg { width:16px; height:16px; }
.btn.ghost { background:#fff; color:var(--teal-d); border:1.5px solid var(--line); }
.btn.ghost:hover { border-color:var(--teal); }
.btn:disabled { opacity:.6; cursor:not-allowed; }

/* ======================= جدول البيانات ======================= */
.table-wrap { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.data-table { width:100%; border-collapse:collapse; }
.data-table th,.data-table td { padding:13px 16px; text-align:right; border-bottom:1px solid var(--line-2); font-size:13px; }
.data-table th { background:#f8fafb; color:var(--gray); font-weight:700; font-size:11.5px; }
.data-table tbody tr { transition:.12s; }
.data-table tbody tr:hover td { background:#f9fcfc; cursor:pointer; }
.data-table tbody tr:last-child td { border-bottom:none; }
.data-table .phone { direction:ltr; text-align:right; font-family:var(--mono); font-size:12px; color:var(--gray); }
.empty { text-align:center; color:var(--gray); padding:44px 20px; font-size:14px; }
.avatar-cell { display:flex; align-items:center; gap:10px; }
.avatar-cell .av { width:32px; height:32px; border-radius:50%; background:var(--teal-050); color:var(--teal-d);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; flex:0 0 auto; }

.badge { display:inline-block; padding:3px 11px; border-radius:20px; font-size:11.5px; font-weight:700; white-space:nowrap; }
.badge.stage { background:var(--teal-050); color:var(--teal-d); }
.badge.special { background:#fdeeee; color:#c0504f; }
.badge.dup { background:#fdf3e5; color:#a56a1a; }
.badge.done { background:#e7f7ee; color:#1c8f54; }
.badge.muted { background:#eef1f3; color:var(--gray); }

/* ======================= تفاصيل العميل ======================= */
.detail-head { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; margin-bottom:16px; box-shadow:var(--shadow); display:flex; gap:16px; align-items:flex-start; }
.detail-head .big-av { width:56px; height:56px; border-radius:16px; background:var(--teal); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:22px; flex:0 0 auto; }
.detail-head h2 { margin:0 0 6px; font-size:21px; }
.detail-head .meta { color:var(--gray); font-size:13px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.detail-head .meta .phone { direction:ltr; font-family:var(--mono); }
.cols { display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:860px){ .cols { grid-template-columns:1.5fr 1fr; } }

.timeline { list-style:none; margin:0; padding:0; }
.timeline li { border-inline-start:2px solid var(--line); padding:0 16px 18px; position:relative; }
.timeline li:last-child { border-inline-start-color:transparent; padding-bottom:0; }
.timeline li::before { content:""; position:absolute; inset-inline-start:-6px; top:3px; width:11px; height:11px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 3px var(--teal-050); }
.timeline .t { font-size:13px; font-weight:700; display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.timeline .sub { font-size:11.5px; color:var(--gray); margin-top:3px; }
.timeline .extras { margin-top:6px; }
.timeline .extras span { display:inline-block; background:var(--line-2); border-radius:7px; padding:2px 9px; margin:3px 4px 0 0; font-size:11.5px; }

.form-inline { display:flex; gap:8px; margin-top:12px; }
.form-inline input,.form-inline select,.form-inline textarea { flex:1; padding:10px 12px; border:1.5px solid var(--line); border-radius:10px; font-family:inherit; font-size:13px; }
.form-inline input:focus,.form-inline select:focus { outline:none; border-color:var(--teal); }
.back-link { display:inline-flex; align-items:center; gap:6px; color:var(--gray); font-size:13px; font-weight:700; margin-bottom:14px; }
.back-link:hover { color:var(--teal-d); }

/* شريط المزامنة */
.sync-bar { display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line);
  border-radius:var(--radius); padding:12px 16px; margin-bottom:18px; font-size:12.5px; color:var(--gray); box-shadow:var(--shadow); }
.sync-bar .dot { width:9px; height:9px; border-radius:50%; background:#c9c9c9; flex:0 0 auto; }
.sync-bar .dot.on { background:var(--ok); box-shadow:0 0 0 3px #e7f7ee; }
.sync-bar .dot.off { background:var(--danger); box-shadow:0 0 0 3px #fdecec; }

/* Modal */
.modal-back { position:fixed; inset:0; background:rgba(20,30,35,.5); display:none; align-items:center; justify-content:center; z-index:70; padding:20px; }
.modal-back.show { display:flex; }
.modal { background:#fff; border-radius:var(--radius); width:100%; max-width:460px; box-shadow:var(--shadow-hover); overflow:hidden; max-height:92vh; display:flex; flex-direction:column; }
.modal-head { padding:18px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.modal-head h3 { margin:0; font-size:16px; font-weight:800; }
.modal-head .x { background:none; border:none; font-size:22px; color:var(--gray); line-height:1; }
.modal-body { padding:18px 20px; overflow-y:auto; }
.modal-body .fld { margin-bottom:13px; }
.modal-body .fld label { display:block; font-size:12.5px; font-weight:700; margin-bottom:6px; color:var(--ink); }
.modal-body .fld input, .modal-body .fld select { width:100%; padding:11px 13px; border:1.5px solid var(--line); border-radius:10px; font-family:inherit; font-size:14px; }
.modal-body .fld input:focus, .modal-body .fld select:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-050); }
.modal-body .fld input[dir=ltr] { direction:ltr; text-align:right; }
.modal-err { display:none; background:#fdecec; color:var(--danger); border:1px solid #f6d4d4; padding:9px 12px; border-radius:9px; font-size:12.5px; margin-bottom:12px; }
.modal-err.show { display:block; }
.modal-foot { padding:14px 20px; border-top:1px solid var(--line); display:flex; gap:10px; justify-content:flex-start; }

.toast { position:fixed; bottom:20px; inset-inline-start:20px; background:var(--ink); color:#fff;
  padding:12px 18px; border-radius:11px; font-size:13px; box-shadow:var(--shadow-hover); opacity:0; transform:translateY(10px); transition:.2s; z-index:80; }
.toast.show { opacity:1; transform:translateY(0); }

/* إعدادات */
.settings-grid { display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:820px){ .settings-grid { grid-template-columns:1fr 1fr; } }
.brand-preview { display:flex; align-items:center; gap:14px; padding:14px; border:1px dashed var(--line); border-radius:12px; margin-bottom:12px; }
.brand-preview img { width:48px; height:48px; object-fit:contain; }
.brand-preview .icon-prev { width:48px; height:48px; border-radius:12px; object-fit:cover; border:1px solid var(--line); }
.file-btn { display:inline-block; padding:9px 14px; border:1.5px dashed var(--line); border-radius:10px; font-size:12.5px; color:var(--teal-d); cursor:pointer; font-weight:700; }
.file-btn:hover { border-color:var(--teal); }
.file-btn input { display:none; }

/* موبايل */
@media (max-width:900px){
  .sidebar { transform:translateX(100%); box-shadow:-8px 0 30px rgba(0,0,0,.12); }
  .sidebar.open { transform:translateX(0); }
  .content-wrap { margin-inline-end:0; }
  .topbar .hamb { display:inline-flex; }
  .topbar .clock { display:none; }
  .content { padding:16px; }
}
