@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap');
:root{--nav:#073542;--nav2:#0f6b66;--bg:#f3f7fb;--card:#fff;--text:#0b1f3a;--muted:#718096;--blue:#2563eb;--green:#12815f;--red:#e63946;--orange:#f59e0b;--border:#d9e3ef;--shadow:0 14px 40px rgba(15,44,70,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Cairo,Arial,sans-serif;background:var(--bg);color:var(--text);direction:rtl}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.side{width:290px;background:linear-gradient(180deg,#062b39,#082737);color:#fff;padding:22px 16px;position:fixed;right:0;top:0;bottom:0;overflow:auto}.brand{text-align:center;margin:10px 0 28px}.brand h1{margin:0;font-size:30px}.brand span{color:#61e1d2;font-size:13px}.nav a,.nav .group-title{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:16px;margin:6px 0;font-weight:800;color:#e7f7fb}.nav a.active,.nav a:hover,.group-title{background:rgba(31,137,145,.35)}.nav .sub{padding-right:18px;border-right:1px solid rgba(255,255,255,.08)}.nav .sub a{font-size:14px;color:#c8dbe2}.main{margin-right:290px;width:calc(100% - 290px);min-height:100vh}.top{height:72px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 30px;box-shadow:0 1px 0 var(--border);position:sticky;top:0;z-index:3}.pill{padding:8px 14px;border:1px solid var(--border);border-radius:20px;background:#fff;font-weight:700}.content{padding:28px;max-width:1320px;margin:auto}.hero{background:linear-gradient(135deg,var(--nav2),#0b2f46);color:white;border-radius:28px;padding:28px 34px;margin-bottom:24px;box-shadow:var(--shadow)}.hero h2{margin:0 0 8px;font-size:30px}.card{background:var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:24px;margin-bottom:22px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.card-title h2,.card-title h3{margin:0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field label{display:block;font-weight:800;margin-bottom:7px}.input,select,textarea{width:100%;border:1px solid #cbd8e6;border-radius:14px;padding:12px 14px;font-family:inherit;background:#fff;min-height:48px}textarea{min-height:92px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 18px;font-family:inherit;font-weight:800;cursor:pointer;background:#e9eef5}.btn.primary{background:var(--blue);color:white}.btn.green{background:var(--green);color:white}.btn.red{background:var(--red);color:white}.btn.orange{background:var(--orange);color:#111}.btn.out{border:1px solid var(--border);background:white}.actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}th{background:#f8fafc;font-weight:900}.doc-header{background:white;border-bottom:1px solid var(--border);padding:24px 32px;position:sticky;top:72px;z-index:2}.doc-page{background:white;border-radius:0;min-height:calc(100vh - 72px)}.line-table input,.line-table select{min-width:140px}.taskbox{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.task{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;display:flex;justify-content:space-between;align-items:center}.task b{font-size:20px}.task small{color:var(--muted)}.chef-wrap{max-width:520px;margin:0 auto;padding:20px}.chef-card{border-radius:32px;padding:26px;color:white;background:linear-gradient(135deg,#11786f,#092e42);box-shadow:var(--shadow);margin:18px 0}.chef-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.chef-action{background:white;border:1px solid var(--border);border-radius:26px;padding:28px 18px;text-align:center;box-shadow:var(--shadow);font-weight:900;font-size:20px}.badge{background:#e8f7ff;color:#0369a1;padding:4px 9px;border-radius:12px;font-weight:800;font-size:12px}.status-draft{background:#eef2ff;color:#3730a3}.status-submitted{background:#e0f2fe;color:#0369a1}.status-approved{background:#dcfce7;color:#166534}.search-result{position:absolute;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-height:220px;overflow:auto;z-index:20;width:280px}.search-result div{padding:10px 12px;cursor:pointer}.search-result div:hover{background:#f2f7fb}.mobile-only{display:none}
@media(max-width:900px){.side{transform:translateX(100%);transition:.25s;z-index:5}.side.open{transform:none}.main{margin-right:0;width:100%}.mobile-only{display:inline-flex}.grid,.grid3{grid-template-columns:1fr}.taskbox,.chef-actions{grid-template-columns:1fr}.content{padding:16px}.doc-header{top:72px}.hero h2{font-size:24px}}
@media print{.side,.top,.no-print{display:none}.main{margin:0;width:100%}.card{box-shadow:none;border:0}.content{padding:0}}
.login-page{background:linear-gradient(135deg,#073542,#0f6b66);display:grid;place-items:center;min-height:100vh;padding:18px}.login-card{width:min(430px,94vw);text-align:center}.login-card .input{margin:8px 0}.alert{border-radius:16px;padding:13px;margin:12px 0}.alert.bad{background:#ffe3e3;color:#b91c1c}.alert.good{background:#dcfce7;color:#166534}.muted{color:var(--muted)}
.import-map small{color:var(--muted)}
@media(max-width:700px){.side{width:84vw}.hero{border-radius:22px;padding:22px}.card{padding:18px}.doc-header{padding:18px}.btn{padding:11px 14px}.table-wrap{max-width:100%}}

/* v2.7.1 mobile polish */
.doc-header{position:relative;top:auto;z-index:auto;border-radius:0 0 24px 24px;box-shadow:0 10px 28px rgba(15,44,70,.05)}
.doc-page .content{padding-top:22px}.doc-page{overflow-x:hidden}.line-table{min-width:920px}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff}.card-title .btn{flex-shrink:0}.chef-wrap{width:100%;max-width:560px;margin:0 auto;padding:18px 16px 28px}.chef-card{border-radius:26px;padding:26px 22px;text-align:right}.chef-card h1{font-size:30px;margin:0 0 10px}.chef-card p{font-size:17px;line-height:1.8;margin:0}.chef-wrap .card{border-radius:26px}.chef-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chef-action{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-size:22px}.chef-action span{font-size:34px;display:block;margin-bottom:8px}.mobile-task-row{display:grid;grid-template-columns:1fr 70px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:18px;margin:10px 0;background:#fff}.mobile-task-row b{font-size:16px}.mobile-task-row strong{font-size:24px;text-align:center;color:var(--green)}
@media(max-width:700px){
  body{overflow-x:hidden}.top{height:64px;padding:0 14px}.top strong{font-size:14px}.pill{font-size:12px;padding:6px 10px}.content{padding:14px}.hero{margin:10px 0 18px;padding:22px 18px;text-align:right;border-radius:22px}.hero h2{font-size:26px}.card{border-radius:22px;padding:16px;margin-bottom:16px}.card-title{align-items:flex-start;gap:10px}.card-title h1,.card-title h2{font-size:24px}.doc-header{padding:18px 14px;border-radius:0 0 22px 22px}.doc-header .card-title{display:block}.doc-header .card-title h1{font-size:28px;line-height:1.25;margin-bottom:10px}.doc-header textarea{min-height:78px}.grid,.grid3{gap:12px}.field label{font-size:15px}.input,select,textarea{min-height:46px;border-radius:13px;font-size:15px}.actions{position:sticky;bottom:0;background:rgba(243,247,251,.96);backdrop-filter:blur(8px);padding:12px 0;margin:0 -2px;z-index:4;justify-content:center}.actions .btn{flex:1;min-width:0;font-size:14px;padding:11px 10px}.table-wrap{overflow:visible;border:0;background:transparent}.line-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0 12px;background:transparent}.line-table thead{display:none}.line-table tbody,.line-table tr,.line-table td{display:block;width:100%}.line-table tr{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:14px;margin-bottom:12px}.line-table td{border:0;padding:8px 0;white-space:normal}.line-table td:before{display:block;font-weight:900;color:var(--text);margin-bottom:6px}.line-table td:nth-child(1):before{content:'الخامة'} .line-table td:nth-child(2):before{content:'الرصيد'} .line-table td:nth-child(3):before{content:'المطلوب'} .line-table td:nth-child(4):before{content:'الوحدة'} .line-table td:nth-child(5):before{content:'المورد/كاش'} .line-table td:nth-child(6):before{content:'طريقة'} .line-table td:nth-child(7):before{content:'ملاحظات'} .line-table td:nth-child(8):before{content:''}.line-table input,.line-table select{min-width:0;width:100%}.search-result{left:0;right:0;width:100%;max-height:260px}.chef-wrap{padding:14px 14px 90px;max-width:100%}.chef-card{margin:12px 0 16px}.chef-card h1{font-size:28px}.chef-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chef-action{border-radius:22px;min-height:128px;font-size:21px;padding:18px 10px}.chef-action span{font-size:38px}.chef-wrap .btn{width:calc(50% - 6px);justify-content:center}.side{width:82vw}.main{overflow:hidden}}
@media(max-width:380px){.chef-actions{grid-template-columns:1fr}.chef-action{min-height:92px}.doc-header .card-title h1{font-size:24px}}


/* v2.7.2 purchase screen hard fix */
.doc-page .content{max-width:none;width:100%;padding-left:22px;padding-right:22px;}
.doc-page .card{width:100%;}
.doc-page .table-wrap{width:100%;max-width:100%;overflow:visible;border-radius:18px;}
.doc-page .line-table{width:100%;min-width:0;table-layout:fixed;}
.doc-page .line-table th,.doc-page .line-table td{white-space:normal;padding:10px 8px;vertical-align:top;}
.doc-page .line-table input,.doc-page .line-table select{width:100%;min-width:0;font-size:14px;padding:10px 9px;}
.doc-page .line-table th:nth-child(1){width:21%;}
.doc-page .line-table th:nth-child(2){width:9%;}
.doc-page .line-table th:nth-child(3){width:10%;}
.doc-page .line-table th:nth-child(4){width:12%;}
.doc-page .line-table th:nth-child(5){width:14%;}
.doc-page .line-table th:nth-child(6){width:10%;}
.doc-page .line-table th:nth-child(7){width:16%;}
.doc-page .line-table th:nth-child(8){width:8%;}
.doc-page .search-result{right:0;left:auto;width:min(360px,80vw);}
.purchase-lines-card{overflow:visible;}
.purchase-actions{justify-content:flex-start;}

@media(min-width:901px){
  .doc-page .content{padding-left:36px;padding-right:36px;}
  .doc-header{padding-left:36px;padding-right:36px;}
  .purchase-lines-card{min-height:280px;}
}

@media(max-width:700px){
  .doc-page .content{padding:12px;max-width:100%;}
  .doc-page .card{padding:14px;border-radius:20px;}
  .doc-page .table-wrap{overflow:visible!important;}
  .doc-page .line-table{width:100%;min-width:0!important;display:block;}
  .doc-page .line-table tbody{display:block;}
  .doc-page .line-table tr{width:100%;display:block;}
  .doc-page .line-table td{display:block!important;width:100%!important;}
  .doc-page .line-table input,.doc-page .line-table select{font-size:16px;}
  .doc-page .search-result{position:absolute;right:0;left:0;width:100%;z-index:9999;}
  .purchase-actions{position:sticky;bottom:0;background:rgba(243,247,251,.98);padding:12px;display:grid;grid-template-columns:1fr;gap:8px;}
  .purchase-actions .btn{width:100%;}
}

/* v2.7.5 raw search mobile visibility fix */
.raw-option b{display:block;font-weight:900}.raw-option small{display:block;color:#667085;font-size:12px;margin-top:3px}.search-result{font-size:14px}.search-result .muted{color:#667085}
@media(max-width:700px){
  .doc-page .line-table td:first-child{overflow:visible!important;}
  .doc-page .search-result{position:static!important;width:100%!important;max-height:240px!important;overflow:auto!important;margin-top:8px;border:1px solid #cbd8e6;border-radius:14px;box-shadow:0 10px 24px rgba(15,44,70,.12);background:#fff;z-index:99999;}
  .doc-page .search-result div{padding:12px 14px;border-bottom:1px solid #edf2f7;}
  .doc-page .search-result div:last-child{border-bottom:0;}
}
/* v2.7.8 workflow/print polish */
.alert.bad{background:#ffe3e3;color:#b91c1c}.status-received{background:#e7f9ee;color:#12815f}.status-rejected{background:#fee2e2;color:#991b1b}.status-approved{background:#dcfce7;color:#166534}.status-submitted{background:#e0f2fe;color:#0369a1}.status-draft{background:#eef2ff;color:#3730a3}
@media(max-width:700px){.card-title{flex-direction:column;align-items:stretch}.card-title .actions{display:grid;grid-template-columns:1fr;}.table-wrap table:not(.line-table){min-width:760px}.hero p{font-size:14px}.meta-mobile{display:block}}


/* v2.7.9 receiving mobile/action fix */
.receive-cards{display:grid;gap:12px}.receive-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px}.receive-main b{display:block;font-size:18px}.receive-main span,.receive-main small{display:block;color:var(--muted);margin-top:4px}.receive-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions{display:flex!important;gap:8px;flex-wrap:wrap;align-items:center}.supplier-print-actions{display:flex;gap:8px;flex-wrap:wrap}.supplier-print-actions .btn{margin-bottom:4px}
@media(max-width:700px){
 .receive-card{grid-template-columns:1fr;padding:14px;border-radius:20px;box-shadow:var(--shadow)}
 .receive-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.receive-actions .btn{width:100%}
 .row-actions{display:grid!important;grid-template-columns:1fr;gap:6px}.row-actions .btn{width:100%}
 .supplier-print-actions{display:grid;grid-template-columns:1fr}.supplier-print-actions .btn{width:100%}
}

/* v2.7.10 receiving/transfer actual quantities */
.qty-diff{font-weight:900;color:var(--muted)}.qty-diff.neg{color:#dc2626}.qty-diff.pos{color:#12815f}.receive-form .receive-lines input{min-width:120px}.receive-lines .received-qty{border-color:#0f6b66;background:#f8fffd}.receive-lines .requested{background:#f8fafc;color:#64748b}
@media(max-width:700px){
  .receive-lines{min-width:760px}.receive-form .table-wrap{overflow-x:auto!important;border:1px solid var(--border);background:#fff}
  .receive-form .actions{display:grid;grid-template-columns:1fr;gap:8px}.receive-form .actions .btn{width:100%}
}

/* v2.8.1 professional update */
.icon-actions{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.icon-actions a,.icon-actions button{width:34px;height:34px;border:1px solid var(--border);background:#fff;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;padding:0}.icon-actions form{margin:0}.icon-actions button:hover,.icon-actions a:hover{background:#eef7fb}.tree-actions{display:flex;gap:8px;margin:0 0 14px}.tree-view{display:grid;gap:12px}.tree-group{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff}.tree-head{width:100%;border:0;background:#f8fafc;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-family:inherit;font-weight:900;color:var(--text);cursor:pointer}.tree-head b{background:#e7f7f5;color:#0f6b66;padding:4px 10px;border-radius:12px}.tree-body{display:grid}.tree-group.closed .tree-body{display:none}.tree-row{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:center;border-top:1px solid var(--border);padding:12px 14px}.tree-main b{display:block;font-size:17px}.tree-main small{color:var(--muted)}.tree-row>span{color:#415168}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filter-bar a{padding:9px 13px;border:1px solid var(--border);border-radius:14px;background:#fff;font-weight:800}.filter-bar a.active{background:var(--nav2);color:#fff}.report-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
@media(max-width:900px){.tree-row{grid-template-columns:1fr;gap:6px}.tree-row>span{font-size:13px}.icon-actions{justify-content:flex-start}.report-filters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.tree-head{font-size:16px}.tree-row{padding:14px;border-top:1px solid #edf2f7}.tree-main b{font-size:18px}.purchase-lines-card .table-wrap{overflow:visible!important}.line-table tr.has-raw{border-color:#bfe7df}.line-table tr.has-raw .raw-search{font-weight:900}.actions:not(.no-sticky){position:sticky;bottom:0}.icon-actions a,.icon-actions button{width:38px;height:38px}.filter-bar{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.filter-bar a{white-space:nowrap}}

/* v2.8.2 mobile table/actions and success page */
.success-page{max-width:680px;margin:40px auto;text-align:center;padding:34px}.success-mark{width:86px;height:86px;border-radius:50%;background:#dcfce7;color:#15803d;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:900;margin:0 auto 18px}.success-page h1{margin:0 0 10px;color:var(--text)}.success-page p{color:var(--muted);font-size:18px}.success-actions{justify-content:center;gap:10px;flex-wrap:wrap}.success-actions .btn{min-width:160px}
.scroll-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:18px;background:#fff;max-width:100%;}
.scroll-table-wrap table{min-width:760px;width:max-content;}
@media(max-width:700px){
  .scroll-table-wrap{display:block!important;overflow-x:auto!important;margin:0 -2px;padding-bottom:8px;}
  .scroll-table-wrap table{min-width:820px!important;border-collapse:collapse;}
  .scroll-table-wrap th,.scroll-table-wrap td{white-space:nowrap;padding:12px 14px;}
  .scroll-table-wrap .icon-actions{justify-content:flex-start;min-width:150px;}
  .success-page{margin:18px 0;padding:24px 16px;border-radius:24px}.success-actions{display:grid!important;grid-template-columns:1fr;position:static!important;background:transparent!important}.success-actions .btn{width:100%}
  .filter-bar{scroll-snap-type:x proximity}.filter-bar a{scroll-snap-align:start}
}


/* v2.8.3 definitive mobile purchase/receiving fix */
.mobile-doc-cards{display:none}.desktop-doc-table{display:block}
@media(max-width:700px){
  html,body{overflow-x:hidden}.main,.content,.card{max-width:100vw}.content{padding:14px!important}.card{padding:18px!important;border-radius:24px!important}.hero{margin:0 0 16px!important;padding:22px!important;border-radius:24px!important}.hero h2{font-size:30px!important}.hero p{font-size:16px!important;line-height:1.8!important}
  .desktop-doc-table{display:none!important}.mobile-doc-cards{display:grid!important;gap:12px;margin-top:12px}.doc-card-mobile{background:#fff;border:1px solid var(--border);border-radius:20px;padding:14px;box-shadow:var(--shadow);overflow:hidden}.doc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.doc-card-head b{font-size:17px;direction:ltr;text-align:left}.doc-card-meta{display:grid;grid-template-columns:1fr;gap:6px;color:#415168;font-weight:700}.doc-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.doc-card-actions .btn{width:100%;padding:12px 8px;text-align:center;justify-content:center;font-size:14px}
  .filter-bar{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:8px!important;padding:4px 0 10px!important;-webkit-overflow-scrolling:touch}.filter-bar a{flex:0 0 auto!important;white-space:nowrap!important}
  .card-title{display:block!important}.card-title .actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px}.card-title .actions .btn{width:100%}
}
/* v3.0.1 reports refinements */
.report-filters .check{display:flex;align-items:center;gap:8px;font-weight:900;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;min-height:44px}.report-filters .check input{width:18px;height:18px}.report-tree .tree-row{grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(120px,1fr)) auto}.report-tree a{text-decoration:none;color:inherit}
@media(max-width:900px){.report-filters{grid-template-columns:1fr 1fr}.report-tree .tree-row{grid-template-columns:1fr}}
@media(max-width:700px){.report-filters{grid-template-columns:1fr!important}.report-filters .btn{width:100%}}
