/* ===== ديدا فلو (Dida Flow) — هوية بصرية (كحلي داكن + نحاسي) RTL ===== */
:root{
  --bg-body:#f6f5f2; --sidebar-bg:#1b2430; --sidebar-bg2:#121924; --sidebar-text:#aab5c2;
  --sidebar-hover:#232e3d; --primary:#b5590f; --primary-dark:#96490c;
  --accent:#dd8a3f; --border:#e9e6de; --ink:#1f2937;
  --radius-lg:14px; --radius-md:10px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(20,20,20,.04),0 1px 1px rgba(20,20,20,.03);
  --shadow-md:0 4px 14px rgba(20,20,20,.06);
}
*{box-sizing:border-box}
body{
  background:var(--bg-body);
  font-family:'Tajawal','Segoe UI','Tahoma',sans-serif; color:var(--ink); margin:0;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none}

/* Bootstrap component refinements — softer, more rounded, more modern */
.btn{border-radius:var(--radius-sm); font-weight:600; padding:.5rem 1rem; transition:all .15s}
.btn-sm{border-radius:8px; padding:.32rem .75rem}
.form-control,.form-select{border-radius:var(--radius-sm); border-color:var(--border); padding:.5rem .8rem; font-size:.86rem}
.form-control:focus,.form-select:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(221,138,63,.15)}
.form-control-sm,.form-select-sm{border-radius:8px}
.modal-content{border-radius:var(--radius-lg); border:none; box-shadow:0 20px 50px rgba(0,0,0,.18)}
.modal-header{border-bottom:1px solid var(--border); padding:1.1rem 1.4rem}
.modal-body{padding:1.4rem}
.modal-footer{border-top:1px solid var(--border); padding:1rem 1.4rem}
.modal-title{font-weight:800; font-size:1.02rem}

/* Header */
.top-navbar{
  height:60px; background:#fff; border-bottom:1px solid var(--border);
  position:fixed; top:0; right:0; left:0; z-index:1030; padding:0 22px;
  display:flex; align-items:center; justify-content:space-between;
  box-shadow:var(--shadow-sm);
}
.brand-title{font-size:1.15rem; font-weight:800; color:var(--sidebar-bg); letter-spacing:.01em}
.brand-logo{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;
  overflow:hidden; box-shadow:0 3px 8px rgba(181,89,15,.25);
}
.brand-logo img{width:100%;height:100%;object-fit:cover}
.user-avatar{
  width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:bold;
  box-shadow:0 2px 6px rgba(181,89,15,.25);
}

