:root{--color-background: #f8f9fa;--color-foreground: #1a1a1a;--color-card: #ffffff;--color-border: #e9ecef;--color-text-muted: #6b7280;--color-primary: #323B6D;--color-primary-foreground: #ffffff;--color-primary-hover: #2a335c;--color-secondary: #6c757d;--color-secondary-foreground: #ffffff;--color-accent: #17a2b8;--color-destructive: #dc3545;--color-destructive-foreground: #ffffff;--color-success: #28a745;--color-warning: #ffc107;--color-info: #17a2b8;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-arabic: "Arial", "Tahoma", sans-serif;--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;--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;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--sidebar-width: 280px;--sidebar-width-collapsed: 80px;--topnav-height: 64px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-family-sans)}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);background-color:#eef2f7;border-right:1px solid #e0e5ed;transition:width var(--transition-slow);overflow-x:hidden}html[dir=rtl] .sidebar,html[dir=rtl] .sidebar *{font-family:var(--font-family-arabic)}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.collapsed .sidebar-header{padding:0 var(--spacing-1);justify-content:flex-start}.sidebar.collapsed .sidebar-logo{padding:0;gap:var(--spacing-1);justify-content:flex-start;width:100%}.sidebar-header{display:flex;align-items:center;height:var(--topnav-height);padding:0 var(--spacing-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-lg);font-weight:600;color:var(--color-primary);white-space:nowrap}.sidebar-logo .logo-img{width:128px;height:128px;object-fit:contain;flex-shrink:0}.sidebar.collapsed .sidebar-logo .logo-img{width:86px;height:86px;margin-left:0}.sidebar-logo .logo-icon{flex-shrink:0}.sidebar-language-switcher{display:flex;gap:var(--spacing-2);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-2);justify-content:space-between}.sidebar-language-btn{flex:1;padding:6px 8px;font-size:var(--font-size-xs);font-weight:600;border:1px solid transparent;border-radius:var(--border-radius-sm);background:transparent;color:var(--color-foreground);cursor:pointer;transition:all var(--transition-fast)}.sidebar-language-btn.active{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.sidebar-language-btn:hover:not(.active){border-color:var(--color-border-strong);color:var(--color-primary)}.sidebar-nav{flex-grow:1;padding:var(--spacing-4) 0;overflow-y:auto}.nav-search{padding:0 var(--spacing-4) var(--spacing-3)}.nav-search-input{width:100%;padding:8px 12px;border-radius:var(--border-radius-md);border:1px solid var(--color-border);background-color:var(--color-background);font-size:var(--font-size-sm)}html[dir=rtl] .nav-search-input{font-family:var(--font-family-arabic)}.nav-section{margin-bottom:var(--spacing-4)}.nav-section-toggle{width:calc(100% - var(--spacing-8));margin:0 var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-lg);background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 3px 12px #0000000a;display:flex;align-items:center;justify-content:space-between;color:var(--color-foreground);font-weight:800;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}html[dir=ltr] .nav-section-toggle{font-size:var(--font-size-xs);font-weight:700}html[dir=rtl] .nav-section-toggle{font-family:var(--font-family-arabic);font-weight:800;font-size:var(--font-size-md);text-transform:none;letter-spacing:normal}.nav-section-toggle:hover{background-color:#f9fbff;border-color:#00000014;box-shadow:0 4px 14px #0000000f}.nav-section-toggle svg{transition:transform var(--transition-fast)}.nav-section-toggle svg.expanded{transform:rotate(180deg)}.nav-section-title{padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-sm);font-weight:700;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}html[dir=rtl] .nav-section-title{font-family:var(--font-family-arabic);text-transform:none;letter-spacing:normal}.nav-section-list{list-style:none;margin:0;padding:0}.nav-group{margin-bottom:var(--spacing-2)}.nav-group-toggle{width:calc(100% - var(--spacing-12));margin:0 var(--spacing-4);margin-inline-start:var(--spacing-6);padding:calc(var(--spacing-2) + 2px) var(--spacing-4);border:1px solid rgba(0,0,0,.04);background:transparent;border-radius:var(--border-radius-md);box-shadow:none;display:flex;align-items:center;justify-content:space-between;color:var(--color-secondary);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}html[dir=ltr] .nav-group-toggle{font-size:var(--font-size-xs)}html[dir=rtl] .nav-group-toggle{font-family:var(--font-family-arabic);text-transform:none;letter-spacing:normal}.nav-group-toggle:hover{background-color:#ffffffe6;border-color:#00000014}.nav-group-toggle svg{transition:transform var(--transition-fast)}.nav-group-toggle svg.expanded{transform:rotate(180deg)}.nav-group-items{list-style:none;margin:0;padding:var(--spacing-2) 0 0 var(--spacing-6);max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.nav-group-items.expanded{max-height:800px}.nav-favorite-btn{margin-inline-start:auto;background:transparent;border:none;color:var(--color-secondary);display:flex;align-items:center;justify-content:center;padding:2px;border-radius:var(--border-radius-sm)}.nav-favorite-btn.active{color:var(--color-primary)}.nav-favorite-btn:hover{background-color:#0000000d}.nav-group-title{padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-family-sans);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}html[dir=rtl] .nav-group-title{font-family:var(--font-family-arabic);text-transform:none;letter-spacing:normal}.sidebar.collapsed .nav-group-title{text-align:center}.nav-item{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-6);margin:var(--spacing-1) var(--spacing-4);border-radius:var(--border-radius-md);color:var(--color-foreground);font-weight:500;font-size:var(--font-size-sm);transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}html[dir=ltr] .nav-item{font-size:var(--font-size-xs)}.nav-item:hover{background-color:var(--color-background)}.nav-item.active{background-color:var(--color-primary);color:var(--color-primary-foreground);box-shadow:var(--shadow-sm)}.nav-item .nav-icon{margin-inline-end:var(--spacing-4);margin-inline-start:0;flex-shrink:0}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .nav-search,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-group-toggle,.sidebar.collapsed .nav-favorite-btn{display:none}.sidebar.collapsed .nav-item .nav-icon{margin-inline-end:0}.sidebar.collapsed .nav-text{display:none}.main-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.topnav{display:flex;align-items:center;justify-content:space-between;height:var(--topnav-height);padding:0 var(--spacing-6);background-color:#eef2f7;border-bottom:1px solid #e0e5ed;flex-shrink:0}.topnav-left{display:flex;align-items:center;gap:var(--spacing-4)}.sidebar-toggle{padding:var(--spacing-2);border-radius:var(--border-radius-full);background-color:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background-color:var(--color-background)}.topnav-right{display:flex;align-items:center;gap:var(--spacing-4)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-2);background-color:transparent;border:none;cursor:pointer;padding:var(--spacing-2);border-radius:var(--border-radius-md)}.user-menu-trigger:hover{background-color:var(--color-background)}.user-avatar{width:32px;height:32px;border-radius:var(--border-radius-full);background-color:var(--color-primary);color:var(--color-primary-foreground);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm)}.user-info .user-email{font-weight:500;font-size:var(--font-size-sm)}.user-info .user-name{font-weight:600;font-size:var(--font-size-sm)}.dropdown-email{font-size:var(--font-size-xs);color:var(--color-muted-foreground, #6b7280);padding:var(--spacing-2) var(--spacing-3);word-break:break-all}.user-menu-dropdown{position:absolute;top:calc(100% + var(--spacing-2));right:0;left:auto;background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);min-width:200px;max-width:min(280px,calc(100vw - 16px));padding:var(--spacing-2);z-index:50;opacity:0;transform:translateY(-10px);visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.user-menu-dropdown.open{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.dropdown-item:hover{background-color:var(--color-background)}.main-content{flex-grow:1;padding:var(--spacing-8);overflow-y:auto;background-color:var(--color-background)}.dashboard-grid{display:grid;gap:var(--spacing-6)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-6)}.stat-card{background-color:var(--color-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-card-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-secondary)}.stat-card-header .icon{color:var(--color-accent)}.stat-card-value{font-size:var(--font-size-3xl);font-weight:700;line-height:1.1}.stat-card-description{font-size:var(--font-size-xs);color:var(--color-secondary)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-6);align-items:start}.chart-container{background-color:var(--color-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);padding:var(--spacing-6)}.chart-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-family-sans);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[dir=rtl] body{font-family:var(--font-family-arabic)}html[dir=rtl]{text-align:right}html[dir=ltr]{text-align:left}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-6)}.card{background-color:var(--color-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-md);font-weight:500;font-size:var(--font-size-sm);font-family:inherit;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-secondary-foreground);border-color:var(--color-secondary)}.btn-danger{background-color:var(--color-destructive);color:var(--color-destructive-foreground)}.btn-success{background-color:var(--color-success);color:var(--color-primary-foreground)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.form-label{font-size:calc(var(--font-size-sm) + 1px);font-weight:600;color:var(--color-foreground)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-card);font-size:var(--font-size-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #4a69bd33}.form-textarea{min-height:100px;resize:vertical}.compact-form .form-group{margin-bottom:var(--spacing-2)}.compact-form .form-label{font-size:13px;font-weight:600}.compact-form .form-input,.compact-form .form-select,.compact-form .form-textarea{padding:6px 10px;font-size:13px}.compact-form .form-textarea{min-height:64px}.form-surface{background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-5);box-shadow:0 12px 24px #0f172a0f}.form-surface .section-title{padding-bottom:var(--spacing-2);border-bottom:1px solid rgba(148,163,184,.35)}.form-grid{display:grid;gap:var(--spacing-3)}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-grid-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.form-span-2{grid-column:1 / -1}.sub-card{border:1px solid var(--color-border);padding:var(--spacing-3);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-3);background-color:var(--color-card)}.compact-form .sub-card{padding:var(--spacing-2)}.section-title{margin:var(--spacing-4) 0 var(--spacing-3);font-size:var(--font-size-md);font-weight:600}.form-actions{margin-top:var(--spacing-4);display:flex;gap:var(--spacing-3)}.table{width:100%;border-collapse:collapse;background:var(--color-card);border-radius:var(--border-radius-md);overflow:hidden;border:1px solid var(--color-border)}.table th,.table td{padding:var(--spacing-3);border-bottom:1px solid var(--color-border)}.table.compact-table th,.table.compact-table td{padding:var(--spacing-2) var(--spacing-3)}.table th{background-color:var(--color-background);font-weight:600;color:var(--color-foreground)}.table tr:hover{background-color:#4a69bd0d}.loading{text-align:center;padding:var(--spacing-8);color:var(--color-secondary)}.error{background-color:#ffebee;color:#c62828;padding:var(--spacing-3);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.success{background-color:#e8f5e9;color:#2e7d32;padding:var(--spacing-3);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.page-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-foreground)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-draft{background-color:#fff3e0;color:#e65100}.status-finalized{background-color:#e8f5e9;color:#2e7d32}.status-cancelled{background-color:#ffebee;color:#c62828}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.5);border-top-color:var(--color-primary);animation:spin .9s linear infinite;background:transparent}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;background:#111827;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 12px 25px #0003;z-index:10000;font-size:14px}.toast.error{background:#b91c1c}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:10000}.modal{background:#fff;border-radius:16px;padding:24px;width:min(420px,90vw);box-shadow:0 20px 50px #0f172a4d;border:1px solid rgba(148,163,184,.35)}.modal-title{margin-bottom:8px;font-size:18px;font-weight:600;color:#0f172a}.modal-actions{margin-top:20px;display:flex;gap:var(--spacing-3);justify-content:flex-end}.action-buttons{display:flex;gap:var(--spacing-2)}html[dir=rtl] .action-buttons{flex-direction:row-reverse}.role-list-item{text-align:left;padding:var(--spacing-3);border:1px solid var(--color-border);background:var(--color-card)}.role-list-item.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a69bd26}html[dir=rtl] .role-list-item{text-align:right}.role-meta{display:flex;flex-wrap:wrap;gap:6px}.role-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2px}.role-badge--active{background:#16a34a1f;color:#15803d}.role-badge--inactive{background:#ef44441f;color:#b91c1c}.role-badge--neutral{background:#64748b1f;color:#475569}.pagination{margin-top:var(--spacing-4);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.pagination-size{display:flex;align-items:center;gap:var(--spacing-2)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,rgba(255,255,255,.2),transparent 50%),radial-gradient(circle at bottom right,rgba(255,255,255,.18),transparent 45%),linear-gradient(135deg,#323b6d,#323b6d 45%,#2a335c)}.login-card{background:#fffffff0;padding:32px;border-radius:24px;box-shadow:0 24px 60px #0f172a40;width:100%;max-width:400px;border:1px solid rgba(148,163,184,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;width:100%;padding-top:0}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;align-self:center;margin-top:0}.login-logo{height:96px;width:auto;max-width:220px;object-fit:contain;display:block;margin:0 auto}.login-app{font-size:20px;font-weight:800;color:#323b6d}.login-card .form-group{margin-bottom:20px}.login-card .form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.login-card .form-input{width:100%;padding:12px 16px;border:1px solid rgba(148,163,184,.5);border-radius:12px;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.login-card .form-input:focus{outline:none;border-color:#323b6d;box-shadow:0 0 0 3px #323b6d38}.login-card .btn.btn-primary{width:100%;padding:12px 16px;border-radius:14px;background:#323b6d;border:1px solid #323B6D;font-weight:600;font-size:15px;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-card .btn.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #323b6d59}.login-card .btn.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-card .error{margin-top:16px;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;text-align:center}.language-switcher{display:flex;gap:3px;background:#323b6d14;padding:2px 3px;border-radius:8px;align-self:flex-start}.language-btn{padding:5px 9px;font-size:10.5px;font-weight:600;border:1px solid transparent;background:transparent;color:#323b6d;border-radius:8px;cursor:pointer;transition:all .2s ease}.language-btn.active{background:#323b6d;color:#fff;border-color:#323b6d;box-shadow:0 6px 16px #323b6d2e}.language-btn:hover:not(.active){color:#232a4a;border-color:#323b6d59}
