/* ============================================================
   نظام الرحمن — ثيم عربي RTL متجاوب
   ============================================================ */
:root{
  --ink-deep:#182b3d; --ink-soft:#627182;
  --paper:#f6f3ec; --paper-bright:#fffdf9;
  --navy:#1a3045; --navy-2:#24445d;
  --saffron:#f0b85d; --mint:#dff0e9;
  --success:#287a61; --coral:#d96b5b;
  --line:#e4dfd5;
  --sidebar-w:276px;
  --page-max:1440px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:'Noto Kufi Arabic','DM Sans',sans-serif;
  background:
    radial-gradient(circle at 27% 0%, rgba(240,184,93,.12), transparent 24rem),
    var(--paper);
  color:#1a3045;
  min-width:320px;
  min-height:100dvh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;}
button{cursor:pointer;}
img,svg{max-width:100%;}
.font-mono,.mono{font-family:'Space Mono',monospace;letter-spacing:-.02em;}
/* الأرقام الكبيرة في الكروت تتلزّز أكتر زي التصميم الأصلي */
strong.mono{letter-spacing:-.03em;}

/* ===== قاعدة المحاذاة العربية الذهبية =====
   العنصر اللي فيه رقم + كلمة عربية (زي "70,500 ج.م" أو "1,200 كجم")
   لازم يفضل RTL/plaintext عشان الرقم ييجي يمين والكلمة بعده صح.
   بس الأرقام "الخام" اللي في أعمدة معزولة بنخليها LTR لوحدها.
   plaintext = المتصفح يقرر اتجاه كل جزء حسب أول محرف قوي فيه — وده الأنسب للعربي المختلط بأرقام. */
.mono{unicode-bidi:plaintext;}

/* الأرقام الخام بس (من غير أي نص عربي جنبها) نعزلها LTR */
.num-ltr{direction:ltr;unicode-bidi:isolate;display:inline-block;}

/* رقم معروض كـ block جوه كارت (زي "70,500 ج.م") يتحاذى بداية السطر = يمين في RTL */
strong.mono[style*="block"],.mono.as-block{text-align:start;}

/* الأرقام السالبة: نضمن ظهور علامة (-) في مكانها الصح مهما كان السياق.
   bdi بيعزل اتجاه الرقم لكن يسيب الترتيب مع النص العربي طبيعي */
bdi{unicode-bidi:isolate;}

/* في القوائم: صف فيه أيقونة + بيان + مبلغ. المبلغ يفضل آخر السطر (شمال) */
.list-row > .mono:last-child{margin-inline-start:auto;flex:none;text-align:left;}

/* ===== التخطيط العام ===== */
.main{min-height:100dvh;}
@media(min-width:768px){ .main{margin-inline-end:var(--sidebar-w);} }