/* Sidebar (على اليمين لأن RTL) — كحلي داكن */
.sidebar{
  width:254px; position:fixed; top:60px; bottom:0; right:0;
  background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg2));
  overflow-y:auto; z-index:1020; user-select:none; padding:10px 8px;
}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb{background:#2e3a49;border-radius:3px}
.sidebar-menu,.submenu{list-style:none; padding:0; margin:0}
.menu-item{margin-bottom:2px}
.menu-group-label{padding:12px 14px 4px; font-size:.66rem; color:#5c6b7d; text-transform:uppercase; letter-spacing:.05em; font-weight:700}
.menu-header{
  padding:10px 14px; font-size:.83rem; color:var(--sidebar-text); border-radius:9px;
  display:flex; align-items:center; justify-content:space-between; cursor:pointer;
  transition:background .15s; font-weight:500;
}
.menu-header:hover{background:var(--sidebar-hover); color:#fff}
.menu-header .icon-main{width:22px; font-size:.9rem; color:var(--accent)}
.menu-header.active-mod{color:#fff; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); box-shadow:0 3px 10px rgba(181,89,15,.3)}
.menu-header.active-mod .icon-main{color:#fff}
.chevron{font-size:.7rem; transition:transform .2s; color:#5c6b7d}
.menu-item.open>.menu-header .chevron{transform:rotate(180deg)}
.submenu{display:none; padding:2px 0 4px}
.menu-item.open>.submenu{display:block}
.submenu-link{
  margin:1px 4px; padding:8px 30px 8px 12px; font-size:.79rem; color:#93a1b0; cursor:pointer;
  display:flex; align-items:center; gap:8px; transition:all .15s; border-radius:8px;
}
.submenu-link:hover{color:#fff; background:var(--sidebar-hover)}
.submenu-link.active{color:#fff; font-weight:600; background:rgba(221,138,63,.18)}
.submenu-link .dot{font-size:.4rem; color:#465264}
.submenu-link.active .dot{color:var(--accent)}

/* Main */
.main-wrapper{margin-right:254px; margin-top:60px; padding:24px; min-height:calc(100vh - 60px)}
.page-title{font-size:1.25rem;font-weight:800;color:var(--sidebar-bg);margin:0 0 4px;letter-spacing:-.01em}
.page-sub{color:#8f8b83;font-size:.82rem;margin:0}

/* Cards */
.card-custom{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.stat-card{background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:17px 18px;box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:space-between;gap:10px;transition:box-shadow .15s,transform .15s}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.stat-card .val{font-size:1.45rem;font-weight:800;color:var(--sidebar-bg);line-height:1.2}
.stat-card .lbl{color:#8f8b83;font-size:.76rem;font-weight:600;margin-top:2px}
.stat-card .sub{color:#bdb9b0;font-size:.68rem}
.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}

/* Tables */
.table-custom{width:100%;border-collapse:collapse}
.table-custom th{background:#f8f7f4;color:#6b6660;font-weight:700;font-size:.76rem;
  border-bottom:1px solid var(--border);padding:11px 12px;text-align:right}
.table-custom td{font-size:.83rem;vertical-align:middle;padding:11px 12px;border-bottom:1px solid #f2f0ec}
.table-custom tbody tr{transition:background .1s}
.table-custom tbody tr:hover{background:#faf9f6}
.table-custom tfoot td{background:#f8f7f4;font-weight:700;border-top:2px solid var(--border)}
.link-drill{color:var(--primary);border-bottom:1px dashed var(--primary);font-weight:600}
.link-drill:hover{color:var(--primary-dark)}

.btn-primary-osos{background:var(--primary);color:#fff;border:none;box-shadow:0 2px 6px rgba(181,89,15,.22)}
.btn-primary-osos:hover{background:var(--primary-dark);color:#fff;box-shadow:0 4px 10px rgba(181,89,15,.3)}
.btn-outline-osos{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.btn-outline-osos:hover{background:var(--primary);color:#fff}
.fs-7{font-size:.8rem}
.badge-soft{background:#fbeee0;color:var(--primary);border-radius:20px;padding:3px 11px;font-size:.72rem;font-weight:700}
.cost-box{background:#faf9f7;border:1px dashed #ddd7cb;border-radius:var(--radius-md);padding:16px}
.cost-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.85rem;border-bottom:1px dashed #e2e8f0}
.cost-row.total{font-weight:800;font-size:1rem;color:var(--primary);border-bottom:none;border-top:2px solid var(--primary);margin-top:6px;padding-top:10px}

/* Status pills (زي "نشط"/"منتهي" في الجداول) */
.status-pill{border-radius:20px;padding:4px 13px;font-size:.72rem;font-weight:700;display:inline-block}
.status-pill.ok{background:#e7f6ec;color:#1a7d3c}
.status-pill.warn{background:#fff2df;color:#a5610a}
.status-pill.danger{background:#fdecec;color:#c0231e}
.status-pill.muted{background:#f0efeb;color:#6b6660}

/* IFRS statements + tabs */
.fin-tabs{display:flex;gap:6px;background:#f0efeb;padding:5px;border-radius:10px;flex-wrap:wrap}
.fin-tab{padding:8px 16px;border-radius:8px;font-size:.82rem;font-weight:700;color:#6b6660;cursor:pointer;border:none;background:transparent}
.fin-tab.active{background:var(--primary);color:#fff}
.fin-section td{background:#fdf6ec;font-weight:800;color:#7a5b1e}
.fin-total td{font-weight:800;border-top:2px solid var(--border)}
.alert-tile{border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:.83rem}
.alert-danger-soft{background:#fdecec;color:#b42318;border:1px solid #f7cfcf}
.alert-warn-soft{background:#fff7e6;color:#8a5a00;border:1px solid #ffe2a8}

/* عنوان قسم موحّد للتقارير (خط جانبي ملوّن) */
.section-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;color:var(--sidebar-bg);
  border-right:4px solid var(--primary);padding-right:10px;margin-bottom:14px}
.report-meta-bar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:18px;
  display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.report-meta-bar .item{display:flex;flex-direction:column;gap:2px}
.report-meta-bar .item .k{font-size:.68rem;color:#96938c;text-transform:uppercase;letter-spacing:.03em}
.report-meta-bar .item .v{font-size:.9rem;font-weight:700;color:var(--sidebar-bg)}

/* مستند مطبوع (فاتورة/عرض سعر/مستخلص) */
.doc-sheet{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;max-width:880px;margin:0 auto;box-shadow:var(--shadow-sm)}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--primary);padding-bottom:16px;margin-bottom:18px}
.doc-head .co-logo{width:60px;height:60px;border-radius:10px;object-fit:cover}
.doc-title{font-size:1.5rem;font-weight:800;color:var(--sidebar-bg)}
.doc-meta{font-size:.8rem;color:#6b6660}
.doc-table{width:100%;border-collapse:collapse;margin:14px 0}
.doc-table th{background:#f6f4f1;font-size:.78rem;padding:8px;border:1px solid var(--border)}
.doc-table td{font-size:.82rem;padding:8px;border:1px solid var(--border)}
.doc-totals{width:280px;margin-inline-start:auto}
.doc-totals .row{display:flex;justify-content:space-between;padding:5px 0;font-size:.85rem}
.doc-totals .row.grand{font-weight:800;font-size:1.05rem;color:var(--primary);border-top:2px solid var(--primary);padding-top:8px}

/* هيدر/فوتر مطبوع — مخفي على الشاشة، يظهر بس وقت الطباعة */
.print-header,.print-footer{display:none}

/* طباعة: يظهر المستند فقط + هيدر/فوتر موحّد */
@media print{
  .top-navbar,.sidebar,.no-print{display:none !important}
  .main-wrapper{margin:0 !important;padding:0 !important}
  body{background:#fff}
  .print-header{
    display:flex !important; justify-content:space-between; align-items:center;
    border-bottom:2px solid var(--primary); padding-bottom:10px; margin-bottom:16px;
  }
  .print-footer{
    display:flex !important; justify-content:space-between;
    border-top:1px solid var(--border); margin-top:16px; padding-top:8px;
    font-size:.72rem; color:#8a8680;
  }
}
