:root{--accent-primary:#374151;--accent-secondary:#4b5563;--accent-gradient:linear-gradient(135deg,#374151,#4b5563);--primary-gradient:linear-gradient(135deg,#374151,#4b5563);--secondary-gradient:linear-gradient(135deg,#6b7280,#9ca3af);--success-gradient:linear-gradient(135deg,#34d399,#10b981);--warning-gradient:linear-gradient(135deg,#fbbf24,#f59e0b);--danger-gradient:linear-gradient(135deg,#f87171,#ef4444);--bg-body:#f3f4f6;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--card-bg:#fff;--card-border:#e5e7eb;--border-color:#e5e7eb;--text-primary:#141414;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--hover-bg:#f3f4f6;--input-bg:#f9fafb;--glass-bg:#fffc;--glass-border:#ffffff80;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014,0 2px 6px #0000000d;--shadow-lg:0 10px 30px #0000001a,0 4px 12px #0000000f;--shadow-xl:0 20px 50px #0000001f,0 8px 20px #00000014;--transition-base:all 0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:all 0.45s cubic-bezier(0.4,0,0.2,1);--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:24px}body.dark-mode{--bg-body:#0a0a0a;--card-bg:#141414;--card-border:#2a2a2a;--hover-bg:#222;--input-bg:#111;--glass-bg:#111111e6;--glass-border:#ffffff0d;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 12px #0009;--shadow-lg:0 10px 30px #000000b3;--shadow-xl:0 20px 50px #000c}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;background:#f3f4f6;background:var(--bg-body,#f3f4f6);background-attachment:fixed;color:#141414;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}@media (max-width:768px){input,select,textarea{font-size:16px!important}button{touch-action:manipulation}}body:before{content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}body.dark-mode:before,body:before{background:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}body.dark-mode ::-webkit-scrollbar-track{background:#111}body.dark-mode ::-webkit-scrollbar-thumb{background:#2a2a2a}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#374151}.grade-badge{border-radius:25px;box-shadow:0 2px 8px #0000001a;cursor:default;display:inline-block;font-size:14px;font-weight:800;min-width:56px;padding:6px 16px;text-align:center}.grade-badge.grade-a,.grade-badge.grade-a-plus{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #b1dfbb;color:#155724}.grade-badge.grade-a-minus{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:2px solid #abdde5;color:#0c5460}.grade-badge.grade-b-plus{background:linear-gradient(135deg,#cfe2ff,#b6d4fe);border:2px solid #9ec5fe;color:#084298}.grade-badge.grade-b{background:linear-gradient(135deg,#e7f1ff,#cfe2ff);border:2px solid #b6d4fe;color:#084298}.grade-badge.grade-b-minus{background:linear-gradient(135deg,#e7f3ff,#d0e7ff);border:2px solid #b8daff;color:#0a58ca}.grade-badge.grade-c,.grade-badge.grade-c-plus{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffd966;color:#856404}.grade-badge.grade-c-minus{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:2px solid #fab005;color:#856404}.grade-badge.grade-d,.grade-badge.grade-d-minus,.grade-badge.grade-d-plus{background:linear-gradient(135deg,#f8d7da,#f1aeb5);border:2px solid #ea868f;color:#721c24}.grade-badge.grade-f{background:linear-gradient(135deg,#f5c6cb,#dc3545);border:2px solid #dc3545;color:#fff;font-weight:900}body.dark-mode .grade-badge.grade-a,body.dark-mode .grade-badge.grade-a-plus{background:linear-gradient(135deg,#166534,#15803d);border:2px solid #22c55e;color:#bbf7d0}body.dark-mode .grade-badge.grade-a-minus{background:linear-gradient(135deg,#155e75,#0e7490);border:2px solid #22d3ee;color:#a5f3fc}body.dark-mode .grade-badge.grade-b-plus{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border:2px solid #60a5fa;color:#bfdbfe}body.dark-mode .grade-badge.grade-b{background:linear-gradient(135deg,#1e40af,#2563eb);border:2px solid #93c5fd;color:#dbeafe}body.dark-mode .grade-badge.grade-b-minus{background:linear-gradient(135deg,#1d4ed8,#3b82f6);border:2px solid #93c5fd;color:#eff6ff}body.dark-mode .grade-badge.grade-c,body.dark-mode .grade-badge.grade-c-plus{background:linear-gradient(135deg,#854d0e,#a16207);border:2px solid #eab308;color:#fef08a}body.dark-mode .grade-badge.grade-c-minus{background:linear-gradient(135deg,#92400e,#b45309);border:2px solid #f97316;color:#fed7aa}body.dark-mode .grade-badge.grade-d,body.dark-mode .grade-badge.grade-d-minus,body.dark-mode .grade-badge.grade-d-plus{background:linear-gradient(135deg,#9a3412,#c2410c);border:2px solid #f97316;color:#ffedd5}body.dark-mode .grade-badge.grade-f{background:linear-gradient(135deg,#7f1d1d,#991b1b);border:2px solid #ef4444;color:#fecaca;font-weight:900}body.rtl{direction:rtl;text-align:right}body.rtl,body.rtl *{font-family:Cairo,Segoe UI,Arial,sans-serif}body.rtl .adash-actions-grid,body.rtl .adash-bottom-grid,body.rtl .adash-card-header,body.rtl .adash-header,body.rtl .adash-header-actions,body.rtl .adash-kpi-grid,body.rtl .adash-list-item,body.rtl .import-actions,body.rtl .import-detail-kv,body.rtl .import-preview-header,body.rtl .import-result-kpis,body.rtl .import-type-select-row,body.rtl .navbar-container,body.rtl .navbar-links,body.rtl .navbar-right,body.rtl .report-modal-footer,body.rtl .report-modal-header,body.rtl .report-options,body.rtl .report-preview,body.rtl .sp-top-bar{direction:rtl}body.rtl .adash-item-badge,body.rtl .adash-item-info,body.rtl .adash-status-chip{margin-left:0;margin-right:auto}body.rtl .adash-section-title:after,body.rtl .more-menu{left:auto;right:0}body.rtl .adash-kpi{text-align:right}body.rtl .adash-kpi,body.rtl .adash-list-item{flex-direction:row-reverse}body.rtl .adash-item-avatar{margin-left:14px;margin-right:0}body.rtl .import-dropzone,body.rtl .import-preview-text pre{direction:rtl;text-align:right}body.rtl .import-type-card{align-items:flex-end}body.rtl .role-badge{margin-left:0;margin-right:6px}.nb-bell,.nb-wrap{position:relative}.nb-bell{align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:20px;justify-content:center;padding:6px 8px;transition:background .2s}.nb-bell:hover{background:var(--border-color)}.nb-badge{align-items:center;background:#ef4444;border:2px solid #fff;border:2px solid var(--bg-primary,#fff);border-radius:20px;color:#fff;font-size:10px;font-weight:800;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 4px;pointer-events:none;right:1px;top:1px}.nb-badge,.nb-dropdown{display:flex;position:absolute}.nb-dropdown{animation:dropIn .18s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 12px 40px #0000002e;flex-direction:column;max-height:480px;overflow:hidden;right:0;top:calc(100% + 10px);width:360px;z-index:9999}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nb-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 18px 12px}.nb-header-title{color:var(--text-primary);font-size:15px;font-weight:800}.nb-mark-all{background:none;border:none;border-radius:6px;color:#6366f1;cursor:pointer;font-size:12px;font-weight:700;padding:4px 8px}.nb-mark-all:hover{background:#6366f115}.nb-list{flex:1 1;overflow-y:auto}.nb-list::-webkit-scrollbar{width:4px}.nb-list::-webkit-scrollbar-track{background:#0000}.nb-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.nb-item{align-items:flex-start;border-bottom:1px solid var(--border-color);cursor:default;display:flex;gap:10px;padding:13px 16px;position:relative;transition:background .15s}.nb-item:last-child{border-bottom:none}.nb-item.unread{background:#6366f105;background:var(--type-color,#6366f1)5;cursor:pointer}.nb-item.unread:hover{background:#6366f110;background:var(--type-color,#6366f1)10}.nb-item:not(.unread){opacity:.75}.nb-item-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;width:36px}.nb-item-body{flex:1 1;min-width:0}.nb-item-title{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.3;margin-bottom:3px}.nb-item-msg{color:var(--text-secondary);font-size:12px;line-height:1.5;margin-bottom:5px}.nb-course-chip{background:#6366f115;border-radius:6px;color:#6366f1;display:inline-block;font-size:11px;font-weight:700;margin-right:6px;padding:2px 8px}.nb-time{color:#94a3b8;font-size:11px}.nb-dot{background:#6366f1;background:var(--type-color,#6366f1);border-radius:50%;height:7px;pointer-events:none;position:absolute;right:36px;top:50%;transform:translateY(-50%);width:7px}.nb-del{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:12px;margin-top:2px;opacity:0;padding:2px 5px;transition:opacity .15s,background .15s}.nb-item:hover .nb-del{opacity:1}.nb-del:hover{background:#ef444415;color:#ef4444}.nb-empty{align-items:center;display:flex;flex-direction:column;gap:8px;padding:36px}.nb-empty span{font-size:36px}.nb-empty p{color:var(--text-secondary);font-size:14px;font-weight:600}.nb-loading{align-items:center;display:flex;gap:10px;justify-content:center;padding:28px}.nb-spinner{animation:nbspin .7s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top:2px solid #6366f1;height:22px;width:22px}@keyframes nbspin{to{transform:rotate(1turn)}}@media (max-width:480px){.nb-dropdown{right:-12px;width:calc(100vw - 32px)}}.navbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffffeb;border-bottom:1px solid #e2e8f0cc;box-shadow:0 1px 0 #0000000d,0 4px 16px #0000000a;position:-webkit-sticky;position:sticky;top:0;z-index:100}body.dark-mode .navbar{background:#0a0a0ef5;border-bottom:1px solid #1f1f1f}.navbar-container{align-items:center;box-sizing:border-box;display:grid;grid-template-columns:1fr auto 1fr;height:68px;padding:0 32px;width:100%}.navbar-logo{align-items:center;display:flex;flex-shrink:0;gap:10px;justify-self:start;text-decoration:none}.navbar-logo-img{height:44px;object-fit:contain;width:44px}.navbar-logo span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1a1a2e,#374151);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:900;letter-spacing:3px}body.dark-mode .navbar-logo span{background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;background-clip:text}.navbar-links{gap:4px;justify-self:center}.nav-link,.navbar-links{align-items:center;display:flex}.nav-link{background:#0000;border:none;border-radius:10px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;gap:7px;padding:8px 16px;position:relative;text-decoration:none;transition:background .18s,color .18s;white-space:nowrap}.nav-link:hover{background:#37415112;color:#111}.nav-link.active{background:#3741511a;color:#1a1a2e;font-weight:700}body.dark-mode .nav-link:hover{background:#ffffff0f;color:#e2e8f0}body.dark-mode .nav-link.active{background:#ffffff14;color:#f1f5f9}.nav-link.active:after{background:linear-gradient(90deg,#374151,#6366f1);border-radius:2px;bottom:2px;content:"";height:2px;left:16px;position:absolute;right:16px}.nav-link-icon{font-size:15px;line-height:1}.nav-link-label{font-size:14px}.more-dropdown{position:relative}.more-trigger{align-items:center;display:flex;gap:5px}.more-arrow{font-size:11px;margin-left:2px;transition:transform .2s}.more-arrow.open{transform:rotate(180deg)}.more-menu{animation:menuDrop .18s ease;background:#fff;border:1px solid #e2e8f0cc;border-radius:14px;box-shadow:0 12px 40px #0000001f;left:0;min-width:220px;padding:8px 0;position:absolute;top:calc(100% + 10px);z-index:200}body.dark-mode .more-menu{background:#111;border-color:#222;box-shadow:0 12px 40px #00000080}@keyframes menuDrop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.more-item{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:12px;padding:11px 20px;text-decoration:none;transition:background .15s,padding-left .15s}.more-item:hover{background:#3741510f;padding-left:26px}body.dark-mode .more-item{color:#d1d5db}body.dark-mode .more-item:hover{background:#ffffff0d}.more-item--active{background:#3741510d;color:#1a1a2e;font-weight:700}.more-item--highlight{color:#f59e0b}.more-item--highlight:hover{color:#d97706}.navbar-right{gap:12px;justify-self:end}.btn-theme-toggle,.navbar-right{align-items:center;display:flex;flex-shrink:0}.btn-theme-toggle{background:#37415114;border:none;border-radius:50%;cursor:pointer;font-size:18px;height:40px;justify-content:center;transition:background .2s,transform .3s;width:40px}.btn-theme-toggle:hover{background:#37415124;transform:rotate(20deg)}body.dark-mode .btn-theme-toggle{background:#ffffff14}body.dark-mode .btn-theme-toggle:hover{background:#ffffff24}.btn-lang-toggle{align-items:center;background:#6366f114;border:1.5px solid #6366f159;border-radius:20px;color:#6366f1;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:34px;justify-content:center;padding:0 12px;transition:all .2s}.btn-lang-toggle:hover{background:#6366f12e;border-color:#6366f1}body.dark-mode .btn-lang-toggle{background:#6366f11f;border-color:#6366f166;color:#a5b4fc}.navbar-profile{gap:10px}.navbar-avatar,.navbar-profile{align-items:center;display:flex}.navbar-avatar{background:linear-gradient(135deg,#374151,#6366f1);border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:800;height:36px;justify-content:center;text-transform:uppercase;width:36px}.navbar-name-wrap{display:flex;flex-direction:column;gap:2px}.navbar-name{color:#111;font-size:13px;font-weight:700;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-name--link{text-decoration:none;transition:color .2s}.navbar-name--link:hover{color:#6366f1}body.dark-mode .navbar-name{color:#f1f5f9}.role-badge{border:1px solid;border-radius:8px;font-size:9px;font-weight:800;letter-spacing:.6px;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.btn-tour-help{align-items:center;background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:15px;height:34px;justify-content:center;text-decoration:none;transition:background .15s,transform .15s;width:34px}.btn-tour-help:hover{background:#e0e7ff;transform:scale(1.1)}body.dark-mode .btn-tour-help{background:#1e1e2e;border-color:#2d2d3d}body.dark-mode .btn-tour-help:hover{background:#2d2d4e}.btn-logout{background:linear-gradient(135deg,#1a1a2e,#374151);border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:8px 20px;transition:opacity .2s,transform .15s;white-space:nowrap}.btn-logout:hover{opacity:.86;transform:translateY(-1px)}.bottom-tab-bar{display:none}@media (max-width:768px){.navbar-container{display:flex;height:56px;padding:0 16px}.btn-logout,.navbar-links,.navbar-name-wrap,.navbar-profile{display:none}.btn-theme-toggle{font-size:15px;height:36px;width:36px}.navbar-logo-img{height:34px}.navbar-logo span{font-size:18px;letter-spacing:2px}.bottom-tab-bar{background:#fff;border-top:1px solid #e2e8f0e6;bottom:0;box-shadow:0 -2px 12px #00000014;display:flex;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:200}body.dark-mode .bottom-tab-bar{background:#0a0a0e;border-top-color:#1f1f1f}.bottom-tab{align-items:center;color:#6b7280;display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center;min-height:56px;padding:8px 4px 10px;position:relative;text-decoration:none;transition:color .15s}.bottom-tab.active{color:#6366f1}.bottom-tab.active:before{background:#6366f1;border-radius:0 0 3px 3px;content:"";height:2.5px;left:20%;position:absolute;right:20%;top:0}body.dark-mode .bottom-tab{color:#6b7280}body.dark-mode .bottom-tab.active{color:#a5b4fc}body.dark-mode .bottom-tab.active:before{background:#a5b4fc}.bottom-tab-icon{font-size:21px;line-height:1}.bottom-tab-label{font-size:10px;font-weight:600}.bottom-tab-btn{background:none;border:none;cursor:pointer;font-family:inherit}.App{padding-bottom:calc(60px + env(safe-area-inset-bottom, 0px))}}.mob-overlay,.mob-popup{display:none}@media (max-width:768px){.mob-overlay{background:#0000004d;inset:0;z-index:300}.mob-overlay,.mob-popup{display:block;position:fixed}.mob-popup{-webkit-overflow-scrolling:touch;animation:mobPopUp .2s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;bottom:calc(60px + env(safe-area-inset-bottom, 0px));box-shadow:0 -4px 32px #0000002e;left:10px;max-height:72vh;overflow-y:auto;right:10px;z-index:301}body.dark-mode .mob-popup{background:#13131a;border-color:#252530;box-shadow:0 -4px 32px #0009}@keyframes mobPopUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mob-item{-webkit-tap-highlight-color:rgba(99,102,241,.1);align-items:center;background:none;border:none;border-bottom:1px solid #e2e8f080;box-sizing:border-box;color:#111827;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:14px;padding:15px 20px;text-align:left;text-decoration:none;transition:background .1s;width:100%}.mob-item:last-child{border-bottom:none}.mob-item:active{background:#6366f114}body.dark-mode .mob-item{border-color:#1e1e2a;color:#e2e8f0}body.dark-mode .mob-item:active{background:#6366f124}.mob-icon{font-size:20px;min-width:26px;text-align:center}.mob-item--hl{color:#6366f1!important;font-weight:700}.mob-item--active{background:#6366f112!important;color:#6366f1!important}.mob-item--logout{color:#ef4444!important}body.dark-mode .mob-item--hl{color:#a5b4fc!important}body.dark-mode .mob-item--active{background:#6366f121!important;color:#a5b4fc!important}body.dark-mode .mob-item--logout{color:#fca5a5!important}.mob-divider{background:#e2e8f0b3;height:1px;margin:0}body.dark-mode .mob-divider{background:#1e1e2a}}@media (max-width:1024px){.navbar-container{padding:0 20px}.more-arrow,.nav-link-label{display:none}.nav-link{padding:8px 10px}.navbar-name-wrap{display:none}}.tour-overlay{inset:0;pointer-events:none;position:fixed;z-index:99998}.tour-overlay--dim{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a99;display:flex;justify-content:center;pointer-events:all}.tour-overlay--clear{background:#0000;pointer-events:none}.tour-highlight{animation:tourPulse 1.4s ease-in-out infinite!important;border-radius:8px!important;box-shadow:0 0 0 6px #6366f140,0 0 20px #6366f14d!important;outline:3px solid #6366f1!important;outline-offset:4px!important;position:relative;z-index:99999!important}@keyframes tourPulse{0%,to{box-shadow:0 0 0 4px #6366f140,0 0 16px #6366f140}50%{box-shadow:0 0 0 8px #6366f11f,0 0 28px #6366f166}}.tour-tooltip{animation:tourSlide .2s ease;background:#fff;border-radius:16px;box-shadow:0 16px 48px #00000038,0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;pointer-events:all;position:fixed;width:320px;z-index:100000}@keyframes tourSlide{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-tooltip--center{animation:tourPop .22s ease;left:auto!important;max-width:460px;position:relative;top:auto!important;transform:none!important;width:100%}@keyframes tourPop{0%{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tour-progress-bar{background:#e2e8f0;flex-shrink:0;height:3px}.tour-progress-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;transition:width .3s ease}.tour-header-row{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 14px 4px}.tour-counter{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tour-x{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:26px;justify-content:center;transition:background .15s,color .15s;width:26px}.tour-x:hover{background:#fee2e2;color:#ef4444}.tour-body{display:flex;flex-direction:column;gap:6px;padding:4px 16px 12px}.tour-title{color:#1e293b;font-size:14px;font-weight:800;line-height:1.4;margin:0}.tour-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-family:inherit;font-size:12.5px;line-height:1.65;margin:0;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.tour-tooltip--center .tour-title{font-size:18px;text-align:center}.tour-tooltip--center .tour-content{font-size:13.5px;text-align:left}.tour-tooltip--center .tour-body{padding:8px 24px 16px}.tour-busy{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:13px;gap:10px;padding:24px 0}.tour-spinner{animation:tourSpin .7s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:28px;width:28px}@keyframes tourSpin{to{transform:rotate(1turn)}}.tour-footer{border-top:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;padding:8px 14px 12px}.tour-footer,.tour-nav{align-items:center;display:flex;gap:6px}.tour-btn-skip{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:11px;padding:6px 8px;transition:color .15s,background .15s}.tour-btn-skip:hover:not(:disabled){background:#fee2e2;color:#ef4444}.tour-btn-back{background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:background .15s}.tour-btn-back:hover:not(:disabled){background:#e2e8f0}.tour-btn-next{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 3px 10px #6366f159;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:7px 18px;transition:opacity .15s,transform .1s}.tour-btn-next:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.tour-btn-back:disabled,.tour-btn-next:disabled,.tour-btn-skip:disabled{cursor:not-allowed;opacity:.45}.dark .tour-tooltip{background:#1e293b}.dark .tour-title{color:#f1f5f9}.dark .tour-content{background:#0f172a;border-color:#334155;color:#cbd5e1}.dark .tour-counter{color:#64748b}.dark .tour-x{background:#334155;color:#94a3b8}.dark .tour-x:hover{background:#7f1d1d;color:#fca5a5}.dark .tour-footer{border-color:#334155}.dark .tour-btn-back{background:#334155;color:#cbd5e1}.dark .tour-btn-back:hover:not(:disabled){background:#475569}.dark .tour-progress-bar{background:#334155}.sc-overlay{align-items:center;animation:scFadeIn .25s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172abf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes scFadeIn{0%{opacity:0}to{opacity:1}}.sc-modal{animation:scSlideUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--card-bg,#fff);border-radius:24px;box-shadow:0 24px 64px #00000040;max-width:480px;overflow:hidden;width:100%}@keyframes scSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sc-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:32px 36px 28px;text-align:center}.sc-logo{font-size:42px;line-height:1;margin-bottom:12px}.sc-header h1{color:#fff;font-size:22px;font-weight:800;margin:0 0 8px}.sc-header p{color:#e0e7ff;font-size:14px;line-height:1.5;margin:0}.sc-progress{gap:0;justify-content:center;padding:24px 36px 8px}.sc-progress,.sc-step{align-items:center;display:flex}.sc-step{flex:0 0 auto;flex-direction:column;gap:6px}.sc-step-dot{align-items:center;background:#e2e8f0;border-radius:50%;color:#94a3b8;display:flex;font-size:13px;font-weight:800;height:34px;justify-content:center;transition:all .2s;width:34px}.sc-step.active .sc-step-dot{background:#6366f1;box-shadow:0 0 0 4px #6366f120;color:#fff}.sc-step.done .sc-step-dot{background:#22c55e;color:#fff}.sc-step span{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.sc-step.active span{color:#6366f1}.sc-step.done span{color:#22c55e}.sc-step-line{background:#e2e8f0;flex:1 1;height:2px;margin-bottom:20px;min-width:40px;transition:background .2s}.sc-step-line.done{background:#22c55e}.sc-alert{border-radius:10px;font-size:14px;font-weight:600;line-height:1.4;margin:16px 36px 0;padding:12px 16px}.sc-alert--err{background:#fef2f2;border:1px solid #fecaca;color:#ef4444}.sc-alert--ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.sc-form{gap:20px;padding:20px 36px 32px}.sc-field,.sc-form{display:flex;flex-direction:column}.sc-field{gap:7px}.sc-field label{color:#64748b;color:var(--text-secondary,#64748b);font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.sc-field input{background:#f8fafc;background:var(--bg-primary,#f8fafc);border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color,#e2e8f0);border-radius:12px;color:#1e293b;color:var(--text-primary,#1e293b);font-family:inherit;font-size:15px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.sc-field input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f115}.sc-hint{color:#94a3b8;font-size:12px}.sc-mismatch{color:#ef4444;font-size:12px;font-weight:600}.sc-pwd-wrap{position:relative}.sc-pwd-wrap input{box-sizing:border-box;padding-right:48px;width:100%}.sc-pwd-eye{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.sc-strength{align-items:center;display:flex;gap:10px;margin-top:4px}.sc-strength-bar{display:flex;flex:1 1;gap:4px}.sc-strength-seg{border-radius:2px;flex:1 1;height:4px;transition:background .2s}.sc-otp-row{display:flex;gap:10px;justify-content:center;margin:4px 0}.sc-otp-box{background:#f8fafc!important;background:var(--bg-primary,#f8fafc)!important;border:1.5px solid #e2e8f0!important;border:1.5px solid var(--border-color,#e2e8f0)!important;border-radius:12px!important;caret-color:#6366f1;font-size:28px!important;font-weight:800;height:60px;padding:0!important;text-align:center;transition:border-color .15s,box-shadow .15s;width:52px!important}.sc-otp-box:focus{background:#fff!important;border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f120!important}.sc-resend{background:none;border:none;color:#6366f1;cursor:pointer;font-size:13px;font-weight:700;padding:4px 0;text-align:left}.sc-resend:disabled{color:#94a3b8;cursor:not-allowed}.sc-form-row{display:flex;gap:10px}.sc-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;transition:opacity .2s,transform .1s}.sc-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.sc-btn:active:not(:disabled){transform:translateY(0)}.sc-btn:disabled{cursor:not-allowed;opacity:.5}.sc-btn--ghost{background:#f1f5f9;background:var(--card-bg,#f1f5f9);border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color,#e2e8f0);color:#64748b;color:var(--text-secondary,#64748b);flex:0 0 auto;padding:14px 18px}.sc-btn--ghost:hover:not(:disabled){background:#e2e8f0;background:var(--border-color,#e2e8f0);opacity:1}.sc-spinner{animation:sc-spin .7s linear infinite;border:2.5px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@keyframes sc-spin{to{transform:rotate(1turn)}}.sc-done{animation:scFadeIn .3s ease-out;padding:40px 36px 48px;text-align:center}.sc-done-icon{animation:scBounce .5s ease-out;font-size:64px;margin-bottom:16px}@keyframes scBounce{0%{transform:scale(.5)}70%{transform:scale(1.15)}to{transform:scale(1)}}.sc-done h2{color:#1e293b;color:var(--text-primary,#1e293b);font-size:24px;font-weight:800;margin:0 0 8px}.sc-done p{color:#64748b;font-size:15px;margin:0}@media (max-width:520px){.sc-modal{border-radius:20px}.sc-header{padding:24px 24px 20px}.sc-form{padding:16px 24px 28px}.sc-alert{margin:12px 24px 0}.sc-otp-box{font-size:22px!important;height:50px;width:42px!important}.sc-progress{padding:20px 24px 8px}.sc-step-line{min-width:24px}}.App{contain:layout style;min-height:100vh;position:relative;width:100%;z-index:1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading{align-items:center;display:flex;flex-direction:column;gap:30px;height:100vh;justify-content:center}.loading-spinner{animation:spin .7s linear infinite;border:3px solid #6366f126;border-radius:50%;border-top-color:#6366f1;height:48px;width:48px}.loading-text{animation:pulse 2s ease-in-out infinite;color:#374151;font-size:16px;font-weight:600}body.dark-mode .loading-text{color:#9ca3af}body.dark-mode .loading-spinner{border-color:#a5b4fc #ffffff14 #ffffff14}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}body.dark-mode{--text-primary:#f5f5f5;--text-secondary:#a3a3a3;--text-tertiary:#6b7280;--bg-primary:#111;--bg-secondary:#1a1a1a;--bg-tertiary:#222;--border-color:#2a2a2a;background:#0a0a0a;color:#f5f5f5}.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d;box-shadow:0 8px 32px 0 #00000014}body.dark-mode .glass-card{background:#141414e6}.btn-modern{border:none;border-radius:var(--border-radius-md);cursor:pointer;font-family:Inter,sans-serif;font-size:15px;font-weight:600;overflow:hidden;padding:12px 28px;position:relative;transition:var(--transition-base)}.btn-modern:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-modern:hover:before{left:100%}.btn-modern:hover{box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.btn-modern:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#374151,#4b5563);box-shadow:0 4px 15px #3741514d;color:#fff}.btn-primary:hover{box-shadow:0 6px 25px #37415180}.btn-secondary{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.btn-success{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 15px #34d3994d;color:#fff}.modern-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;padding:30px;position:relative;transition:var(--transition-base)}.modern-card:before{animation:gradientShift 4s ease infinite;background:linear-gradient(90deg,#374151,#6b7280,#374151);background-size:200% 100%;content:"";height:3px;left:0;position:absolute;top:0;width:100%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.modern-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;font-weight:700;line-height:1.2}p{color:var(--text-secondary);line-height:1.6}.modern-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:15px;padding:14px 18px;transition:var(--transition-base);width:100%}.modern-input:focus{border-color:#374151;box-shadow:0 0 0 3px #3741511a;outline:none}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px}.badge-primary{background:linear-gradient(135deg,#374151,#4b5563);color:#fff}.badge-success{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.badge-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}.animate-fadeIn{animation:fadeIn .6s ease-out}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-slideInLeft{animation:slideInLeft .6s ease-out}.animate-slideInRight{animation:slideInRight .6s ease-out}.animate-scaleIn{animation:scaleIn .6s ease-out}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#374151,#6b7280);-webkit-background-clip:text;background-clip:text}.floating{animation:float 3s ease-in-out infinite}@media (max-width:768px){.modern-card{border-radius:var(--border-radius-md);padding:20px}.btn-modern{font-size:14px;padding:10px 20px}}body.dark-mode .navbar{background:#0a0a0af7;border-bottom:1px solid #1e1e1e}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4{color:#f5f5f5}body.dark-mode p{color:#a3a3a3}body.dark-mode .action-card,body.dark-mode .admin-section,body.dark-mode .course-card,body.dark-mode .course-form,body.dark-mode .course-item,body.dark-mode .course-tab,body.dark-mode .empty-message,body.dark-mode .filters-section,body.dark-mode .grades-form,body.dark-mode .login-box,body.dark-mode .material-card,body.dark-mode .material-item,body.dark-mode .materials-container,body.dark-mode .register-box,body.dark-mode .section,body.dark-mode .semester-section,body.dark-mode .stat-card,body.dark-mode .student-card,body.dark-mode .upload-form{background:#141414;border-color:#2a2a2a}body.dark-mode .course-tab.active{background:linear-gradient(135deg,#374151,#4b5563)}body.dark-mode .admin-section h2,body.dark-mode .course-code-cell,body.dark-mode .course-info h4,body.dark-mode .course-name-cell,body.dark-mode .form-section h2,body.dark-mode .material-details h4,body.dark-mode .stat-card h3,body.dark-mode .student-details h3,body.dark-mode .student-info h4{color:#f5f5f5}body.dark-mode .course-description,body.dark-mode .course-info p,body.dark-mode .form-group label,body.dark-mode .info-label,body.dark-mode .material-description,body.dark-mode .stat-label,body.dark-mode .student-info p,body.dark-mode .uploader{color:#a3a3a3}body.dark-mode .grades-table th{background:#0a0a0a;color:#a3a3a3}body.dark-mode .grades-table td{border-bottom-color:#2a2a2a;color:#f5f5f5}body.dark-mode .grades-table tbody tr:hover{background:#222}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:#111;border-color:#2a2a2a;color:#f5f5f5}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{background:#1a1a1a;border-color:#4b5563}body.dark-mode .form-group input[readonly]{background:#0a0a0a;opacity:.6}body.dark-mode .course-item:hover,body.dark-mode .student-card:hover{background:#1e1e1e;border-color:#4b5563}body.dark-mode .admin-dropdown-menu{background:#111;border:1px solid #2a2a2a;box-shadow:0 8px 30px #000c}body.dark-mode .admin-dropdown-item{color:#f5f5f5}body.dark-mode .admin-dropdown-item:hover{background:#222;color:#e5e7eb}body.dark-mode .file-upload-label{background:#111;border-color:#4b5563}body.dark-mode .file-upload-label:hover{background:#1a1a1a}body.dark-mode .course-details,body.dark-mode .grade-preview,body.dark-mode .student-info{background:#0a0a0a;border-color:#2a2a2a}body.dark-mode .preview-item{background:#1a1a1a}body.dark-mode .btn-secondary{background:#222;border-color:#2a2a2a;color:#f5f5f5}body.dark-mode .btn-secondary:hover{background:#2a2a2a;border-color:#374151}body.dark-mode .stat-value{color:#d1d5db}body.dark-mode .glass-card{background:#111111e6;border:1px solid #ffffff0d}*{transition:background-color .25s ease,color .25s ease,border-color .25s ease}a,button{transition:all .25s ease}@media (max-width:1024px){.admin-dashboard,.courses-page,.create-course,.dashboard,.grade-statistics,.grades-page,.manage-grades,.materials-page,.student-profile,.upload-material,.view-students{padding-left:32px;padding-right:32px}}@media (max-width:768px){.admin-dashboard,.courses-page,.create-course,.dashboard,.grade-statistics,.grades-page,.manage-grades,.materials-page,.student-profile,.upload-material,.view-students{padding-left:16px;padding-right:16px}body{font-size:14px}.btn-download,.btn-enroll,.btn-logout,.btn-primary,.btn-secondary,.navbar-item,a.btn-primary,button{font-size:14px!important;min-height:44px;min-width:44px;padding:12px 18px}.modern-card{border-radius:var(--border-radius-md);padding:20px 16px}table{font-size:13px}.grades-table,.statistics-table table{-webkit-overflow-scrolling:touch;display:block;max-width:100%;overflow-x:auto}body,html{max-width:100vw;overflow-x:hidden}input,select,textarea{font-size:16px!important}.course-card,.material-card,.stat-card,.student-card{margin-bottom:12px}.modal-overlay{align-items:flex-end;padding:0}.modal-card{border-radius:24px 24px 0 0;max-height:90vh;max-width:100%;width:100%}}@media (max-width:480px){body{font-size:13px}.admin-dashboard,.courses-page,.create-course,.dashboard,.grade-statistics,.grades-page,.manage-grades,.materials-page,.student-profile,.upload-material,.view-students{padding-left:12px;padding-right:12px}.modern-card{border-radius:12px;padding:16px 14px}}@supports (-webkit-touch-callout:none){input,select,textarea{font-size:16px!important}body{-webkit-overflow-scrolling:touch}}@media (max-width:768px){body.dark-mode{background:#0a0a0a}body.dark-mode .navbar{box-shadow:0 2px 10px #000c}}