/* ===== القائمة الجانبية ===== */
.sidebar{
  position:fixed;inset-block:0;inset-inline-end:0;z-index:40;
  display:flex;flex-direction:column;width:var(--sidebar-w);max-width:86vw;
  overflow-y:auto;background:var(--navy);color:#f7f2e8;
  box-shadow:-12px 0 32px rgba(23,42,59,.08);
  transition:transform .3s ease;
}
.sidebar-inner{position:relative;display:flex;height:100%;flex-direction:column;padding:24px 20px;}
.sidebar-pattern{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:16px 16px;
  -webkit-mask-image:linear-gradient(to bottom,black,transparent 86%);
          mask-image:linear-gradient(to bottom,black,transparent 86%);
}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:36px;}
.brand-mark{
  display:flex;height:40px;width:40px;flex:none;align-items:center;justify-content:center;
  border-radius:12px;font-size:20px;font-weight:700;color:var(--navy);
  background:var(--saffron);box-shadow:0 6px 16px rgba(240,184,93,.2);
}
.brand-title{font-weight:700;color:#fffaf1;}
.brand-sub{margin-top:2px;font-size:10px;color:#aab7bd;}

.nav-group{margin-bottom:22px;}
.nav-group-title{margin-bottom:10px;padding-inline:12px;font-size:9px;font-weight:700;letter-spacing:.14em;color:#6d7f8b;opacity:.85;}
.nav-item{
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;
  border-radius:12px;padding:11px 12px;margin-bottom:2px;text-align:start;font-size:12.5px;font-weight:600;
  color:rgba(247,242,232,.6);transition:background-color .2s,color .2s,transform .2s;
}
.nav-item:hover{color:#fffaf1;background:rgba(255,255,255,.07);transform:translateX(2px);}
.nav-item.active{color:var(--navy)!important;background:var(--saffron);box-shadow:0 7px 18px rgba(240,184,93,.18);}
.nav-item .ico{display:inline-flex;align-items:center;gap:12px;min-width:0;}
.nav-item .ico svg{opacity:.9;}
.nav-item .ico span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-item .ico svg{flex:none;}
.nav-badge{flex:none;border-radius:999px;padding:2px 6px;font-size:10px;background:rgba(255,255,255,.1);color:#f0b85d;}
.nav-item.active .nav-badge{background:#1a3045;color:#f7f2e8;}

.sidebar-foot{margin-top:auto;}
.sidebar-alert{margin-bottom:20px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);padding:16px;}
.sidebar-alert h4{margin:0 0 8px;display:flex;align-items:center;gap:8px;color:#f0b85d;font-size:11px;font-weight:700;}
.sidebar-alert p{margin:0;font-size:11px;line-height:1.6;color:#d6dfdf;}
.sidebar-user{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:16px;}
.sidebar-user .avatar{display:flex;height:36px;width:36px;flex:none;align-items:center;justify-content:center;border-radius:999px;background:#dff0e9;font-size:12px;font-weight:700;color:#287a61;}
.sidebar-user .u-name{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sidebar-user .u-mail{margin-top:2px;font-size:10px;color:#9caeb5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sidebar-user .logout{margin-inline-start:auto;flex:none;border-radius:8px;padding:8px;color:#9caeb5;background:none;border:none;}
.sidebar-user .logout:hover{background:rgba(255,255,255,.1);color:#fff;}

.sidebar-overlay{position:fixed;inset:0;z-index:30;background:rgba(18,40,59,.45);border:none;display:none;}

@media(max-width:767px){
  .sidebar{transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);}
  .sidebar-overlay.show{display:block;}
}
.sidebar-close{display:none;border:none;background:none;border-radius:8px;padding:6px;color:#aab7bd;}
.sidebar-close:hover{background:rgba(255,255,255,.1);color:#fff;}
@media(max-width:767px){ .sidebar-close{display:inline-flex;} }

/* ===== الهيدر العلوي ===== */
.topbar{
  position:sticky;top:0;z-index:20;
  border-bottom:1px solid rgba(232,226,216,.8);
  background:rgba(246,243,236,.9);backdrop-filter:blur(12px);
  padding:14px 18px;
}
@media(min-width:768px){ .topbar{padding:16px 36px;} }
.topbar-inner{margin:0 auto;max-width:var(--page-max);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.topbar h1{margin:4px 0 0;font-size:16px;font-weight:700;letter-spacing:-.01em;}
@media(min-width:768px){ .topbar h1{font-size:18px;} }
.topbar .date{font-size:10px;font-weight:700;color:#839097;}
.topbar .head-cta{flex:none;}
.menu-btn{border-radius:12px;border:1px solid #e0dacf;background:#fffdf9;padding:8px;color:#24445d;display:none;flex:none;}
@media(max-width:767px){ .menu-btn{display:inline-flex;} }
@media(max-width:520px){ .topbar .head-cta .btn-label{display:none;} }

/* ===== محتوى الصفحة ===== */
.page{margin:0 auto;max-width:var(--page-max);padding:24px 18px;}
@media(min-width:768px){ .page{padding:36px;} }

.page-head{margin-bottom:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;}
@media(min-width:768px){ .page-head{flex-direction:row;align-items:flex-end;gap:20px;margin-bottom:28px;} }
.page-head > div:first-child{min-width:0;}
.eyebrow{color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.06em;}
.page-head h2{margin:8px 0 0;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.25;}
@media(min-width:768px){ .page-head h2{font-size:28px;} }
.page-head p{margin:8px 0 0;font-size:12px;color:#7b898f;line-height:1.6;}
.page-head .btn,.page-head > div:last-child{flex:none;}

/* ===== الكروت ===== */
.card{
  border:1px solid var(--line);
  background:rgba(255,253,249,.82);
  box-shadow:0 7px 24px rgba(29,49,65,.045);
  border-radius:16px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.card:hover{border-color:#d8d0c3;box-shadow:0 12px 32px rgba(29,49,65,.085);transform:translateY(-2px);}
.card-pad{padding:18px;}
@media(min-width:768px){ .card-pad{padding:24px;} }
.card-head{border-bottom:1px solid #ece7dd;padding:18px 20px;}
.card-head h3{margin:0;font-size:14px;font-weight:700;}
.card-head p{margin:4px 0 0;font-size:10px;color:#89959a;line-height:1.5;}

.grid{display:grid;gap:16px;}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1024px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr);}
}
/* شبكات مركبة inline في الصفحات تنهار على الموبايل */
@media(max-width:900px){
  .grid[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important;}
}

/* ===== كروت المؤشرات ===== */
.metric{position:relative;overflow:hidden;border-radius:16px;padding:18px;}
.metric::after{position:absolute;content:'';width:92px;height:92px;inset-inline-start:-25px;bottom:-42px;border:1px solid rgba(240,184,93,.24);border-radius:999px;}
.metric.primary{border-color:var(--navy);background:var(--navy);color:#fffaf1;box-shadow:0 12px 28px rgba(26,48,69,.16);}
.metric.primary::after{border-color:rgba(240,184,93,.28);}
.metric .m-title{margin-bottom:12px;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;color:var(--ink-soft);}
.metric.primary .m-title{color:#b7c9cc;}
.metric .m-val{font-family:'Space Mono',monospace;font-size:26px;font-weight:700;letter-spacing:-.07em;unicode-bidi:plaintext;display:inline-block;line-height:1.1;}
@media(min-width:768px){ .metric .m-val{font-size:28px;} }
.metric .m-suffix{font-size:10px;color:var(--ink-soft);}
.metric.primary .m-suffix{color:#b7c9cc;}
.metric .m-icon{border-radius:12px;padding:10px;background:#eaf3ef;color:#287a61;flex:none;}
.metric.primary .m-icon{background:rgba(255,255,255,.1);color:#f0b85d;}

/* ===== الجداول ===== */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 16px 16px;}
table.tbl{width:100%;text-align:right;border-collapse:collapse;}
table.tbl thead tr{background:#fbf8f2;font-size:9px;font-weight:700;color:#96a0a2;}
table.tbl th{padding:12px;font-weight:700;text-align:right;white-space:nowrap;}
table.tbl td{padding:14px 12px;font-size:10px;border-top:1px solid #f0ece4;}
@media(min-width:768px){ table.tbl td{padding:16px 12px;} }
table.tbl tbody tr{transition:background-color .18s;}
table.tbl tbody tr:hover{background:#fcf6e9;}

/* المبالغ في الجداول تتحاذى ناحية بداية السطر (يمين في RTL) افتراضيًا.
   الأرقام+العملة العربية تفضل plaintext عشان "1,200 كجم" تظهر صح. */
.text-left{text-align:left;}
.text-start{text-align:start;}
th.text-left,td.text-left{text-align:left;}
/* الأرقام جوه الجداول: plaintext مش ltr — عشان الكلمة العربية اللي بعد الرقم متتقلبش */
table.tbl td.mono,table.tbl .mono{unicode-bidi:plaintext;}
/* رقم صافي من غير نص عربي (زي عمود مدين/دائن) نعزله LTR لطرف الخانة */
table.tbl td.num{direction:ltr;unicode-bidi:isolate;text-align:left;font-family:'Space Mono',monospace;white-space:nowrap;}
table.tbl th.num{text-align:left;}

.b{font-weight:700;}
.t-success{color:var(--success);}
.t-coral{color:var(--coral);}
.t-navy{color:var(--navy-2);}
.t-muted{color:#89959a;}
.t-gold{color:#a27125;}

/* ===== الشارات ===== */
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:700;white-space:nowrap;}
.pill-paid{color:var(--success);background:#e3f1eb;}
.pill-pending{color:#9b691d;background:#fff0cf;}
.pill-overdue{color:#b84e43;background:#fbe5e0;}

/* ===== الأزرار ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px 16px;font-size:10px;font-weight:700;border:none;transition:background-color .2s,transform .2s;white-space:nowrap;}
.btn svg{flex:none;}
.btn-navy{background:var(--navy-2);color:#fffaf1;box-shadow:0 4px 12px rgba(36,68,93,.1);}
.btn-navy:hover{background:var(--navy);}
.btn-green{background:var(--success);color:#fffaf1;}
.btn-green:hover{background:#1f624e;}
.btn-coral{background:var(--coral);color:#fffaf1;}
.btn-coral:hover{background:#b84e43;}
.btn-ghost{border:1px solid #ded8ce;background:transparent;color:#61717b;}
.btn-ghost:hover{background:#faf6ee;}
.btn-outline-coral{border:1px solid var(--coral);background:transparent;color:var(--coral);}
.btn-sm{padding:8px 12px;}
.btn-block{width:100%;}

.toolbar{margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.toolbar form{margin:0;}
.chip{border-radius:12px;padding:10px 12px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:6px;}
.chip-gold{background:#fff0cf;color:#8d6828;}
.chip-green{background:#e3f1eb;color:#287a61;}
.chip-coral{background:#fbe5e0;color:#9c554a;}

/* ===== النماذج ===== */
.field{display:block;margin-bottom:0;min-width:0;}
.field > span{margin-bottom:6px;display:block;font-size:10px;font-weight:700;color:#62717a;}
.inp,select.inp,textarea.inp{
  width:100%;border-radius:12px;border:1px solid #ded8ce;background:#fcfaf6;
  padding:12px;font-size:16px;color:#1a3045;outline:none;transition:border-color .2s;
}
@media(min-width:768px){ .inp,select.inp,textarea.inp{font-size:12px;} }
.inp:focus{border-color:#9f8050;}
.inp.mono{font-family:'Space Mono',monospace;direction:ltr;text-align:right;}
.inp[type=date]{min-height:44px;}
.row{display:grid;gap:12px;}
.row.c2{grid-template-columns:1fr 1fr;}
@media(max-width:480px){ .row.c2{grid-template-columns:1fr;} }
.form-space > * + *{margin-top:16px;}

/* ===== المودال ===== */
.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(22,40,56,.5);backdrop-filter:blur(6px);animation:fadeIn .2s both;overflow-y:auto;}
@media(max-width:640px){ .modal-backdrop{align-items:flex-end;padding:0;} }
.modal{width:100%;max-width:480px;border-radius:24px;background:#fffdf9;padding:22px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:panelIn .28s cubic-bezier(.22,.8,.2,1) both;margin:auto;}
@media(min-width:768px){ .modal{padding:24px;} }
@media(max-width:640px){ .modal{border-radius:24px 24px 0 0;max-width:100%;max-height:92dvh;overflow-y:auto;margin:0;} }
.modal-head{margin-bottom:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.modal-head h2{margin:0;font-size:17px;font-weight:700;line-height:1.3;}
.modal-head p{margin:4px 0 0;font-size:11px;color:#7c898f;line-height:1.5;}
.modal-close{border-radius:12px;border:none;background:none;padding:8px;color:#839097;flex:none;}
.modal-close:hover{background:#f2eee5;}

/* ===== التوست ===== */
.toast{position:fixed;bottom:20px;inset-inline-start:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;border-radius:12px;background:#24445d;padding:12px 16px;font-size:11px;font-weight:700;color:#fffaf1;box-shadow:0 20px 40px rgba(0,0,0,.2);animation:toastIn .35s cubic-bezier(.22,.8,.2,1) both;max-width:calc(100vw - 32px);}

/* ===== شاشة الدخول ===== */
.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;}
.auth-card{width:100%;max-width:420px;border-radius:24px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 20px 50px rgba(29,49,65,.1);padding:28px;}
@media(min-width:768px){ .auth-card{padding:36px;} }
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;}
.auth-error{margin-bottom:16px;border-radius:12px;background:#fbe5e0;padding:12px;font-size:11px;font-weight:700;color:#b84e43;line-height:1.6;}
.auth-note{margin-bottom:16px;border-radius:12px;background:#e3f1eb;padding:12px;font-size:11px;font-weight:700;color:#287a61;line-height:1.6;}

/* ===== الرسم البياني ===== */
.chart-grid{stroke:#e6e0d6;stroke-width:1;}
.chart-line{fill:none;stroke:var(--navy-2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.chart-area{fill:url(#wash);}

/* ===== متنوع ===== */
.empty{padding:40px 24px;text-align:center;font-size:12px;color:#75828a;}
.hr{border:none;border-top:1px solid #eee9e0;margin:20px 0;}
.progress{height:8px;overflow:hidden;border-radius:999px;background:#e9e5dd;}
.progress > i{display:block;height:100%;border-radius:999px;background:var(--navy-2);}

/* صف قائمة */
.list-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid #f0ece4;}
.list-row .grow{flex:1;min-width:150px;}

@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes panelIn{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px);}to{opacity:1;transform:translate(-50%,0);}}
@keyframes riseIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.rise{animation:riseIn .6s cubic-bezier(.22,.8,.2,1) both;}

/* ===== عناصر لوحة النظرة العامة ===== */
/* تبويبات الفترة */
.period-tabs{display:inline-flex;gap:4px;background:#efe9df;border-radius:12px;padding:4px;flex:none;}
.period-tab{border:none;background:transparent;border-radius:9px;padding:8px 14px;font-size:11px;font-weight:700;color:#7b898f;transition:background-color .2s,color .2s;}
.period-tab.active{background:var(--navy-2);color:#fffaf1;box-shadow:0 4px 10px rgba(36,68,93,.15);}
@media(max-width:640px){ .period-tabs{width:100%;justify-content:space-between;} .period-tab{flex:1;padding:8px 6px;} }

/* سطر النسبة المئوية في الكروت */
.m-delta{margin-top:8px;font-size:9px;font-weight:700;}
.m-delta.up{color:var(--success);}
.m-delta.down{color:var(--coral);}
.metric.primary .m-delta.up{color:#8fd6bd;}
.metric.primary .m-delta.down{color:#e7a99f;}

/* تبويبات حركة المصنع */
.fac-tab{border:none;background:transparent;border-bottom:2px solid transparent;padding:0 0 12px;font-size:11px;font-weight:700;color:#89959a;transition:color .2s,border-color .2s;}
.fac-tab.active{color:var(--navy-2);border-color:var(--navy-2);}

/* بلاطات الإجراءات السريعة */
.action-tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 8px;border-radius:14px;background:var(--paper-bright);border:1px solid var(--line);transition:transform .2s,background-color .2s,border-color .2s;}
.action-tile:hover{background:#fff8e9;border-color:#e8c685;transform:translateY(-3px);}
.action-tile span{font-size:10px;font-weight:700;color:#4e5e69;}

/* المنحنى الثانوي للمصروفات */
.chart-line-accent{fill:none;stroke:var(--saffron);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 6;}

/* شبكات الداشبورد المركبة — تنهار عمود واحد على الشاشات الصغيرة */
@media(max-width:900px){
  .dash-2col{grid-template-columns:minmax(0,1fr)!important;}
  .dash-3col{grid-template-columns:minmax(0,1fr)!important;}
}
@media(min-width:901px) and (max-width:1200px){
  .dash-3col{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
