:root{--primary-color:#15b5e5;--primary-hover:#0da2ce;--bg-gradient-start:#f8fafc;--bg-gradient-end:#f8fafc;--glass-bg:#fff;--glass-border:#0000000d;--glass-shadow:0 4px 6px -1px #0000001a;--glass-text:#1e252b;--glass-muted:#64748b;--sidebar-bg:#1e252b;--header-bg:#fff;--bg-app:#f1f5f9;--bg-sidebar:#f8fafc;--bg-card:#fff;--bg-card-hover:#eff6ff;--bg-toolbar:#f1f5f9;--bg-pill:#f8fafc;--border-color:#e2e8f0;--text-main:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--danger:#ef4444;--success:#10b981;--warning:#f59e0b}[data-theme=dark]{--primary-color:#818cf8;--primary-hover:#6366f1;--bg-gradient-start:#0f172a;--bg-gradient-end:#1e1b4b;--glass-bg:#0f172a99;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000005e;--glass-text:#f8fafc;--glass-muted:#94a3b8;--sidebar-bg:#0f172ab3;--header-bg:#0f172a99;--bg-app:#0f172a;--bg-sidebar:#1e293b;--bg-card:#1e293b;--bg-card-hover:#334155;--bg-toolbar:#0f172a;--bg-pill:#334155;--border-color:#334155;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--shadow-sm:0 4px 12px #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0;font-family:Tajawal,Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg-gradient-start);color:var(--text-main);background-attachment:fixed;min-height:100vh;transition:background .3s,color .3s}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}.app-container{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--ui-surface);border-inline-end:1px solid var(--ui-border);flex-direction:column;width:248px;height:100%;transition:transform .3s;display:flex}.sidebar-header{color:var(--ui-primary);align-items:center;gap:10px;padding:18px 20px 14px;font-size:17px;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;flex-grow:1;gap:2px;padding:4px 12px 20px;display:flex}.nav-link{color:var(--ui-text-2);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--ui-track);color:var(--ui-text)}.nav-link.active{background:var(--ui-primary-soft);color:var(--ui-primary);font-weight:700}.mobile-only{display:none!important}.sidebar-backdrop{display:none}@media (width<=900px){.mobile-only{display:flex!important}.sidebar-wrap{z-index:1200;box-shadow:none;transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-100%)}[dir=rtl] .sidebar-wrap{transform:translate(100%)}.sidebar-wrap.open,[dir=rtl] .sidebar-wrap.open{transform:none;box-shadow:0 0 32px #10182833}.sidebar-backdrop{z-index:1100;background:#10182873;display:block;position:fixed;inset:0}.header{padding:0 12px}}.main-content{background:var(--ui-bg);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.header{background:var(--ui-surface);border-bottom:1px solid var(--ui-border);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.header-right{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0 10px;transition:background .15s,color .15s;display:flex}.icon-btn:hover{background:var(--ui-track);color:var(--ui-primary)}.page-content{flex-grow:1;padding:24px;overflow-y:auto}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{flex-direction:column;gap:24px;width:100%;max-width:420px;padding:40px;display:flex}.login-header{text-align:center}.login-header h1{color:var(--glass-text);margin-bottom:8px;font-size:1.75rem}.login-header p{color:var(--glass-muted);font-size:.95rem}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--glass-text);font-size:.9rem;font-weight:500}.form-control{border:1px solid var(--glass-border);color:var(--text-main);background:#ffffff1a;border-radius:10px;outline:none;padding:12px 16px;font-size:1rem;transition:all .3s}[data-theme=dark] .form-control{background:#0003}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:1rem;font-weight:600;transition:background .3s}.btn-primary:hover{background:var(--primary-hover)}.workspace-tab{color:var(--ui-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;min-width:max-content;margin-bottom:-1px;padding:10px 12px 9px;transition:color .15s,border-color .15s;display:flex}.workspace-tab:hover{color:var(--ui-text)}.workspace-tab.active{color:var(--ui-primary);border-bottom-color:var(--ui-primary);font-weight:700}.tab-close-btn{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:-4px;padding:2px;transition:all .2s;display:flex}.tab-close-btn:hover{opacity:1;background-color:var(--ui-track)}.workspace-tab.active .tab-close-btn{color:var(--ui-muted)}.workspace-tab.active .tab-close-btn:hover{background-color:var(--ui-track);color:var(--ui-danger)}.tab-bar::-webkit-scrollbar{height:4px}.tab-bar::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:2px}.context-menu-item:hover{background-color:#f1f5f9}.context-menu-item:first-child:hover{background-color:#2563eb!important}@media print{.no-print,.no-print *{display:none!important}.print-only{display:block!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,html,#root,.main-content{background:#fff!important;height:auto!important;min-height:auto!important;position:relative!important;overflow:visible!important}div:not(.no-print)[style*="overflow: hidden"],div:not(.no-print)[style*="height: 100%"],div:not(.no-print)[style*="height: 100vh"],div:not(.no-print)[style*="display: flex"]{height:auto!important;display:block!important;overflow:visible!important}::-webkit-scrollbar{display:none}}@keyframes contextMenuSlideIn{0%{opacity:0;transform:scale(.98)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.modern-context-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:9999;color:#334155;text-align:left;direction:ltr;background:#fffffff2;border:1px solid #e2e8f0cc;border-radius:12px;min-width:240px;max-height:calc(100vh - 40px);padding:8px 0;font-size:14px;animation:.15s cubic-bezier(.16,1,.3,1) forwards contextMenuSlideIn;position:fixed;overflow:hidden auto;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modern-context-menu-item{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:10px 16px;font-weight:500;transition:all .2s;display:flex}.modern-context-menu-item:hover{color:#0f172a;background-color:#f1f5f9}.modern-context-menu-item.danger{color:#ef4444}.modern-context-menu-item.danger:hover{color:#dc2626;background-color:#fef2f2}.modern-context-menu-item svg{color:#64748b;transition:color .2s}.modern-context-menu-item:hover svg{color:#3b82f6}.modern-context-menu-item.danger svg{color:#ef4444}.modern-context-menu-item.danger:hover svg{color:#dc2626}.modern-context-menu-divider{background-color:#e2e8f0;height:1px;margin:6px 0}:root{--ui-primary:#1f3a5a;--ui-primary-hover:#15293f;--ui-primary-soft:#eaf0f6;--ui-on-primary:#fff;--ui-bg:#f6f7f9;--ui-surface:#fff;--ui-surface-alt:#f7f9fb;--ui-row-hover:#eef3f8;--ui-track:#f1f3f6;--ui-border:#e3e6eb;--ui-border-strong:#d5dae1;--ui-divider:#e6e9ee;--ui-text:#1b2430;--ui-text-2:#3a4452;--ui-muted:#5b6675;--ui-faint:#6b7482;--ui-success:#1f7a4d;--ui-success-soft:#e8f4ee;--ui-warning:#8a5300;--ui-warning-soft:#fbf1e1;--ui-danger:#b42318;--ui-danger-soft:#fdecea;--ui-danger-border:#f3c7c2;--ui-neutral:#4a5563;--ui-neutral-soft:#f1f3f5;--ui-shadow-pill:0 1px 2px #10182814, 0 1px 3px #1018280f}[data-theme=dark]{--ui-primary:#8fb3d9;--ui-primary-hover:#a9c6e4;--ui-primary-soft:#1d2b3b;--ui-on-primary:#0f1720;--ui-bg:#0f141a;--ui-surface:#161c24;--ui-surface-alt:#1a212a;--ui-row-hover:#1f2935;--ui-track:#1f2630;--ui-border:#2a323d;--ui-border-strong:#384250;--ui-divider:#262e38;--ui-text:#e7ebf0;--ui-text-2:#c9d0d9;--ui-muted:#a3adba;--ui-faint:#949fad;--ui-success:#6fcf9f;--ui-success-soft:#173126;--ui-warning:#e8b465;--ui-warning-soft:#352a17;--ui-danger:#f08a80;--ui-danger-soft:#3a1e1c;--ui-danger-border:#5a2b27;--ui-neutral:#b3bcc8;--ui-neutral-soft:#232a33;--ui-shadow-pill:0 1px 2px #0006}.ui-row:hover{background:var(--ui-row-hover)!important}.ui-row .ui-row-actions{opacity:0;pointer-events:none;transition:opacity .12s}.ui-row:hover .ui-row-actions,.ui-row:focus-within .ui-row-actions{opacity:1;pointer-events:auto}@media (hover:none){.ui-row:hover .ui-row-actions{opacity:0;pointer-events:none}}.ui-icon-btn:hover:not(:disabled),.ui-icon-btn:focus-visible{background:var(--ui-surface)!important;border-color:var(--ui-border-strong)!important;color:var(--ui-primary)!important}.ui-icon-btn:disabled{opacity:.4;cursor:not-allowed!important}.ui-btn:hover:not(:disabled){filter:brightness(.96)}.ui-btn-primary:hover:not(:disabled){filter:none;background:var(--ui-primary-hover)!important;border-color:var(--ui-primary-hover)!important}.ui-btn:disabled{opacity:.55;cursor:not-allowed!important}.ui-card-btn:hover,.ui-card-btn:focus-visible{border-color:var(--ui-border-strong)!important;background:var(--ui-surface-alt)!important}.ui-list-btn:hover:not(:disabled),.ui-list-btn:focus-visible{background:var(--ui-surface-alt)!important}.ui-pill:hover,.ui-th-sort:hover{color:var(--ui-text)!important}.ui-choice:hover{border-color:var(--ui-primary)!important}.ui-choice:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.ui-search:focus-within,.ui-input:focus{box-shadow:0 0 0 3px var(--ui-primary-soft);border-color:var(--ui-primary)!important}.ui-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}
