@import"https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary-50: #e8eaf6;--color-primary-100: #c5cae9;--color-primary-200: #9fa8da;--color-primary-300: #7986cb;--color-primary-400: #5c6bc0;--color-primary-500: #2b3589;--color-primary-600: #252e78;--color-primary-700: #1e2563;--color-primary-800: #181d4e;--color-primary-900: #101338;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #eeeeee;--color-neutral-300: #e0e0e0;--color-neutral-400: #bdbdbd;--color-neutral-500: #9e9e9e;--color-neutral-600: #757575;--color-neutral-700: #616161;--color-neutral-800: #424242;--color-neutral-900: #212121;--color-success-light: #e8f5e9;--color-success: #4caf50;--color-success-dark: #2e7d32;--color-warning-light: #fff3e0;--color-warning: #ff9800;--color-warning-dark: #ef6c00;--color-error-light: #ffebee;--color-error: #f44336;--color-error-dark: #c62828;--color-info-light: #e3f2fd;--color-info: #2196f3;--color-info-dark: #1565c0;--color-surface: #ffffff;--color-surface-secondary: #f8f9fc;--color-background: #f5f7fa;--color-overlay: rgba(0, 0, 0, .5);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-disabled: var(--color-neutral-400);--color-text-inverse: var(--color-neutral-50);--color-text-link: var(--color-primary-500);--color-border: var(--color-neutral-300);--color-border-light: var(--color-neutral-200);--color-border-focus: var(--color-primary-500);--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-sidebar-bg: var(--color-slate-800);--color-sidebar-bg-dark: var(--color-slate-900);--color-sidebar-text: rgba(255, 255, 255, .7);--color-sidebar-text-active: #ffffff;--color-sidebar-border: rgba(255, 255, 255, .1);--color-accent-purple: #8b5cf6;--color-accent-purple-bg: rgba(139, 92, 246, .1);--color-accent-green: #22c55e;--color-accent-green-bg: rgba(34, 197, 94, .1);--color-accent-amber: #f59e0b;--color-accent-amber-bg: rgba(245, 158, 11, .1);--color-accent-blue: #3b82f6;--color-accent-blue-bg: rgba(59, 130, 246, .1);--color-accent-red: #ef4444;--color-accent-red-bg: rgba(239, 68, 68, .1);--color-alert-error-bg: #fef2f2;--color-alert-error-border: #fecaca;--color-alert-error-text: #dc2626;--color-logout-text: #fca5a5;--color-logout-text-hover: #fecaca;--color-logout-bg: rgba(239, 68, 68, .1);--color-logout-bg-hover: rgba(239, 68, 68, .2);--color-logout-border: rgba(239, 68, 68, .3)}:root{--font-family-primary: "Cairo", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 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;--font-size-5xl: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em}:root{--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.card{background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-slate-200);box-shadow:var(--shadow-xs);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--flat{box-shadow:none}.card--flat:hover{transform:none;box-shadow:none}.gradient-primary{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%)}.gradient-sidebar{background:linear-gradient(180deg,var(--color-sidebar-bg) 0%,var(--color-sidebar-bg-dark) 100%)}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}.icon-xl{width:32px;height:32px}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:var(--font-weight-semibold);color:var(--color-sidebar-text-active)}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar--md{width:40px;height:40px;font-size:var(--font-size-md)}.avatar--lg{width:48px;height:48px;font-size:var(--font-size-lg)}.w-full{width:100%}.min-h-screen{min-height:100vh}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-slate-400)}.text-inverse{color:var(--color-text-inverse)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.toast-container{position:fixed;top:var(--spacing-6);left:50%;transform:translate(-50%);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--spacing-3);pointer-events:none;max-width:420px;width:90%}.toast{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:all;animation:toast-slide-in .3s ease-out;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);direction:rtl}.toast--success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.toast--error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.toast--warning{background-color:#fffbeb;border:1px solid #fde68a;color:#92400e}.toast__icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.toast__icon svg{width:100%;height:100%}.toast--success .toast__icon{color:#059669}.toast--error .toast__icon{color:#dc2626}.toast--warning .toast__icon{color:#d97706}.toast__message{flex:1;line-height:var(--line-height-snug)}.toast__close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-lg);opacity:.6;cursor:pointer;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.toast__close:hover{opacity:1;background-color:#0000000f}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[dir=rtl],html:lang(ar){direction:rtl}body{font-family:var(--font-family-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin-bottom:var(--spacing-4)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-600)}input,textarea,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}::selection{background-color:var(--color-primary-100);color:var(--color-primary-900)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-surface);gap:var(--spacing-4)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-slate-200);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.loading-screen p{color:var(--color-slate-500);font-size:var(--font-size-md)}.page-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.page-placeholder h1{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.page-placeholder p{color:var(--color-slate-500)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md, 12px);color:var(--text-secondary, #6b7280);font-size:var(--text-sm, 14px)}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--color-primary, #2563eb);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-6);background-color:var(--color-surface);border-bottom:1px solid var(--color-slate-200);min-height:64px}.header__brand{display:flex;align-items:center;gap:var(--spacing-3)}.header__logo{width:48px;height:48px;object-fit:contain}.header__brand-text{display:flex;flex-direction:column}.header__brand-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.header__brand-subtitle{font-size:var(--font-size-sm);color:var(--color-primary-500);line-height:1.3}.header__actions{display:flex;align-items:center;gap:var(--spacing-4)}.header__notification-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast)}.header__notification-btn:hover{background-color:var(--color-slate-100)}.header__notification-icon{width:22px;height:22px;color:var(--color-slate-600)}.header__notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;background-color:var(--color-accent-red);color:#fff;font-size:11px;font-weight:var(--font-weight-semibold);border-radius:50%;display:flex;align-items:center;justify-content:center}.header__user{position:relative}.header__user-button{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast)}.header__user-button:hover{background-color:var(--color-slate-100)}.header__user-info{display:flex;flex-direction:column;align-items:flex-end;text-align:end}.header__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.header__user-role{font-size:var(--font-size-xs);color:var(--color-slate-500);line-height:1.2}.header__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-amber) 0%,var(--color-accent-amber) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.header__chevron{width:16px;height:16px;color:var(--color-slate-500);transition:transform var(--transition-fast)}.header__chevron--open{transform:rotate(180deg)}.header__dropdown{position:absolute;top:calc(100% + var(--spacing-2));left:0;min-width:200px;background-color:var(--color-surface);border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-2);z-index:var(--z-dropdown)}.header__dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);text-align:start}.header__dropdown-item:hover{background-color:var(--color-slate-100)}.header__dropdown-item--danger{color:var(--color-accent-red)}.header__dropdown-item--danger:hover{background-color:var(--color-accent-red-bg)}.header__dropdown-icon{width:18px;height:18px}.header__dropdown-divider{height:1px;background-color:var(--color-slate-200);margin:var(--spacing-2) 0}@media(max-width:768px){.header{padding:var(--spacing-3) var(--spacing-4)}.header__brand-text,.header__user-info{display:none}}@media(max-width:640px){.header{padding:var(--spacing-2) var(--spacing-3)}.header__actions{gap:var(--spacing-2)}}.sidenav{width:260px;flex-shrink:0;background-color:var(--color-surface);border-left:1px solid var(--color-slate-200);display:flex;flex-direction:column;padding:var(--spacing-4) 0}.sidenav__nav{display:flex;flex-direction:column;gap:var(--spacing-1);padding:0 var(--spacing-3)}.sidenav__item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);color:var(--color-slate-600);text-decoration:none;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.sidenav__item:hover{background-color:var(--color-slate-100);color:var(--color-slate-800)}.sidenav__item--active{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--color-sidebar-text-active);font-weight:var(--font-weight-semibold)}.sidenav__item--active:hover{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%);color:var(--color-sidebar-text-active)}.sidenav__item--active .sidenav__icon{color:var(--color-sidebar-text-active)}.sidenav__icon{width:20px;height:20px;flex-shrink:0}.sidenav__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidenav__logout{display:flex;align-items:center;gap:var(--spacing-3);margin:var(--spacing-4) var(--spacing-3) 0;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);background-color:var(--color-accent-red-bg);border:1px solid var(--color-logout-border);color:var(--color-accent-red);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.sidenav__logout:hover{background-color:var(--color-logout-bg-hover);color:var(--color-error-dark)}.sidenav__group{display:flex;flex-direction:column}.sidenav__item--parent{border:none;width:100%;cursor:pointer;text-align:right;font-family:inherit;font-size:inherit;overflow:visible}.sidenav__item--parent.sidenav__item--active{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--color-sidebar-text-active)}.sidenav__chevron{margin-right:auto;margin-left:0;transition:transform var(--transition-fast);flex-shrink:0;color:currentColor}.sidenav__chevron--open{transform:rotate(180deg)}.sidenav__sub-menu{display:flex;flex-direction:column;gap:4px;padding-right:12px;margin-top:6px}.sidenav__sub-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-lg);color:var(--color-slate-500);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.sidenav__sub-item:hover{background-color:var(--color-slate-100);color:var(--color-slate-800)}.sidenav__sub-item--active{background-color:var(--color-primary-50, #eff6ff);color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.sidenav__sub-icon{width:18px;height:18px;flex-shrink:0;color:currentColor}@media(max-width:1024px){.sidenav{width:72px;padding:var(--spacing-4) var(--spacing-2)}.sidenav__nav{padding:0}.sidenav__item,.sidenav__logout{justify-content:center;padding:var(--spacing-3)}.sidenav__label{display:none}.sidenav__logout{margin:var(--spacing-4) 0 0}}@media(max-width:640px){.sidenav{position:fixed;bottom:0;left:0;right:0;width:100%;min-height:auto;height:64px;flex-direction:row;padding:0;border-inline-start:none;border-top:1px solid var(--color-slate-200);z-index:var(--z-fixed)}.sidenav__nav{flex-direction:row;justify-content:space-around;align-items:center;padding:0 var(--spacing-2);gap:0;overflow-x:auto}.sidenav__item{flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.sidenav__icon{width:24px;height:24px}.sidenav__label{display:block;font-size:var(--font-size-xs)}.sidenav__logout{display:none}}.dashboard-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--color-slate-50)}.dashboard-layout__body{display:flex;flex-direction:row-reverse;flex:1;overflow:hidden}.dashboard-layout__content{flex:1;padding:var(--spacing-6);overflow-y:auto}@media(max-width:1024px){.dashboard-layout__content{padding:var(--spacing-4)}}@media(max-width:640px){.dashboard-layout__content{padding:var(--spacing-4);padding-bottom:calc(64px + var(--spacing-4));min-height:calc(100vh - 128px)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-slate-50);padding:var(--spacing-4)}.error-boundary__card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-8);text-align:center;max-width:420px;box-shadow:var(--shadow-lg)}.error-boundary__icon{font-size:3rem;margin-bottom:var(--spacing-4)}.error-boundary__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-3) 0}.error-boundary__message{font-size:var(--font-size-md);color:var(--color-slate-500);margin:0 0 var(--spacing-6) 0;line-height:1.6}.error-boundary__btn{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:#fff;border:none;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.error-boundary__btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2b35894d}
