:root{--navy:#202a44;--navy2:#2b3653;--gold:#c8922e;--green:#2f8f6a;--red:#d45b5b;--orange:#d9873d;--purple:#6e66b8;--ink:#172033;--muted:#748097;--line:#e8ebf1;--canvas:#f6f7fb;--white:#fff}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'Tajawal',Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:255px;position:fixed;right:0;inset-block:0;background:var(--navy);color:white;padding:26px 18px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px;border-bottom:1px solid #ffffff17;color:white;text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:13px 13px 13px 4px;background:linear-gradient(145deg,#e0ad49,#b77a20);font-size:22px;font-weight:800;box-shadow:0 8px 18px #0003}.brand b,.brand small{display:block}.brand b{font-size:16px}.brand small{color:#aeb7c9;font-size:10px;margin-top:4px}.sidebar nav{display:grid;gap:6px;padding-top:23px}.nav-item{color:#b9c1d1;text-decoration:none;border-radius:11px;padding:12px 13px;display:flex;gap:12px;align-items:center;transition:.2s}.nav-item i{width:24px;text-align:center;color:#d0a150;font-size:18px;font-style:normal}.nav-item:hover{color:white;background:#ffffff0e}.nav-item.active{color:white;background:var(--navy2);box-shadow:inset -3px 0 var(--gold)}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff17;padding:18px 4px 0;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#d7a44b;border-radius:9px;font-weight:700}.sidebar-footer b,.sidebar-footer small{display:block}.sidebar-footer b{font-size:12px}.sidebar-footer small{font-size:9px;color:#9faabd;margin-top:3px}.sidebar-footer>i{margin-right:auto;width:7px;height:7px;background:#5ac391;border-radius:50%}.workspace{width:calc(100% - 255px);margin-right:255px;min-width:0}.topbar{min-height:91px;background:#fffffff5;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 34px;position:sticky;top:0;z-index:15;backdrop-filter:blur(14px)}.topbar small{color:var(--muted);font-size:10px}.topbar h1{margin:5px 0 0;font-size:23px}.top-actions{display:flex;gap:10px;align-items:center}.warehouse-filter{height:48px;min-width:195px;border:1px solid var(--line);border-radius:10px;padding:6px 12px;display:flex;flex-direction:column;background:#fafbfc}.warehouse-filter label{color:var(--muted);font-size:8px}.warehouse-filter select{border:0;background:transparent;outline:0;font-size:11px;padding-top:2px}.primary-button,.secondary-button{border-radius:9px;min-height:42px;padding:0 17px;font-weight:700;font-size:11px}.primary-button{border:0;background:var(--navy);color:white;box-shadow:0 6px 14px #202a4426}.primary-button:hover{background:#151d31;transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);background:white;color:var(--ink)}.content{padding:29px 34px 44px;max-width:1600px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.welcome h2{margin:0 0 6px;font-size:19px}.welcome p{margin:0;color:var(--muted);font-size:11px}.welcome>span,.live{color:#50876f;background:#edf8f3;border-radius:99px;padding:8px 12px;font-size:9px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 19px;min-height:132px;position:relative;overflow:hidden;box-shadow:0 7px 24px #23304c09}.kpi:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;left:-22px;bottom:-38px;background:currentColor;opacity:.06}.kpi>span{color:var(--muted);font-size:10px}.kpi b{display:block;color:var(--ink);font-size:21px;margin-top:18px}.kpi small{display:block;color:var(--muted);font-size:9px;margin-top:7px}.kpi.green{color:var(--green)}.kpi.orange{color:var(--orange)}.kpi.blue{color:#4d78ab}.kpi.red{color:var(--red)}.kpi.purple{color:var(--purple)}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 24px #23304c09;overflow:hidden}.panel>header{min-height:70px;padding:15px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eff1f5}.panel>header h3{margin:0 0 5px;font-size:13px}.panel>header p{margin:0;color:var(--muted);font-size:9px}.panel>header a{font-size:9px;color:#7c6e54;text-decoration:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr);gap:17px;margin-bottom:17px}.legend{display:flex;gap:12px;color:var(--muted);font-size:8px}.legend span{display:flex;align-items:center;gap:5px}.legend i,.health-list i{width:7px;height:7px;border-radius:50%;display:inline-block}.sales{background:var(--navy)!important}.expense{background:#d7a54c!important}.bars{height:255px;padding:25px 20px 18px;display:flex;direction:ltr;align-items:stretch;justify-content:space-around;gap:4px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 64px,#f0f2f6 65px)}.bar-group{flex:1;max-width:50px;display:flex;flex-direction:column;justify-content:flex-end}.bar-group>div{height:calc(100% - 24px);display:flex;align-items:end;justify-content:center;gap:3px}.bar-group i{display:block;width:8px;min-height:2px;border-radius:4px 4px 0 0}.bar-group>span{height:24px;display:grid;place-items:end center;color:var(--muted);font-size:8px}.stock-number{width:138px;height:138px;border:12px solid #eaf7f1;border-top-color:var(--green);border-right-color:var(--green);border-radius:50%;margin:23px auto 16px;display:grid;place-content:center;text-align:center}.stock-number b{font-size:26px}.stock-number span{font-size:8px;color:var(--muted)}.health-list{display:grid;gap:9px;padding:0 22px 20px}.health-list span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.health-list b{margin-right:auto;color:var(--ink)}.green-dot{background:var(--green)}.amber-dot{background:#e3a02e}.red-dot{background:var(--red)}.toolbar{padding:13px 18px;display:flex;gap:10px;align-items:center;background:#fcfcfd;border-bottom:1px solid var(--line)}.toolbar>span{margin-right:auto;color:var(--muted);font-size:8px}.toolbar select{height:39px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 10px;font-size:10px}.search{min-width:310px;max-width:450px;height:39px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:8px;background:white;padding:0 11px;color:var(--muted)}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:10px}.table-scroll{overflow:auto;max-height:calc(100vh - 270px)}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:10px}th{height:39px;padding:0 16px;text-align:right;color:var(--muted);font-size:8px;background:#fafbfc;border-bottom:1px solid var(--line);font-weight:500;position:sticky;top:0;z-index:2}td{height:51px;padding:0 16px;border-bottom:1px solid #f0f2f6}tbody tr:hover{background:#fafbfe}.muted,td small{color:var(--muted);font-size:8px}.product{display:flex;gap:9px;align-items:center}.product i{width:29px;height:29px;display:grid;place-items:center;background:#f2ecdf;color:#9b7430;border-radius:8px;font-style:normal;font-weight:700}.status,.badge{display:inline-flex;min-width:56px;justify-content:center;padding:5px 8px;border-radius:99px;font-size:8px}.status.healthy,.badge.in{background:#eaf7f1;color:#257a57}.status.low{background:#fff3dc;color:#a6701c}.status.out,.badge.out{background:#fcecec;color:#b7484e}.split{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:17px;align-items:start}.category{padding:14px 18px 2px}.category>span{display:flex;justify-content:space-between;font-size:9px}.category>span b{font-size:8px}.category>i{height:5px;display:block;background:#eff1f5;border-radius:99px;overflow:hidden;margin-top:8px}.category>i b{height:100%;display:block;background:linear-gradient(90deg,var(--gold),#e0b96b);border-radius:inherit}.commit-summary{border-radius:14px;margin-bottom:17px;padding:22px 24px;background:linear-gradient(135deg,#25304c,#1b2439);color:white;display:flex;justify-content:space-between;align-items:center}.commit-summary span{color:#b9c3d8;font-size:10px}.commit-summary b{display:block;font-size:25px;margin-top:6px}.commit-summary p{margin:0;color:#bfc8d8;font-size:9px}.notes{white-space:normal;min-width:280px;max-width:460px;line-height:1.8}.warehouse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.warehouse-card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 7px 24px #23304c09}.warehouse-card>header{display:flex;justify-content:space-between}.warehouse-card>header>span{width:42px;height:42px;display:grid;place-items:center;background:#f2ecdf;color:#9b7430;border-radius:11px;font-size:20px}.warehouse-card>header i{font-style:normal;color:var(--red);font-size:8px}.warehouse-card>header i.on{color:var(--green)}.warehouse-card h3{margin:18px 0 6px;font-size:15px}.warehouse-card p{margin:0;color:var(--muted);font-size:9px}.warehouse-card>div{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);display:flex;gap:30px}.warehouse-card>div span{font-size:8px;color:var(--muted)}.warehouse-card>div b{display:block;color:var(--ink);font-size:17px;margin-top:5px}.flash{margin:15px 34px 0;border-radius:10px;padding:11px 14px;display:flex;align-items:center;font-size:10px}.flash.success{background:#edf8f3;color:#257a57;border:1px solid #bde3d2}.flash.error{background:#fff2f2;color:#9f343a;border:1px solid #efc4c5}.flash button{margin-right:auto;border:0;background:transparent;color:inherit;font-size:18px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#1219298c;backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(590px,100%);background:white;border-radius:16px;box-shadow:0 24px 80px #0f162442;overflow:hidden}.modal>header{padding:19px 23px 16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.modal>header small{color:var(--gold);font-size:8px}.modal>header h2{margin:4px 0 0;font-size:17px}.modal>header button{width:32px;height:32px;border:0;border-radius:8px;background:#f3f4f7;color:var(--muted);font-size:18px}.record-form{padding:21px 23px 23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid label.wide{grid-column:1/-1}.form-grid label>span{font-size:9px;font-weight:700;color:#555f74}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #dfe3ea;border-radius:9px;background:#fbfcfd;min-height:42px;padding:0 11px;outline:0;font-size:10px}.form-grid textarea{min-height:76px;padding-top:10px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#b79760;box-shadow:0 0 0 3px #c8922e1a}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:20px;margin-top:19px;border-top:1px solid var(--line)}@media(max-width:1100px){.sidebar{width:210px}.workspace{width:calc(100% - 210px);margin-right:210px}.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.split{grid-template-columns:1fr}.warehouse-grid{grid-template-columns:1fr 1fr}.topbar,.content{padding-inline:22px}}@media(max-width:760px){
  /* ===== شريط تنقّل سفلي فخم ===== */
  .sidebar{top:auto;right:0;left:0;bottom:0;width:100%;height:auto;flex-direction:row;align-items:stretch;padding:0;background:linear-gradient(180deg,#26314f,#191f33);border-top:1px solid #ffffff14;border-radius:20px 20px 0 0;box-shadow:0 -10px 30px #0a0e1a4d;z-index:40}
  .brand,.sidebar-footer{display:none}
  .sidebar nav{display:flex;flex:1;gap:1px;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
  .nav-item{position:relative;flex:1;min-width:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;border-radius:13px;color:#93a0ba}
  .nav-item i{width:auto;font-size:19px}
  .nav-item span{display:block;font-size:8.5px;line-height:1;white-space:nowrap;letter-spacing:-.2px}
  .nav-item:hover{background:transparent}
  .nav-item.active{background:#ffffff10;box-shadow:none;color:#fff}
  .nav-item.active i{color:var(--gold)}
  .nav-item.active:before{content:"";position:absolute;top:0;width:24px;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}

  .workspace{width:100%;margin:0;padding-bottom:84px}
  .topbar{min-height:62px;padding:11px 16px;gap:12px;background:#fffffff2;backdrop-filter:none}
  .topbar h1{font-size:18px;margin-top:2px}
  .topbar small{font-size:9px;color:var(--gold);font-weight:700}

  /* زر الإضافة كزر عائم ذهبي (FAB) */
  .top-actions{gap:8px}
  .topbar .primary-button{position:fixed;left:16px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:45;width:58px;height:58px;padding:0;border-radius:50%;background:linear-gradient(145deg,#e5b556,#b3771d);color:#fff;box-shadow:0 12px 28px #a56f1c66,0 4px 10px #0003;transition:transform .15s}
  .topbar .primary-button:hover{transform:translateY(-2px)}
  .topbar .primary-button span{display:none}
  .topbar .primary-button svg{width:24px;height:24px}
  /* تسجيل الخروج كأيقونة أنيقة */
  .logout-btn{width:42px;height:42px;min-height:42px;padding:0;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--red)}
  .logout-btn .lbl{display:none}
  .logout-btn svg{width:16px;height:16px}

  .content{padding:18px 14px 30px}
  .welcome{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:16px}
  .welcome>span{display:none}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:11px}
  .kpi{padding:16px;min-height:112px;border-radius:16px}
  .kpi b{font-size:18px;margin-top:12px}
  .kpi small{font-size:8.5px}
  .dashboard-grid,.split,.reports-grid{grid-template-columns:1fr}
  .panel>header{min-height:60px;padding:14px 16px}
  .search{min-width:0;flex:1}
  .toolbar{flex-wrap:wrap;padding:12px 14px}.toolbar>span{display:none}
  .table-scroll{max-height:none;-webkit-overflow-scrolling:touch}
  .form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}
  .commit-summary{flex-wrap:wrap;gap:14px 22px;padding:20px}
  .commit-summary b{font-size:22px}
  .flash{margin-inline:14px}

  /* نوافذ منبثقة تطلع من الأسفل (bottom sheet) */
  .modal-backdrop{padding:0;place-items:end stretch}
  .modal{width:100%;border-radius:20px 20px 0 0;max-height:92vh;overflow-y:auto;animation:sheet-up .28s ease}
  .form-actions{position:sticky;bottom:0;background:#fff;padding-bottom:calc(20px + env(safe-area-inset-bottom))}

  /* تحرير ملاحظات الالتزامات على الجوال */
  .inline-notes{flex-direction:column;gap:7px}
  .inline-notes textarea{min-width:0;width:100%}
  .inline-notes .notes-save{align-self:flex-end}
}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* ===== إضافات: تسجيل الدخول، تعديل الالتزامات، التقارير ===== */
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#202a44,#151d31)}
.login-card{width:min(400px,100%);background:#fff;border-radius:18px;padding:34px 30px;box-shadow:0 24px 80px #0f162466}
.login-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:22px}
.login-brand .brand-mark{width:52px;height:52px;font-size:26px;margin-bottom:8px}
.login-brand b{font-size:17px}
.login-brand small{color:var(--muted);font-size:10px}
.login-card h1{margin:0;font-size:20px;text-align:center}
.login-hint{margin:6px 0 20px;color:var(--muted);font-size:11px;text-align:center}
.login-form{display:grid;gap:14px}
.login-form label{display:flex;flex-direction:column;gap:6px}
.login-form label span{font-size:10px;font-weight:700;color:#555f74}
.login-form input{width:100%;border:1px solid #dfe3ea;border-radius:9px;background:#fbfcfd;min-height:46px;padding:0 12px;outline:0;font-size:12px}
.login-form input:focus{border-color:#b79760;box-shadow:0 0 0 3px #c8922e1a}
.login-form .primary-button{min-height:46px;margin-top:6px}
.sidebar-footer .logout{margin-right:auto;color:#9faabd;text-decoration:none;font-size:16px;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;transition:.2s}
.sidebar-footer .logout:hover{background:#ffffff14;color:#fff}
.logout-btn{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.inline-status{margin:0}
.inline-status button.status{border:0;cursor:pointer;font-family:inherit}
.inline-status button.status:hover{filter:brightness(.96);box-shadow:0 0 0 2px #202a4415}
.inline-notes{display:flex;gap:8px;align-items:flex-start;margin:0}
.inline-notes textarea{flex:1;min-width:220px;border:1px solid #e3e7ee;border-radius:8px;background:#fbfcfd;padding:8px 10px;font:inherit;font-size:10px;line-height:1.7;resize:vertical;outline:0}
.inline-notes textarea:focus{border-color:#b79760;box-shadow:0 0 0 3px #c8922e1a}
.inline-notes .notes-save{min-height:34px;padding:0 12px;font-size:10px;align-self:center}
tfoot td{height:48px;padding:0 16px;background:#fafbfc;border-top:2px solid var(--line);font-size:11px}
.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px;align-items:start}
@media(max-width:1100px){.reports-grid{grid-template-columns:1fr}}

/* ===== أزرار التعديل/الحذف في الجداول ===== */
.row-actions{display:flex;gap:6px}
.icon-btn{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:14px;line-height:1;padding:0;transition:.15s}
.icon-btn.edit{color:#4d78ab}
.icon-btn.edit:hover{background:#eef4fb;border-color:#cadcf0}
.icon-btn.delete{color:var(--red)}
.icon-btn.delete:hover{background:#fdeeee;border-color:#f2cccc}
.icon-btn form{margin:0}

/* ===== فلتر الفترة في التقارير ===== */
.period-panel{margin-bottom:17px}
.period-body{padding:16px 19px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.period-presets{display:flex;flex-wrap:wrap;gap:8px}
.chip{text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 15px;font-size:11px;font-weight:700;transition:.15s}
.chip:hover{border-color:#c9b489;background:#fbf7ee}
.chip.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 6px 14px #202a4426}
.period-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.period-form label{display:flex;flex-direction:column;gap:5px}
.period-form label span{font-size:9px;font-weight:700;color:#555f74}
.period-form input{border:1px solid #dfe3ea;border-radius:9px;background:#fbfcfd;min-height:40px;padding:0 11px;outline:0;font-size:11px}
.period-form input:focus{border-color:#b79760;box-shadow:0 0 0 3px #c8922e1a}
@media(max-width:760px){.period-body{flex-direction:column;align-items:stretch}.period-form{justify-content:space-between}.period-form label{flex:1}.period-form input{width:100%}}

/* ===== أيقونات SVG ===== */
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.primary-button svg,.secondary-button svg{width:15px;height:15px}
.nav-item i{display:inline-flex;align-items:center;justify-content:center}
.nav-item i svg{width:19px;height:19px}
.sidebar-footer .logout svg{width:17px;height:17px}
.icon-btn svg{width:15px;height:15px}
.search svg{width:15px;height:15px;flex:0 0 auto}
.badge{gap:3px}
.badge svg{width:11px;height:11px}

/* ===== الطباعة / تصدير PDF ===== */
.print-only{display:none}
@media print{
  @page{margin:12mm}
  body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sidebar,.topbar,.period-panel,[data-print],.modal-backdrop,.flash{display:none!important}
  .app-shell{display:block}
  .workspace{width:100%!important;margin:0!important}
  .content{padding:0!important;max-width:none!important}
  .print-only{display:block}
  .report-print-head{margin-bottom:14px;border-bottom:2px solid var(--navy);padding-bottom:8px}
  .report-print-head h1{margin:0;font-size:20px}
  .report-print-head p{margin:5px 0 0;color:#555;font-size:12px}
  .panel{box-shadow:none;border:1px solid #d9dee7;break-inside:avoid;margin-bottom:12px}
  .table-scroll{max-height:none!important;overflow:visible!important}
  .reports-grid{grid-template-columns:1fr 1fr}
  .kpi-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .kpi{min-height:auto;padding:12px}
  table{font-size:9px}
  a{color:inherit;text-decoration:none}
}
