@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800;900&display=swap');
:root{
  --app-bg:#f4f7fb;--app-surface:#fff;--app-surface-2:#f8fafc;--app-text:#172033;--app-muted:#6b7280;
  --app-border:#e6eaf0;--app-primary:#2457d6;--app-primary-2:#1b46b1;--app-success:#168a4b;--app-warning:#b7791f;
  --app-danger:#c63d3d;--app-info:#1f7aa8;--app-radius:18px;--app-shadow:0 14px 36px rgba(28,39,60,.08);
}
*{box-sizing:border-box}button,input,select,textarea,table,.btn,.form-control,.form-select,.select2-container,.modal,.dropdown-menu{font-family:inherit!important}html{scroll-behavior:smooth}body{margin:0;background:var(--app-bg);color:var(--app-text);font-family:"Cairo","Tajawal","Segoe UI",Tahoma,Arial,sans-serif}
a{text-decoration:none}.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset-block:0;right:0;width:270px;background:#101828;color:#fff;padding:22px 16px;z-index:1040;overflow:auto}.app-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:16px}.app-brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#3167ec,#1e45aa);font-size:22px;box-shadow:0 8px 20px rgba(36,87,214,.28)}.app-brand-title{font-weight:800;font-size:1.05rem}.app-brand-subtitle{font-size:.78rem;color:#98a2b3;margin-top:3px}.app-nav-label{font-size:.72rem;color:#667085;padding:10px 12px 6px;font-weight:700}.app-nav{display:flex;flex-direction:column;gap:5px}.app-nav a{display:flex;align-items:center;gap:11px;color:#d0d5dd;padding:11px 12px;border-radius:12px;font-weight:700;transition:.18s}.app-nav a:hover,.app-nav a.active{color:#fff;background:rgba(255,255,255,.1)}.app-nav-icon{width:24px;text-align:center}.app-main{margin-right:270px;min-height:100vh}.app-topbar{position:sticky;top:0;z-index:1020;height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--app-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.app-topbar-title{font-size:1.1rem;font-weight:800}.app-topbar-meta{font-size:.82rem;color:var(--app-muted);margin-top:2px}.app-content{padding:26px;max-width:1500px;margin:auto}.app-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.app-page-title{font-size:1.65rem;font-weight:900;margin:0 0 6px}.app-page-subtitle{color:var(--app-muted);margin:0}.app-actions{display:flex;gap:8px;flex-wrap:wrap}.app-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius);box-shadow:var(--app-shadow);overflow:hidden}.app-card-header{padding:18px 20px;border-bottom:1px solid var(--app-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.app-card-title{font-weight:900;font-size:1rem}.app-card-subtitle{font-size:.82rem;color:var(--app-muted);margin-top:4px}.app-card-body{padding:20px}.step-badge{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:#eef3ff;color:var(--app-primary);font-weight:900;margin-left:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;padding:16px;min-height:112px}.metric-label{font-size:.82rem;color:var(--app-muted);margin-bottom:8px}.metric-value{font-size:1.55rem;font-weight:900}.metric-note{font-size:.78rem;color:var(--app-muted);margin-top:5px}.metric-card.primary{background:#f2f6ff;border-color:#d9e4ff}.metric-card.success{background:#effaf4;border-color:#caecd8}.metric-card.warning{background:#fff8eb;border-color:#f4dfb7}.metric-card.danger{background:#fff2f2;border-color:#f2cccc}.status-panel{border:1px solid;padding:16px;border-radius:16px;display:flex;align-items:flex-start;gap:12px}.status-panel.ok{background:#eefaf3;border-color:#bce7ce;color:#11693a}.status-panel.no{background:#fff1f1;border-color:#f3c5c5;color:#9b2929}.status-panel.warn{background:#fff8e8;border-color:#f2d89e;color:#8a5a0f}.status-icon{font-size:1.35rem;line-height:1}.status-title{font-weight:900}.status-text{font-size:.88rem;margin-top:3px}.form-label{font-weight:800;color:#344054}.form-control,.form-select{min-height:48px;border:1px solid #d9dee7;border-radius:12px;padding-inline:13px}.form-control:focus,.form-select:focus{border-color:#87a8ff;box-shadow:0 0 0 4px rgba(36,87,214,.1)}.btn{border-radius:11px;font-weight:800;min-height:42px}.btn-primary{background:var(--app-primary);border-color:var(--app-primary)}.btn-primary:hover{background:var(--app-primary-2);border-color:var(--app-primary-2)}.select2-container .select2-selection--single{height:48px;border:1px solid #d9dee7;border-radius:12px}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;padding-right:14px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;left:8px;right:auto}.section-stack{display:grid;gap:18px}.data-table th{font-size:.78rem;color:#667085;font-weight:900;background:#f8fafc;white-space:nowrap}.data-table td{vertical-align:middle}.factory-summary{display:flex;align-items:center;gap:14px;padding:15px;border-radius:15px;background:var(--app-surface-2);border:1px solid var(--app-border)}.factory-avatar{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#eaf0ff;color:var(--app-primary);font-size:24px}.factory-name{font-size:1.05rem;font-weight:900}.factory-meta{font-size:.82rem;color:var(--app-muted);margin-top:4px}.mobile-menu-btn{display:none}.mobile-backdrop{display:none}.empty-state{padding:30px;text-align:center;color:var(--app-muted)}.quick-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.sticky-action{position:sticky;bottom:10px;z-index:5}.mobile-card-list{display:none}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:1fr}}
@media(max-width:900px){.app-sidebar{transform:translateX(110%);transition:.22s}.app-sidebar.open{transform:translateX(0)}.app-main{margin-right:0}.mobile-menu-btn{display:inline-flex}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1030;opacity:0;pointer-events:none;transition:.2s}.mobile-backdrop.show{opacity:1;pointer-events:auto}.app-topbar{padding:0 14px}.app-content{padding:16px}.app-page-head{flex-direction:column}.app-actions{width:100%}.app-actions .btn{flex:1}.app-page-title{font-size:1.35rem}}
@media(max-width:680px){.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:13px;min-height:96px}.metric-value{font-size:1.25rem}.app-card-header,.app-card-body{padding:15px}.app-card{border-radius:15px}.desktop-table{display:none}.mobile-card-list{display:grid;gap:10px}.mobile-row-card{border:1px solid var(--app-border);border-radius:14px;padding:13px;background:#fff}.mobile-row-title{font-weight:900}.mobile-row-meta{font-size:.8rem;color:var(--app-muted);margin-top:4px}.mobile-row-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.mobile-row-actions .btn{flex:1}.form-control,.form-select,.select2-container{font-size:16px!important}.status-panel{padding:13px}.app-topbar-title{font-size:1rem}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.app-content{padding:12px}.app-topbar{height:64px}.app-page-title{font-size:1.25rem}}
@media print{.app-sidebar,.app-topbar,.app-actions{display:none!important}.app-main{margin:0}.app-content{padding:0}.app-card{box-shadow:none}}
