@import "https://fonts.googleapis.com/css2?family=Tajawal:wght@200;300;400;500;700;800;900&family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--font-family:"Tajawal", "Segoe UI", system-ui, -apple-system, sans-serif;--color-primary:#0f3b22;--color-primary-hover:#0a2917;--color-primary-light:#f0f7f2;--color-primary-dark:#061d10;--color-secondary:#1a5336;--color-secondary-hover:#14412b;--color-accent:#84cc16;--color-accent-hover:#65a30d;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-hover:#f1f5f9;--color-surface-2:#f1f5f9;--color-surface-3:#e2e8f0;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-success:#059669;--color-success-light:#ecfdf5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#2563eb;--color-info-light:#eff6ff;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #00000012;--shadow-lg:0 10px 15px -3px #00000012, 0 4px 6px -4px #00000012;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #00000014;--shadow-primary:0 4px 14px 0 color-mix(in srgb, var(--color-primary) 30%, transparent);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--sidebar-width:275px;--navbar-height:70px;--content-max-width:1360px}[data-theme=dark]{--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-hover:#334155;--color-surface-2:#334155;--color-surface-3:#475569;--color-border:#334155;--color-border-hover:#475569;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#64748b}.admin-layout{--color-primary:#1e293b;--color-primary-hover:#0f172a;--color-primary-light:#f1f5f9;--color-secondary:#334155;--color-accent:#3b82f6}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}[dir=ltr]{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;text-align:left;direction:ltr}[dir=rtl],html[lang=ar],:root[dir=rtl]{--font-family:"Tajawal", "Segoe UI", system-ui, -apple-system, sans-serif;text-align:right;direction:rtl}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.container{max-width:var(--content-max-width);padding:0 var(--space-6);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fade-in-up{animation:.35s ease-out fadeInUp}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-shell{background:var(--color-bg);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);min-height:100vh;transition:width var(--transition-normal);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}[dir=rtl] .sidebar{border-left:1px solid var(--color-border);border-right:none}.sidebar--collapsed{width:72px}.sidebar--collapsed .sidebar-header{flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:auto;padding:.85rem .5rem;display:flex}.sidebar--collapsed .sidebar-logo{cursor:pointer;transition:transform var(--transition-fast)}.sidebar--collapsed .sidebar-logo:hover{transform:scale(1.05)}.sidebar--collapsed .sidebar-nav{padding:1rem .5rem}.sidebar--collapsed .sidebar-nav__item{justify-content:center;padding:.65rem 0}.sidebar--collapsed .sidebar-footer{align-items:center;padding:.85rem .5rem}.sidebar--collapsed .sidebar-user{justify-content:center}.sidebar--collapsed .sidebar-logout-btn{justify-content:center;padding:.6rem 0}.admin-layout .sidebar{background:#0f172a;border-right-color:#1e293b}[dir=rtl] .admin-layout .sidebar{border-left-color:#1e293b;border-right:none}[dir=rtl] table th,[dir=rtl] table td{text-align:right}[dir=ltr] table th,[dir=ltr] table td{text-align:left}[dir=rtl] .input:not([type=number]):not([type=tel]):not([type=email]):not(.force-ltr),[dir=rtl] textarea:not(.force-ltr),[dir=rtl] select{text-align:right}[dir=ltr] .input,[dir=ltr] textarea,[dir=ltr] select{text-align:left}input[type=number],input[type=tel],input[type=email],.force-ltr{text-align:left!important;direction:ltr!important}[dir=rtl] .directional-icon-flip{transform:scaleX(-1)}.sidebar-header{border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;min-height:84px;padding:.85rem .75rem;display:flex;position:relative;overflow:visible}.sidebar--collapsed .sidebar-header{min-height:var(--navbar-height);padding:.85rem .5rem}.sidebar:not(.sidebar--collapsed) .sidebar-collapse-btn{position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}[dir=rtl] .sidebar:not(.sidebar--collapsed) .sidebar-collapse-btn{left:1.1rem;right:auto}.admin-layout .sidebar-header{border-bottom-color:#1e293b}.sidebar-logo{width:auto;max-width:100%;height:auto;transition:transform var(--transition-fast);background:0 0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:visible}.sidebar-logo:hover{transform:scale(1.04)}.sidebar-brand{flex:1;min-width:0;overflow:hidden}.sidebar-brand__name{color:var(--color-text);white-space:nowrap;letter-spacing:-.2px;font-size:1.15rem;font-weight:800;display:block}.admin-layout .sidebar-brand__name{color:#f1f5f9}.sidebar-brand__role{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.sidebar-collapse-btn{background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);width:28px;height:28px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sidebar--collapsed .sidebar-collapse-btn{background:var(--color-surface-2);width:32px;height:32px;color:var(--color-text);border:1px solid var(--color-border)}.sidebar--collapsed .sidebar-collapse-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-layout .sidebar-collapse-btn{color:#94a3b8;background:#ffffff0f;border-color:#334155}.admin-layout .sidebar-collapse-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex;overflow-y:auto}.sidebar-nav__item{border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.sidebar-nav__item:hover{background:var(--color-surface-2);color:var(--color-text)}.admin-layout .sidebar-nav__item{color:#94a3b8}.admin-layout .sidebar-nav__item:hover{color:#f1f5f9;background:#ffffff0f}.sidebar-nav__item--active{background:var(--color-primary)!important;color:#fff!important}.sidebar-nav__icon{flex-shrink:0;align-items:center;display:flex}.sidebar-nav__label{text-overflow:ellipsis;overflow:hidden}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:1rem .75rem;display:flex}.admin-layout .sidebar-footer{border-top-color:#1e293b}.sidebar-user{align-items:center;gap:.75rem;display:flex;overflow:hidden}.sidebar-user__avatar{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:700;display:flex}.sidebar-user__info{flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar-user__name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.825rem;font-weight:600;overflow:hidden}.admin-layout .sidebar-user__name{color:#f1f5f9}.sidebar-user__email{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sidebar-logout-btn{cursor:pointer;color:#ef4444;border-radius:var(--radius-md);transition:all var(--transition-fast);width:100%;font-size:.85rem;font-weight:600;font-family:var(--font-family);background:#ef444414;border:1px solid #ef44441f;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.sidebar-logout-btn:hover{color:#dc2626;background:#ef444429;border-color:#ef444440}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:hidden}.topbar{height:var(--navbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.topbar__breadcrumb{color:var(--color-text);font-size:1.05rem;font-weight:700}.topbar__actions{align-items:center;gap:.65rem;display:flex}.topbar__icon-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:38px;height:38px;color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex}.topbar__icon-btn:hover{background:var(--color-surface-2);color:var(--color-primary);border-color:var(--color-primary)}.page-content{flex:1;padding:2rem;overflow-y:auto}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:.25rem;display:flex}.stat-card__value{color:var(--color-text);font-size:2rem;font-weight:800;line-height:1.1}.stat-card__label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.data-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.data-table-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.data-table-header__title{color:var(--color-text);font-size:1.05rem;font-weight:700}table.data-table{border-collapse:collapse;width:100%}table.data-table thead{background:var(--color-surface-2)}table.data-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.85rem 1.5rem;font-size:.75rem;font-weight:700}table.data-table td{border-top:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:1.1rem 1.5rem;font-size:.9rem}table.data-table tbody tr:hover{background:var(--color-surface-2)}.badge{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge--success{background:var(--color-success-light);color:var(--color-success)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.badge--info{background:var(--color-info-light);color:var(--color-info)}.badge--neutral{background:var(--color-surface-2);color:var(--color-text-secondary)}.btn{font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md);white-space:nowrap;box-sizing:border-box;border:none;justify-content:center;align-items:center;gap:.55rem;min-height:42px;padding:.625rem 1.35rem;font-size:.925rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--color-primary) 28%, transparent)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 14px color-mix(in srgb, var(--color-primary) 35%, transparent);transform:translateY(-1px)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{min-height:34px;padding:.4rem .85rem;font-size:.825rem}.btn-md{min-height:42px;padding:.625rem 1.35rem;font-size:.925rem}.btn-lg{min-height:48px;padding:.85rem 1.75rem;font-size:1rem}.btn-icon{min-width:42px;min-height:42px;padding:.5rem}.input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-text);font-family:var(--font-family);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;outline:none;padding:.625rem .875rem;font-size:.9rem}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent)}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}div:where(.swal2-container){z-index:999999!important}.swal2-custom-popup{border-radius:var(--radius-xl)!important;border:1px solid var(--color-border)!important;font-family:var(--font-family)!important;padding:1.75rem!important;box-shadow:0 25px 50px -12px #00000040!important}.swal2-custom-title{color:var(--color-text)!important;font-size:1.25rem!important;font-weight:700!important;font-family:var(--font-family)!important;margin-bottom:.5rem!important}.swal2-custom-html{color:var(--color-text-secondary)!important;font-size:.95rem!important;font-family:var(--font-family)!important;line-height:1.6!important}.swal2-actions{gap:.75rem!important;margin-top:1.5rem!important}.swal2-custom-confirm,.swal2-custom-cancel,.swal2-custom-deny{font-family:var(--font-family)!important;border-radius:var(--radius-md)!important;cursor:pointer!important;transition:all var(--transition-fast)!important;padding:.6rem 1.4rem!important;font-size:.9rem!important;font-weight:600!important}.swal2-custom-toast{border-radius:var(--radius-lg)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-lg)!important;font-family:var(--font-family)!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:998;background:#0f172a99;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-bottom-nav{display:none}.grid-2-col{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.grid-3-col{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.grid-4-col{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-responsive table,.data-table-wrapper table{min-width:600px}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:540px;max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-xl);animation:.2s cubic-bezier(.16,1,.3,1) modalPop;overflow-y:auto}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:1024px){:root{--sidebar-width:270px}.sidebar{z-index:999!important;width:280px!important;max-width:85vw!important;height:100dvh!important;box-shadow:var(--shadow-xl)!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;top:0!important;bottom:0!important}[dir=ltr] .sidebar{left:0!important;right:auto!important;transform:translate(-105%)!important}[dir=rtl] .sidebar{left:auto!important;right:0!important;transform:translate(105%)!important}[dir=ltr] .sidebar.sidebar--mobile-open,[dir=rtl] .sidebar.sidebar--mobile-open{transform:translate(0)!important}.main-content{width:100%!important;max-width:100vw!important;padding-bottom:74px!important}.topbar{height:60px!important;padding:0 1rem!important}.topbar__breadcrumb{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden;font-size:.95rem!important}.mobile-bottom-nav{background:var(--color-surface)!important;border-top:1px solid var(--color-border)!important;z-index:900!important;height:64px!important;padding:0 .5rem!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;justify-content:space-around!important;align-items:center!important;display:flex!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;box-shadow:0 -4px 16px #0000000f!important}.mobile-bottom-nav__item{color:var(--color-text-muted)!important;cursor:pointer!important;background:0 0!important;border:none!important;flex-direction:column!important;flex:1!important;justify-content:center!important;align-items:center!important;gap:3px!important;height:100%!important;padding:.25rem!important;font-size:.7rem!important;font-weight:600!important;text-decoration:none!important;transition:color .15s,transform .15s!important;display:flex!important}.mobile-bottom-nav__item:active{transform:scale(.95)}.mobile-bottom-nav__item.active{color:var(--color-primary)!important;font-weight:800!important}.mobile-bottom-nav__item.active svg{stroke-width:2.4px;color:var(--color-primary)!important}.page-content{padding:1.25rem 1rem!important}.grid-3-col,.grid-4-col{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){input[type=text],input[type=number],input[type=tel],input[type=email],input[type=password],select,textarea{font-size:16px!important}.page-content{padding:1rem .75rem!important}.topbar{padding:0 .75rem!important}.topbar__actions{gap:.4rem!important}.topbar__icon-btn{width:34px!important;height:34px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important;margin-bottom:1.25rem!important}.stat-card{padding:1rem!important}.stat-card__value{font-size:1.45rem!important}.stat-card__label{font-size:.78rem!important}.grid-2-col,.grid-3-col,.grid-4-col{grid-template-columns:1fr!important;gap:1rem!important}.modal-card{border-radius:var(--radius-lg)!important;max-width:calc(100vw - 1.5rem)!important;padding:1.25rem!important}.btn-lg{min-height:44px!important;padding:.65rem 1.25rem!important;font-size:.925rem!important}.data-table-wrapper{margin-left:-.25rem;margin-right:-.25rem;border-radius:var(--radius-lg)!important;width:calc(100% + .5rem)!important}table.data-table th,table.data-table td{padding:.75rem 1rem!important;font-size:.85rem!important}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr!important}.page-content{padding:.75rem .5rem!important}}.select2-option-item{-webkit-user-select:none;user-select:none;transition:background-color .12s cubic-bezier(.4,0,.2,1),color .12s}.select2-option-item:hover,.select2-option-item.is-highlighted{background-color:var(--color-surface-hover,#f1f5f9)!important}.select2-option-item.is-selected{background-color:#10b98114!important}.select2-option-item.is-selected:hover,.select2-option-item.is-selected.is-highlighted{background-color:#10b98129!important}
