:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#f9fafb;color:#111827}h1,h2,h3,h4,h5,h6{font-weight:600}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.toast-container{position:fixed;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:8px;max-width:400px;width:100%}.toast-container-top-right{top:20px;right:20px;align-items:flex-end}.toast-container-top-left{top:20px;left:20px;align-items:flex-start}.toast-container-top-center{top:20px;left:50%;transform:translate(-50%);align-items:center}.toast-container-bottom-right{bottom:20px;right:20px;align-items:flex-end}.toast-container-bottom-left{bottom:20px;left:20px;align-items:flex-start}.toast-container-bottom-center{bottom:20px;left:50%;transform:translate(-50%);align-items:center}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background:#fff;border:1px solid;min-width:300px;max-width:400px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.toast-hidden{opacity:0;transform:translate(100%) scale(.8)}.toast-visible{opacity:1;transform:translate(0) scale(1)}.toast-success{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.toast-success .toast-icon{color:#10b981}.toast-error{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.toast-info .toast-icon{color:#f59e0b}.toast-content{flex:1;display:flex;gap:12px;align-items:flex-start}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:18px}.toast-info{flex:1}.toast-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#111827;line-height:1.4}.toast-message{margin:0;font-size:13px;color:#374151;line-height:1.4}.toast-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.toast-action{padding:4px 8px;border:1px solid;border-radius:4px;background:#fffc;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.toast-action:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toast-close{padding:4px;border:none;border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280}.toast-close:hover{background:#0000000d;color:#374151}.toast-success .toast-action{border-color:#10b981;color:#10b981}.toast-error .toast-action{border-color:#ef4444;color:#ef4444}.toast-warning .toast-action,.toast-info .toast-action{border-color:#f59e0b;color:#f59e0b}.toast-container-top-left .toast-hidden{transform:translate(-100%) scale(.8)}.toast-container-bottom-right .toast-hidden{transform:translate(100%) scale(.8)}.toast-container-bottom-left .toast-hidden{transform:translate(-100%) scale(.8)}.toast-container-top-center .toast-hidden{transform:translate(-50%) translateY(-100%) scale(.8)}.toast-container-bottom-center .toast-hidden{transform:translate(-50%) translateY(100%) scale(.8)}@media(max-width:640px){.toast-container{left:16px!important;right:16px!important;max-width:calc(100vw - 32px);width:calc(100vw - 32px)}.toast-container-top-center,.toast-container-bottom-center{transform:none!important}.toast{min-width:auto;max-width:100%}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.toast-error.toast-visible{animation:shake .5s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.toast-success.toast-visible{animation:pulse .3s ease-in-out}[data-theme=dark] .toast{background:var(--surface-card);box-shadow:0 4px 12px #0006}[data-theme=dark] .toast-title{color:var(--text-primary)}[data-theme=dark] .toast-message{color:var(--text-secondary)}[data-theme=dark] .toast-close{color:var(--text-muted)}[data-theme=dark] .toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .toast-success{border-color:#10b981;background:linear-gradient(135deg,var(--success-bg) 0%,rgba(6,78,59,.8) 100%)}[data-theme=dark] .toast-error{border-color:#ef4444;background:linear-gradient(135deg,var(--error-bg) 0%,rgba(127,29,29,.8) 100%)}[data-theme=dark] .toast-warning{border-color:#f59e0b;background:linear-gradient(135deg,var(--warning-bg) 0%,rgba(120,53,15,.8) 100%)}[data-theme=dark] .toast-info{border-color:#f59e0b;background:linear-gradient(135deg,var(--info-bg) 0%,rgba(30,58,138,.8) 100%)}[data-theme=dark] .toast-action{background:#0000004d}[data-theme=dark] .toast-action:hover{background:#00000080}.notification-container{position:relative}.notification-button{position:relative;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.notification-button:hover{background-color:#f3f4f6;color:#111827}.notification-badge{position:absolute;top:2px;right:2px;background-color:#ef4444;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1.2}.notification-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:420px;max-height:600px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;overflow:hidden;z-index:1000;animation:slideDown .2s ease;display:flex;flex-direction:column}.notification-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#f9fafb;flex-shrink:0}.notification-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.notification-header-actions{display:flex;gap:8px}.mark-all-read{background:none;border:none;color:#f59e0b;font-size:20px;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mark-all-read:hover{background-color:#fffbeb}.notification-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #e5e7eb;overflow-x:auto;flex-shrink:0}.notification-filters::-webkit-scrollbar{display:none}.filter-btn{padding:6px 14px;border:1px solid #e5e7eb;background:#fff;border-radius:20px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{border-color:#d1d5db;color:#374151}.filter-btn.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.notification-list{flex:1;overflow-y:auto;max-height:400px}.notification-item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .2s ease;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#fef3c7}.notification-item.unread:hover{background:#fde68a}.notification-item.priority-urgent{border-left:3px solid #ef4444}.notification-item.priority-high{border-left:3px solid #f59e0b}.notification-icon{font-size:24px;flex-shrink:0;margin-top:2px;width:32px;height:32px;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.notification-item.unread .notification-icon{background:#fff}.notification-content{flex:1;min-width:0}.notification-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notification-content h4{margin:0;font-size:14px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priority-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;flex-shrink:0}.priority-badge.urgent{background:#fee2e2;color:#dc2626}.priority-badge.high{background:#fef3c7;color:#d97706}.notification-content p{margin:0;font-size:13px;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-meta{display:flex;gap:8px;margin-top:6px;font-size:12px;color:#9ca3af}.notification-time{font-weight:500}.notification-sender{color:#6b7280}.notification-actions{display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .2s ease}.notification-item:hover .notification-actions{opacity:1}.action-btn{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.action-btn.mark-read{background:#fffbeb;color:#f59e0b}.action-btn.mark-read:hover{background:#f59e0b;color:#fff}.action-btn.delete{background:#fef2f2;color:#ef4444}.action-btn.delete:hover{background:#ef4444;color:#fff}.load-more-btn{width:100%;padding:12px;border:none;background:#f9fafb;color:#f59e0b;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.load-more-btn:hover:not(:disabled){background:#fffbeb}.load-more-btn:disabled{color:#9ca3af;cursor:not-allowed}.no-notifications{padding:60px 20px;text-align:center;color:#9ca3af}.no-notif-icon{font-size:48px;margin-bottom:12px;opacity:.5}.no-notifications p{margin:0;font-size:14px}.notification-loading{padding:40px 20px;text-align:center;color:#6b7280}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.notification-footer{padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.settings-link{display:flex;align-items:center;gap:8px;color:#6b7280;text-decoration:none;font-size:13px;transition:color .2s ease}.settings-link:hover{color:#f59e0b}.close-notification-btn{display:none}@media(max-width:600px){.notification-dropdown{position:fixed;inset:0;width:100%;max-height:100vh;border-radius:0;z-index:1100;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:14px 16px;position:sticky;top:0;z-index:1}.close-notification-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#6b7280;font-size:22px;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.close-notification-btn:hover{background-color:#f3f4f6;color:#111827}.notification-filters{padding:8px 12px;gap:6px}.filter-btn{padding:6px 12px;font-size:12px}.notification-item{padding:12px 16px;gap:10px}.notification-icon{width:28px;height:28px;font-size:20px}.notification-content h4{white-space:normal;font-size:13px}.notification-content p{font-size:12px}.notification-meta{font-size:11px}.notification-actions{opacity:1;flex-direction:row;align-self:flex-start;margin-top:2px}.action-btn{width:36px;height:36px;font-size:18px}.notification-list{max-height:none;flex:1;overflow-y:auto}.notification-footer{padding:10px 16px}.no-notifications{padding:40px 16px}.no-notif-icon{font-size:40px}}[data-theme=dark] .notification-dropdown{background:var(--surface-card, #1f2937);box-shadow:0 10px 40px #0006}[data-theme=dark] .notification-header{background:var(--bg-tertiary, #374151);border-bottom-color:var(--border-color, #4b5563)}[data-theme=dark] .notification-header h3{color:var(--text-primary, #f9fafb)}[data-theme=dark] .notification-filters{border-bottom-color:var(--border-color, #4b5563)}[data-theme=dark] .filter-btn{background:var(--bg-tertiary, #374151);border-color:var(--border-color, #4b5563);color:var(--text-secondary, #d1d5db)}[data-theme=dark] .filter-btn:hover{border-color:var(--text-muted, #6b7280);color:var(--text-primary, #f9fafb)}[data-theme=dark] .filter-btn.active{background:#f59e0b;border-color:#f59e0b;color:#fff}[data-theme=dark] .notification-item{border-bottom-color:var(--border-color, #374151)}[data-theme=dark] .notification-item:hover{background:var(--bg-hover, #374151)}[data-theme=dark] .notification-item.unread{background:#f59e0b26}[data-theme=dark] .notification-item.unread:hover{background:#f59e0b40}[data-theme=dark] .notification-icon{background:var(--bg-tertiary, #374151)}[data-theme=dark] .notification-item.unread .notification-icon{background:var(--bg-secondary, #1f2937)}[data-theme=dark] .notification-content h4{color:var(--text-primary, #f9fafb)}[data-theme=dark] .notification-content p{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .notification-meta{color:var(--text-muted, #6b7280)}[data-theme=dark] .load-more-btn{background:var(--bg-tertiary, #374151)}[data-theme=dark] .load-more-btn:hover:not(:disabled){background:var(--bg-hover, #4b5563)}[data-theme=dark] .no-notifications,[data-theme=dark] .notification-loading{color:var(--text-muted, #6b7280)}[data-theme=dark] .notification-footer{background:var(--bg-tertiary, #374151);border-top-color:var(--border-color, #4b5563)}[data-theme=dark] .settings-link{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .settings-link:hover{color:#f59e0b}@media(max-width:600px){[data-theme=dark] .close-notification-btn{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .close-notification-btn:hover{background-color:var(--bg-hover, #374151);color:var(--text-primary, #f9fafb)}}.header{position:fixed;top:0;right:0;left:250px;height:70px;background-color:var(--header-bg, #ffffff);border-bottom:1px solid var(--header-border, #e5e7eb);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1010;transition:left .3s ease,background-color .3s ease,border-color .3s ease}.header.sidebar-collapsed{left:80px;width:calc(100% - 80px)}.menu-button{display:none;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.menu-button:hover{background-color:#f3f4f6;color:#111827}.header-right{display:flex;align-items:center;gap:16px;margin-left:auto}.header .user-avatar{width:24px!important;height:24px!important;border-radius:6px!important;background:#fbbf24!important;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px!important;overflow:hidden;transition:all .2s}.header .user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:6px}.header .user-avatar:hover{opacity:.85}.user-profile-container{position:relative}.user-profile{cursor:pointer}.profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;overflow:hidden;z-index:1000;animation:slideDownProfile .2s ease}@keyframes slideDownProfile{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-info{padding:20px;background:#fbbf24!important;color:#fff;display:flex;align-items:center;gap:12px}.profile-avatar-large{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#fbbf24;font-weight:700;font-size:20px;flex-shrink:0;overflow:hidden}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-details h4{margin:0 0 4px;font-size:15px;font-weight:600}.profile-details p{margin:0;font-size:13px;opacity:.9}.profile-divider{height:1px;background:#e5e7eb}.profile-menu{padding:8px 0}.profile-menu-item{width:100%;padding:12px 20px;display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;transition:background .2s;font-size:14px;color:#374151;text-align:left}.profile-menu-item svg{font-size:20px;color:#6b7280}.profile-menu-item:hover{background:#f3f4f6}.profile-menu-item.logout{color:#ef4444}.profile-menu-item.logout svg{color:#ef4444}.profile-menu-item.logout:hover{background:#fee2e2}@media(max-width:768px){.header,.header.sidebar-collapsed{left:0!important}.menu-button{display:block}.profile-dropdown{width:260px;right:-8px}}[data-theme=dark] .menu-button{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .menu-button:hover{background-color:var(--bg-hover, #374151);color:var(--text-primary, #f9fafb)}[data-theme=dark] .notification-button{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .notification-button:hover{background-color:var(--bg-hover, #374151);color:var(--text-primary, #f9fafb)}[data-theme=dark] .profile-dropdown{background:var(--surface-card, #1f2937);box-shadow:0 10px 25px #0006}[data-theme=dark] .profile-divider{background:var(--border-color, #374151)}[data-theme=dark] .profile-menu-item{color:var(--text-secondary, #d1d5db)}[data-theme=dark] .profile-menu-item svg{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .profile-menu-item:hover{background:var(--bg-hover, #374151)}[data-theme=dark] .profile-menu-item.logout{color:#f87171}[data-theme=dark] .profile-menu-item.logout svg{color:#f87171}[data-theme=dark] .profile-menu-item.logout:hover{background:#ef444426}.sidebar{position:fixed;left:0;top:0;height:100vh;width:250px;background-color:#fff;border-right:1px solid #e5e7eb;padding:20px;overflow-y:auto;transition:width .3s ease,transform .3s ease,padding .3s ease;z-index:1000}.sidebar-collapsed{width:80px;padding:20px 10px}.sidebar-overlay{display:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;width:100%;min-height:100px}.sidebar-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:12px;flex:1;overflow:visible}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#f59e0b,#ff8c00);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.logo-image{width:auto;height:90px;max-width:200px;object-fit:contain;flex-shrink:0;border-radius:0!important;display:block}.logo-text h2{margin:0;font-size:16px;font-weight:600;color:#111827}.logo-text p{margin:0;font-size:11px;color:#6b7280}.sidebar-close{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px}.sidebar-close:hover{color:#111827}.sidebar-nav{margin-top:20px}.nav-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin-bottom:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#6b7280;text-decoration:none;border-radius:8px;transition:all .2s;font-size:14px}.nav-link:hover{background-color:#f3f4f6;color:#111827}.nav-link.active{background-color:#fef3c7;color:#f59e0b;font-weight:500}.nav-icon{font-size:20px;flex-shrink:0}.sidebar-toggle{width:32px;height:32px;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.sidebar-toggle:hover{background-color:#d97706;transform:scale(1.05)}.sidebar-collapsed .sidebar-logo{justify-content:center}.sidebar-collapsed .logo-image{display:none}.sidebar-collapsed .sidebar-header{flex-direction:column;gap:15px}.sidebar-collapsed .sidebar-header-actions{width:100%;justify-content:center}.sidebar-collapsed .nav-link{justify-content:center;padding:12px}.sidebar-collapsed .nav-label{text-align:center}@media(max-width:768px){.sidebar{transform:translate(-100%);width:250px!important;padding:20px!important}.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background-color:#00000080;z-index:999}.sidebar-close{display:block}.sidebar-toggle{display:none}.sidebar-collapsed{width:250px!important}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#9ca3af}[data-theme=dark] .sidebar{background-color:var(--sidebar-bg, #1f2937);border-right-color:var(--border-color, #374151)}[data-theme=dark] .logo-text h2{color:var(--text-primary, #f9fafb)}[data-theme=dark] .logo-text p{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .nav-label{color:var(--text-muted, #9ca3af)}[data-theme=dark] .nav-link{color:var(--text-secondary, #d1d5db)}[data-theme=dark] .nav-link:hover{background-color:var(--bg-hover, #374151);color:var(--text-primary, #f9fafb)}[data-theme=dark] .nav-link.active{background-color:#f59e0b26;color:#f59e0b}[data-theme=dark] .sidebar-close{color:var(--text-tertiary, #9ca3af)}[data-theme=dark] .sidebar-close:hover{color:var(--text-primary, #f9fafb)}[data-theme=dark] .sidebar-overlay{background-color:#000000b3}[data-theme=dark] .sidebar::-webkit-scrollbar-thumb{background:var(--text-muted, #6b7280)}[data-theme=dark] .sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #9ca3af)}.layout{min-height:100vh;background-color:var(--bg-secondary, #f9fafb);transition:background-color .3s ease}.main-content{margin-left:250px;margin-top:70px;padding:24px;min-height:calc(100vh - 70px);transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:80px;width:calc(100% - 80px)}@media(max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0!important}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef3c7,#fde68a,#fbbf24);padding:40px 20px;position:relative;overflow-y:auto}.error-banner{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;text-align:center;animation:slideDown .3s ease-out}.success-banner{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;text-align:center;animation:slideDown .3s ease-out}.info-banner{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;text-align:center;animation:slideDown .3s ease-out}.login-hint{text-align:center;margin-top:4px}.login-hint p{margin:0;font-size:13px;color:#9ca3af}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-content{width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;gap:32px;position:relative;z-index:1}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.login-shape{position:absolute;background:#ffffff1a;border-radius:50%;animation:float 20s infinite ease-in-out}.shape-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.shape-2{width:200px;height:200px;bottom:-50px;right:-50px;animation-delay:5s}.shape-3{width:150px;height:150px;top:50%;right:10%;animation-delay:10s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(180deg)}}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;padding:48px;max-width:500px;width:100%;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;justify-content:center;margin-bottom:24px}.logo-image{width:100px;height:100px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px #f59e0b4d;border:4px solid white}.login-header h1{font-size:32px;font-weight:700;color:#111827;margin:0 0 4px;letter-spacing:1px}.login-header h2{font-size:16px;font-weight:500;color:#f59e0b;margin:0 0 16px;letter-spacing:.5px}.login-header p{font-size:14px;color:#6b7280;margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.form-group label{font-size:14px;font-weight:500;color:#374151;display:flex;align-items:center;gap:6px}.form-group label svg{font-size:18px;color:#f59e0b}.form-group input{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;transition:all .2s;background:#fff}.form-group input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.form-group input.error{border-color:#ef4444}.form-group input.error:focus{box-shadow:0 0 0 4px #ef44441a}.error-message{color:#ef4444;font-size:13px;font-weight:500}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;font-size:22px;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.password-toggle:hover{background:#f3f4f6;color:#f59e0b}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:-8px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#f59e0b}.forgot-password{font-size:14px;color:#f59e0b;text-decoration:none;font-weight:500;transition:all .2s}.forgot-password:hover{color:#d97706;text-decoration:underline}.login-button{width:100%;padding:16px;background:linear-gradient(135deg,#f59e0b,#ff8c00);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #f59e0b4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.otp-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.back-button{background:none;border:none;color:#6b7280;font-size:15px;font-weight:500;display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.back-button:hover{background:#f3f4f6;color:#f59e0b}.back-button svg{font-size:18px}.otp-email{font-size:14px;color:#374151;background:#f3f4f6;padding:6px 12px;border-radius:20px;font-weight:500;word-break:break-all}.otp-channel-info{text-align:center;margin-bottom:12px}.otp-channel-info p{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px;color:#374151;background:#f3f4f6;padding:8px 16px;border-radius:20px}.otp-channel-info p svg{font-size:16px;color:#f59e0b}.otp-instructions{text-align:center;margin-bottom:16px}.otp-instructions p{margin:0 0 8px;color:#6b7280;font-size:14px}.otp-timer{display:inline-flex;align-items:center;gap:6px;background:#fef3c7;color:#d97706;padding:8px 16px;border-radius:30px;font-size:14px;font-weight:500}.otp-timer svg{font-size:16px}.otp-inputs{display:flex;justify-content:center;gap:10px;margin:20px 0 10px}.otp-inputs input{width:50px;height:60px;text-align:center;font-size:24px;font-weight:600;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#111827;transition:all .2s}.otp-inputs input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.otp-inputs input.error{border-color:#ef4444}.otp-actions{display:flex;flex-direction:column;gap:16px;margin-top:24px}.resend-button{width:100%;padding:14px;background:#fff;color:#f59e0b;border:2px solid #f59e0b;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.resend-button:hover:not(:disabled){background:#f59e0b;color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px #f59e0b33}.resend-button:active:not(:disabled){transform:translateY(0)}.resend-button:disabled{opacity:.5;cursor:not-allowed}.resend-info{text-align:center;color:#6b7280;font-size:13px;padding:8px}.admin-link{color:#f59e0b;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s}.admin-link:hover{color:#d97706;text-decoration:underline}.superadmin-link-container{text-align:center;margin-top:8px;padding-top:20px;border-top:1px solid #e5e7eb}.superadmin-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s}.superadmin-link:hover{color:#f59e0b;background:#fef3c7}.superadmin-link svg{font-size:18px}.login-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.login-footer p{margin:0 0 8px;font-size:14px;color:#6b7280}.register-link{color:#f59e0b;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s}.register-link:hover{color:#d97706;text-decoration:underline}.login-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:1000px}.info-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px;border-radius:12px;box-shadow:0 8px 20px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.info-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000026}.info-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#f59e0b}.info-card p{margin:0;font-size:14px;color:#6b7280;line-height:1.6}.disabled-input{background:#f3f4f6!important;color:#9ca3af!important;cursor:not-allowed}.photo-upload-container{display:flex;justify-content:center;margin-bottom:8px}.photo-upload-circle{width:90px;height:90px;border-radius:50%;border:3px dashed #e5e7eb;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .2s}.photo-upload-circle:hover{border-color:#f59e0b;background:#fef3c7}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9ca3af}.photo-placeholder svg{font-size:24px}.photo-placeholder span{font-size:11px;font-weight:500}.login-alternatives{text-align:center;margin-top:4px}.phone-login-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s}.phone-login-link:hover{color:#f59e0b;background:#fef3c7}.phone-login-link svg{font-size:18px}.phone-login-info{text-align:center;font-size:13px;color:#9ca3af;margin:0}@media(max-width:1024px){.login-info{grid-template-columns:1fr;gap:16px}.info-card{padding:20px}.info-card h3{font-size:15px}.info-card p{font-size:13px}}@media(max-width:768px){.login-container{padding:20px 16px}.login-content{gap:24px}.login-card{padding:36px 28px}.logo-image{width:85px;height:85px}.login-header h1{font-size:28px}.login-header h2{font-size:15px}.login-header p{font-size:13px}.form-group input{padding:12px 14px;font-size:14px}.login-button{padding:14px;font-size:15px}.form-row{grid-template-columns:1fr;gap:12px}.otp-inputs{gap:8px}.otp-inputs input{width:45px;height:55px;font-size:22px}.otp-header{flex-direction:column;align-items:flex-start;gap:8px}.back-button{padding:6px 10px}.login-info{grid-template-columns:1fr;gap:12px}.info-card{padding:18px}}@media(max-width:480px){.login-container{padding:16px}.login-content{gap:20px}.login-card{padding:32px 24px;border-radius:16px}.logo-image{width:70px;height:70px}.login-header{margin-bottom:28px}.login-header h1{font-size:24px}.login-header h2{font-size:14px}.form-group{gap:6px}.form-options{flex-direction:column;align-items:flex-start;gap:12px}.otp-inputs{gap:5px}.otp-inputs input{width:40px;height:50px;font-size:20px}.otp-timer{font-size:13px;padding:6px 12px}.login-info{gap:10px}.info-card{padding:16px}.info-card h3{font-size:14px}.info-card p{font-size:12px}}[data-theme=dark] .login-container{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}[data-theme=dark] .login-card{background:var(--surface-card);box-shadow:0 20px 60px #0006}[data-theme=dark] .login-header h1{color:var(--text-primary)}[data-theme=dark] .login-header p{color:var(--text-tertiary)}[data-theme=dark] .form-group input{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .form-group input:focus{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b26}[data-theme=dark] .checkbox-label{color:var(--text-secondary)}[data-theme=dark] .password-toggle{color:var(--text-muted)}[data-theme=dark] .password-toggle:hover{background:var(--bg-tertiary);color:#f59e0b}[data-theme=dark] .otp-channel-info p,[data-theme=dark] .otp-email{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .otp-timer{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .otp-inputs input{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .otp-inputs input:focus{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b26}[data-theme=dark] .back-button{color:var(--text-muted)}[data-theme=dark] .back-button:hover{background:var(--bg-tertiary);color:#f59e0b}[data-theme=dark] .resend-button{background:transparent;border-color:#f59e0b;color:#f59e0b}[data-theme=dark] .resend-button:hover:not(:disabled){background:#f59e0b;color:#fff}[data-theme=dark] .resend-info{color:var(--text-tertiary)}[data-theme=dark] .login-footer{border-top-color:var(--border-color)}[data-theme=dark] .login-footer p{color:var(--text-tertiary)}[data-theme=dark] .error-banner{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-theme=dark] .success-banner{background:#16a34a33;border-color:#166534;color:#4ade80}[data-theme=dark] .login-shape{background:#ffffff08}[data-theme=dark] .info-card{background:#1f2937f2;box-shadow:0 8px 20px #0000004d}[data-theme=dark] .info-card p{color:var(--text-tertiary)}[data-theme=dark] .info-banner{background:#f59e0b33;border-color:#92400e;color:#fbbf24}[data-theme=dark] .login-hint p{color:var(--text-muted)}[data-theme=dark] .error-message{color:var(--error-text)}[data-theme=dark] .admin-link{color:#fbbf24}[data-theme=dark] .admin-link:hover{color:#f59e0b}[data-theme=dark] .superadmin-link-container{border-top-color:var(--border-color)}[data-theme=dark] .superadmin-link{color:var(--text-muted)}[data-theme=dark] .superadmin-link:hover{color:#fbbf24;background:#f59e0b26}[data-theme=dark] .disabled-input{background:var(--bg-tertiary)!important;color:var(--text-muted)!important}[data-theme=dark] .photo-upload-circle{border-color:var(--border-color)}[data-theme=dark] .photo-upload-circle:hover{border-color:#f59e0b;background:#f59e0b1a}[data-theme=dark] .photo-placeholder,[data-theme=dark] .phone-login-link{color:var(--text-muted)}[data-theme=dark] .phone-login-link:hover{color:#fbbf24;background:#f59e0b26}[data-theme=dark] .phone-login-info{color:var(--text-muted)}.sa-dashboard{max-width:1400px;padding:0 20px}.sa-loading,.sa-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.sa-error-icon{font-size:64px;color:#f59e0b}.sa-error h3{color:#111827;font-size:20px;font-weight:700;margin:0}.sa-error p{color:#6b7280;margin:0}.sa-retry-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s}.sa-retry-btn:hover{transform:translateY(-2px)}.sa-header{margin-bottom:28px}.sa-header-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.sa-header-text h1{font-size:28px;font-weight:800;margin:0 0 6px;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sa-header-text p{font-size:14px;color:#6b7280;margin:0}.sa-header-actions{display:flex;align-items:center;gap:12px}.sa-last-updated{font-size:12px;color:#9ca3af;display:flex;align-items:center;gap:4px}.sa-last-updated svg{font-size:14px}.sa-settings-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fffbeb;color:#b45309;border:1px solid #fde68a;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sa-settings-btn:hover{background:#fef3c7}.sa-refresh-btn{display:flex;align-items:center;padding:8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s}.sa-refresh-btn:hover{background:#e5e7eb}.sa-refresh-btn svg{font-size:18px}.sa-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:28px}.sa-stat-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000f;border:1px solid #f3f4f6;cursor:pointer;transition:all .3s}.sa-stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #00000014}.sa-stat-content{display:flex;justify-content:space-between;align-items:flex-start}.sa-stat-info h3{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.sa-stat-value{font-size:30px;font-weight:800;color:#111827;margin:0 0 8px;line-height:1}.sa-stat-footer{display:flex;align-items:center;gap:10px}.sa-stat-subtitle{font-size:12px;color:#9ca3af}.sa-trend{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.sa-trend.up{color:#10b981;background:#ecfdf5}.sa-trend.down{color:#ef4444;background:#fef2f2}.sa-trend svg{font-size:14px}.sa-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.sa-section{background:#fff;border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f;border:1px solid #f3f4f6;margin-bottom:24px}.sa-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.sa-section-header h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#111827;margin:0}.sa-section-header h2 svg{font-size:22px;color:#f59e0b}.sa-section-header p{font-size:13px;color:#6b7280;margin:4px 0 0}.sa-invite-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sa-invite-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b59}.sa-link-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;color:#b45309;border:1px solid #fde68a;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sa-link-btn:hover{background:#fffbeb}.sa-admins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.sa-admin-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:10px;border:1px solid #f3f4f6;transition:all .2s}.sa-admin-card:hover{background:#f9fafb;border-color:#e5e7eb}.sa-admin-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.sa-admin-info{flex:1;min-width:0}.sa-admin-name{display:block;font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-admin-email{display:block;font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-admin-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.sa-role-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px}.sa-role-badge.super_admin{background:#fef3c7;color:#92400e}.sa-role-badge.admin{background:#fffbeb;color:#b45309}.sa-status-dot{font-size:18px}.sa-status-dot.active{color:#10b981}.sa-status-dot.inactive{color:#ef4444}.sa-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px}.sa-chart-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000f;border:1px solid #f3f4f6}.sa-chart-card.sa-chart-large{grid-column:span 2}.sa-chart-header{margin-bottom:16px}.sa-chart-header h3{font-size:16px;font-weight:700;color:#111827;margin:0 0 4px}.sa-chart-header p{font-size:13px;color:#6b7280;margin:0}.sa-chart-body{width:100%}.sa-performance{display:flex;align-items:center;gap:24px}.sa-perf-stats{display:flex;flex-direction:column;gap:12px}.sa-perf-item{padding:10px 14px;border-radius:8px;min-width:90px}.sa-perf-item.success{background:#ecfdf5}.sa-perf-item.failure{background:#fef2f2}.sa-perf-label{display:block;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.sa-perf-value{display:block;font-size:22px;font-weight:800;margin-top:2px}.sa-perf-item.success .sa-perf-value{color:#10b981}.sa-perf-item.failure .sa-perf-value{color:#ef4444}.sa-results-table-wrapper{overflow-x:auto}.sa-results-table{width:100%;border-collapse:collapse}.sa-results-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f3f4f6}.sa-results-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151}.sa-results-table tr:hover{background:#fafafa}.sa-user-cell{display:flex;align-items:center;gap:10px}.sa-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.sa-score-badge{display:inline-flex;padding:4px 10px;background:#f3f4f6;border-radius:16px;font-size:12px;font-weight:600}.sa-status-badge{display:inline-flex;padding:4px 10px;border-radius:16px;font-size:11px;font-weight:600}.sa-status-badge.passed{background:#ecfdf5;color:#10b981}.sa-status-badge.failed{background:#fef2f2;color:#ef4444}.sa-date-cell{font-size:12px;color:#9ca3af;white-space:nowrap}.sa-empty{display:flex;flex-direction:column;align-items:center;padding:40px;color:#9ca3af}.sa-empty svg{font-size:40px;margin-bottom:8px}.quiz-builder{width:100%;margin:16px 0}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.quiz-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.questions-list{display:flex;flex-direction:column;gap:12px}.qb-empty{padding:40px 20px;text-align:center;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#9ca3af;font-size:14px}.question-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.question-item:hover{border-color:#fbbf24;box-shadow:0 2px 4px #fbbf241a}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.qb-question-title{display:flex;align-items:center;gap:10px}.qb-question-title h4{margin:0;font-size:14px;font-weight:600;color:#374151}.qb-type-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.qb-type-badge.choix-multiple{background-color:#fef9c3;color:#854d0e}.qb-type-badge.vrai-faux{background-color:#fef3c7;color:#92400e}.qb-type-badge.image-question{background-color:#fde68a;color:#78350f}.qb-type-badge.situation{background-color:#ffedd5;color:#9a3412}.question-actions{display:flex;align-items:center;gap:8px}.question-actions button{background:none;border:none;font-size:18px;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;color:#6b7280}.question-actions button:hover{background-color:#f3f4f6;color:#111827}.question-actions button.btn-danger{color:#ef4444}.question-actions button.btn-danger:hover{background-color:#fee2e2}.question-content{margin-top:8px}.question-content p{margin:0 0 10px;font-size:14px;color:#111827;line-height:1.5}.qb-question-image-preview{margin-bottom:10px;max-width:200px}.qb-question-image-preview img{width:100%;border-radius:6px;border:1px solid #e5e7eb}.options{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.option{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151}.option.correct{background-color:#d1fae5;border-color:#10b981;color:#065f46;font-weight:500}.option .option-letter{font-weight:700;color:#6b7280;min-width:18px}.option.correct .option-letter{color:#065f46}.question-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#9ca3af}.qb-has-explication{color:#059669;font-weight:500}.question-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.question-modal .modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.question-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.question-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.question-modal .modal-body{padding:24px;display:flex;flex-direction:column;gap:18px}.question-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.qb-type-selector{display:flex;gap:8px;flex-wrap:wrap}.qb-type-btn{padding:8px 14px;border:2px solid #e5e7eb;border-radius:8px;background-color:#f9fafb;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.qb-type-btn:hover{border-color:#fbbf24;background-color:#fffbeb}.qb-type-btn.active{border-color:#f59e0b;background-color:#fef3c7;color:#92400e;font-weight:600}.qb-vrai-faux-options{display:flex;gap:12px}.qb-vf-btn{flex:1;padding:14px;border:2px solid #e5e7eb;border-radius:10px;background-color:#f9fafb;color:#374151;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.qb-vf-btn:hover{border-color:#fbbf24}.qb-vf-btn.selected{border-color:#10b981;background-color:#d1fae5;color:#065f46}.qb-option-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.qb-option-row .option-letter{font-weight:700;color:#6b7280;min-width:20px;font-size:14px}.qb-option-row input[type=text]{flex:1}.qb-option-row input[type=radio],.qb-option-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#10b981;flex-shrink:0}.qb-image-upload{display:flex;flex-direction:column;gap:10px}.qb-file-input{display:none}.qb-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:2px dashed #d1d5db;border-radius:8px;background-color:#f9fafb;color:#6b7280;font-size:14px;cursor:pointer;transition:all .2s}.qb-upload-btn:hover{border-color:#f59e0b;color:#f59e0b;background-color:#fffbeb}.qb-upload-btn svg{font-size:20px}.qb-image-preview{position:relative;display:inline-block;max-width:250px}.qb-image-preview img{width:100%;border-radius:8px;border:1px solid #e5e7eb}.qb-remove-image{position:absolute;top:6px;right:6px;background-color:#ef4444e6;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:background-color .2s}.qb-remove-image:hover{background-color:#dc2626}.qb-explication-textarea{min-height:80px;resize:vertical;font-size:13px;line-height:1.5}.niveau-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.niveau-badge.debutant{background-color:#fef9c3;color:#854d0e}.niveau-badge.intermediaire{background-color:#fef3c7;color:#92400e}.niveau-badge.avance{background-color:#fde68a;color:#78350f}.type-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.type-badge.theorique{background-color:#fffbeb;color:#b45309}.type-badge.pratique{background-color:#d1fae5;color:#065f46}.type-badge.mixte{background-color:#ffedd5;color:#9a3412}.badge-draft{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;background-color:#f3f4f6;color:#6b7280}.exam-description{font-size:13px;color:#6b7280;margin:4px 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score-pass{color:#059669;font-weight:600}.score-fail{color:#dc2626;font-weight:600}.badge-success{background-color:#d1fae5;color:#065f46;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-danger{background-color:#fee2e2;color:#991b1b;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.cm-page{width:100%;min-height:100%}.cm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:#6b7280;font-size:15px}.spinner-large{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#f59e0b;border-radius:50%;animation:cm-spin .8s linear infinite}@keyframes cm-spin{to{transform:rotate(360deg)}}.cm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px;color:#6b7280;text-align:center;padding:40px}.cm-error-icon{font-size:48px;color:#f59e0b}.cm-error h3{font-size:18px;font-weight:600;color:#111827;margin:0}.cm-error p{font-size:14px;margin:0}.cm-retry-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#f59e0b;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;margin-top:8px;transition:background .2s}.cm-retry-btn:hover{background:#d97706}.cm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.cm-header h1{font-size:26px;font-weight:700;color:#111827;margin:0 0 4px}.cm-header p{font-size:14px;color:#6b7280;margin:0}.cm-header-actions{display:flex;gap:10px}.cm-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.cm-btn-primary{background:#f59e0b;color:#fff}.cm-btn-primary:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b4d}.cm-btn-secondary{background:#f3f4f6;color:#374151}.cm-btn-secondary:hover{background:#e5e7eb}.cm-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;min-height:calc(100vh - 200px)}.cm-sidebar{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;align-self:start;position:sticky;top:24px}.cm-sidebar-header{padding:16px 20px;border-bottom:1px solid #e5e7eb}.cm-sidebar-header h3{font-size:15px;font-weight:600;color:#111827;margin:0}.cm-tree{padding:8px}.cm-tree-category{margin-bottom:2px}.cm-tree-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:#374151;transition:all .15s;position:relative}.cm-tree-item:hover{background:#f3f4f6}.cm-tree-item.active{background:#fef3c7;color:#92400e;font-weight:500}.cm-tree-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;color:#9ca3af;font-size:20px;flex-shrink:0;transition:color .15s}.cm-tree-toggle:hover{color:#374151}.cm-tree-icon{font-size:18px;color:#9ca3af;flex-shrink:0}.cm-tree-icon.folder{color:#f59e0b}.cm-tree-icon.sub{color:#6b7280;font-size:16px}.cm-tree-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-tree-count{font-size:12px;background:#e5e7eb;color:#6b7280;padding:1px 7px;border-radius:10px;flex-shrink:0}.cm-tree-item.active .cm-tree-count{background:#fbbf24;color:#78350f}.cm-tree-actions{display:none;gap:2px;margin-left:auto;flex-shrink:0}.cm-tree-item:hover .cm-tree-actions{display:flex}.cm-tree-actions button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#9ca3af;font-size:16px;transition:all .15s}.cm-tree-actions button:hover{background:#e5e7eb;color:#374151}.cm-tree-actions button.danger:hover{background:#fee2e2;color:#dc2626}.cm-tree-sub{padding-left:44px}.cm-content{min-width:0}.cm-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.cm-breadcrumb{font-size:15px;font-weight:600;color:#111827}.cm-breadcrumb-sep{margin:0 8px;color:#d1d5db;font-weight:400}.cm-search{position:relative;display:flex;align-items:center;min-width:240px}.cm-search svg{position:absolute;left:12px;color:#9ca3af;font-size:20px;pointer-events:none}.cm-search input{width:100%;padding:9px 12px 9px 38px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s;background:#fff}.cm-search input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.cm-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.cm-course-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.cm-course-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.cm-course-cover{position:relative;width:100%;height:160px;overflow:hidden;background:#f3f4f6}.cm-course-cover img{width:100%;height:100%;object-fit:cover}.cm-course-cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b;font-size:48px}.cm-media-badges{position:absolute;bottom:8px;right:8px;display:flex;gap:4px}.cm-media-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:#fff;font-size:16px;box-shadow:0 2px 4px #0003}.cm-course-body{padding:16px;flex:1;display:flex;flex-direction:column}.cm-course-category-tag{font-size:12px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.cm-course-category-tag span{color:#9ca3af;font-weight:400}.cm-course-title{font-size:17px;font-weight:600;color:#111827;margin:0 0 8px;line-height:1.3}.cm-course-desc{font-size:13px;color:#6b7280;line-height:1.5;margin:0 0 10px;flex:1}.cm-course-creator{font-size:12px;color:#9ca3af;margin:0}.cm-course-footer{display:flex;gap:6px;justify-content:flex-end;padding:12px 16px;border-top:1px solid #f3f4f6}.cm-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid transparent;background:#f3f4f6;color:#6b7280;cursor:pointer;font-size:18px;transition:all .2s}.cm-icon-btn:hover{background:#f59e0b;color:#fff;transform:translateY(-1px);box-shadow:0 3px 8px #f59e0b4d}.cm-icon-btn.danger:hover{background:#ef4444;box-shadow:0 3px 8px #ef44444d}.cm-icon-btn.assign:hover{background:#d97706;box-shadow:0 3px 8px #d977064d}.cm-icon-btn.active{color:#10b981}.cm-icon-btn.active:hover{background:#10b981;color:#fff;box-shadow:0 3px 8px #10b9814d}.cm-icon-btn.inactive{color:#9ca3af}.cm-icon-btn.inactive:hover{background:#6b7280;color:#fff;box-shadow:0 3px 8px #6b72804d}.cm-icon-btn.reorder{font-size:16px;width:30px;height:30px}.cm-icon-btn.reorder:hover{background:#8b5cf6;color:#fff;box-shadow:0 3px 8px #8b5cf64d}.cm-course-card.cm-course-inactive{opacity:.6}.cm-course-card.cm-course-inactive:hover{opacity:.85}.cm-course-inactive-badge{position:absolute;top:8px;left:8px;background:#6b7280e6;color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.cm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#9ca3af;text-align:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.cm-empty svg{font-size:56px;margin-bottom:16px;opacity:.4}.cm-empty p{font-size:16px;margin:0 0 20px}.cm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cm-modal{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:cm-modal-in .2s ease-out}.cm-modal-large{max-width:800px}@keyframes cm-modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.cm-modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.cm-modal-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:6px;font-size:22px;transition:all .15s}.cm-modal-close:hover{background:#f3f4f6;color:#374151}.cm-modal form,.cm-course-form{padding:24px}.cm-form-group{margin-bottom:18px}.cm-form-group label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.cm-form-group input,.cm-form-group select,.cm-form-group textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s;background:#fff;color:#111827;box-sizing:border-box}.cm-form-group textarea{resize:vertical}.cm-form-group input:focus,.cm-form-group select:focus,.cm-form-group textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.cm-form-group select:disabled{opacity:.5;cursor:not-allowed}.cm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cm-media-section{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cm-media-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.cm-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-media-upload{padding:16px;border:2px dashed #e5e7eb;border-radius:10px;transition:border-color .2s}.cm-media-upload:hover{border-color:#fbbf24}.cm-media-upload label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#374151;margin-bottom:10px}.cm-media-upload label svg{font-size:18px;color:#f59e0b}.cm-media-upload input[type=file]{width:100%;font-size:13px;color:#6b7280}.cm-media-upload input[type=file]::file-selector-button{padding:6px 14px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:#374151;font-size:12px;cursor:pointer;margin-right:8px;transition:all .15s}.cm-media-upload input[type=file]::file-selector-button:hover{background:#f3f4f6;border-color:#d1d5db}.cm-media-existing{font-size:12px;color:#059669;background:#ecfdf5;padding:4px 10px;border-radius:6px;margin-bottom:8px;display:inline-block}.cm-detail{padding:24px}.cm-detail-meta{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.cm-detail-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#fef3c7;color:#92400e}.cm-detail-tag.sub{background:#fde68a;color:#78350f}.cm-detail-media{margin-bottom:20px;border-radius:10px;overflow:hidden}.cm-detail-image{width:100%;max-height:350px;object-fit:cover;display:block}.cm-detail-section{margin-bottom:24px}.cm-detail-section:last-child{margin-bottom:0}.cm-detail-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#111827;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.cm-detail-text{font-size:14px;color:#4b5563;line-height:1.7;white-space:pre-wrap}.cm-video-player{width:100%;max-height:400px;border-radius:10px;background:#000}.cm-audio-player{width:100%;border-radius:8px}.cm-documents-list{display:flex;flex-direction:column;gap:8px}.cm-document-link{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#374151;font-size:14px;transition:all .2s}.cm-document-link:hover{background:#fef3c7;border-color:#fbbf24;color:#92400e}.cm-document-link svg:first-child{font-size:22px;color:#ef4444;flex-shrink:0}.cm-document-link span{flex:1}.cm-document-link svg:last-child{font-size:18px;color:#9ca3af}.cm-document-link:hover svg:last-child{color:#f59e0b}.user-management{max-width:1400px;margin:0}.btn-primary{background-color:#f59e0b;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-primary:hover{background-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-secondary{background-color:#f3f4f6;color:#374151;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#e5e7eb}.btn-icon{background:none;border:none;color:#6b7280;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s;font-size:18px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:#f3f4f6;color:#111827}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background-color:#f9fafb}.users-table th{text-align:left;padding:16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.users-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.users-table tbody tr:hover{background-color:#f9fafb}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px;font-size:14px;color:#374151}.user-name{font-weight:600;color:#111827}.actions{display:flex;gap:4px}.badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.badge-student{background-color:#fef9c3;color:#854d0e}.badge-instructor{background-color:#fef3c7;color:#92400e}.badge-active{background-color:#d1fae5;color:#065f46}.badge-inactive{background-color:#fee2e2;color:#991b1b}.no-data{padding:60px 20px;text-align:center;color:#9ca3af}.btn-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:24px;transition:all .2s}.btn-close:hover{background-color:#f3f4f6;color:#374151}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s}.view-modal{max-width:700px}.user-details{padding:20px}.user-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.user-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px}.user-main-info h3{margin:0 0 10px;font-size:24px;color:#1f2937}.user-tags{display:flex;gap:10px;flex-wrap:wrap}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.info-item{display:flex;align-items:flex-start;gap:15px;padding:15px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.info-icon{color:#6b7280;font-size:20px;margin-top:2px;flex-shrink:0}.info-content label{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.info-content p{margin:0;color:#1f2937;font-size:16px}.user-bio{background-color:#f9fafb;padding:20px;border-radius:8px;margin-bottom:30px;border:1px solid #e5e7eb}.user-bio h4{margin:0 0 10px;color:#1f2937;font-size:18px}.user-bio p{margin:0;color:#4b5563;line-height:1.6}.view-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb}.view-modal-actions button{display:flex;align-items:center;gap:8px;padding:10px 20px}.actions .btn-view{color:#d97706}.actions .btn-view:hover{background-color:#fef3c7}.actions .btn-edit{color:#10b981}.actions .btn-edit:hover{background-color:#d1fae5}@media(max-width:1200px){.sa-chart-card.sa-chart-large{grid-column:span 1}}@media(max-width:768px){.sa-dashboard{padding:0 12px}.sa-header-content{flex-direction:column}.sa-header-text h1{font-size:22px}.sa-stats-grid{grid-template-columns:1fr 1fr}.sa-admins-grid,.sa-charts{grid-template-columns:1fr}.sa-performance{flex-direction:column}}@media(max-width:480px){.sa-stats-grid{grid-template-columns:1fr}.sa-stat-value{font-size:24px}}@media(max-width:768px){.quiz-header{flex-direction:column;align-items:flex-start;gap:12px}.question-header{flex-direction:column;align-items:flex-start;gap:8px}.question-actions{width:100%;justify-content:flex-end}.qb-type-selector{flex-direction:column}.qb-type-btn{text-align:center}.qb-vrai-faux-options{flex-direction:column}.qb-option-row{flex-wrap:wrap}}@media(max-width:1024px){.cm-layout{grid-template-columns:240px 1fr;gap:16px}.cm-courses-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(max-width:768px){.cm-layout{grid-template-columns:1fr}.cm-sidebar{position:static}.cm-header{flex-direction:column;align-items:flex-start}.cm-header-actions{width:100%}.cm-header-actions .cm-btn{flex:1;justify-content:center}.cm-content-header{flex-direction:column;align-items:flex-start}.cm-search{width:100%;min-width:100%}.cm-courses-grid{grid-template-columns:1fr;gap:16px}.cm-form-row,.cm-media-grid{grid-template-columns:1fr}.cm-modal{margin:10px;max-height:95vh}.cm-modal-actions{flex-direction:column-reverse}.cm-modal-actions .cm-btn{width:100%;justify-content:center}}@media(max-width:480px){.cm-header h1{font-size:22px}.cm-course-cover{height:130px}.cm-course-title{font-size:15px}}@media(max-width:1024px){.user-management{max-width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-content h3{font-size:24px}.search-box{min-width:250px}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.header-left h1{font-size:24px}.header-left p{font-size:13px}.btn-primary{width:100%;justify-content:center;padding:12px 16px}.stats-grid{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.stat-card{padding:16px}.stat-icon{width:40px;height:40px;font-size:20px}.stat-content h3{font-size:24px}.stat-content p{font-size:13px}.filters-section{flex-direction:column;gap:12px;margin-bottom:20px}.search-box{min-width:100%}.filters-section select{width:100%;padding:10px 12px}.table-container{overflow-x:auto;border-radius:8px;-webkit-overflow-scrolling:touch}.users-table{min-width:800px}.users-table th,.users-table td{padding:12px;font-size:13px}.user-name{font-size:14px}.badge{font-size:11px;padding:3px 10px}.btn-icon{font-size:16px;padding:5px}.modal-overlay{padding:12px}.modal-content{max-height:85vh}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:18px}.modal-content form{padding:20px}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select{padding:10px;font-size:14px}.form-row{grid-template-columns:1fr;gap:0}.modal-actions{flex-direction:column-reverse;gap:10px;margin-top:20px;padding-top:16px}.modal-actions button{width:100%;justify-content:center}.user-info-grid{grid-template-columns:1fr}.view-modal-actions{flex-direction:column}.view-modal-actions button{width:100%;justify-content:center}}@media(max-width:480px){.header-left h1,.stat-content h3{font-size:20px}.stat-icon{width:36px;height:36px;font-size:18px}.users-table{min-width:700px}.users-table th,.users-table td{padding:10px 8px;font-size:12px}.no-data{padding:40px 16px}.no-data svg{font-size:48px}.no-data p{font-size:14px}}[data-theme=dark] .sa-header-text h1{background:linear-gradient(135deg,#fcd34d,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .sa-header-text p,[data-theme=dark] .sa-chart-header p,[data-theme=dark] .sa-section-header p,[data-theme=dark] .sa-stat-info h3,[data-theme=dark] .sa-perf-label,[data-theme=dark] .sa-results-table th,[data-theme=dark] .sa-last-updated,[data-theme=dark] .sa-stat-subtitle{color:var(--text-tertiary)}[data-theme=dark] .sa-stat-value,[data-theme=dark] .sa-chart-header h3,[data-theme=dark] .sa-section-header h2,[data-theme=dark] .sa-admin-name{color:var(--text-primary)}[data-theme=dark] .sa-stat-card,[data-theme=dark] .sa-section,[data-theme=dark] .sa-chart-card{background:var(--surface-card);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .sa-stat-card:hover,[data-theme=dark] .sa-chart-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .sa-admin-card{border-color:var(--border-color)}[data-theme=dark] .sa-admin-card:hover{background:var(--bg-hover)}[data-theme=dark] .sa-admin-email{color:var(--text-muted)}[data-theme=dark] .sa-results-table td{color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .sa-results-table th{border-bottom-color:var(--border-color)}[data-theme=dark] .sa-results-table tr:hover{background:var(--bg-hover)}[data-theme=dark] .sa-score-badge{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .sa-status-badge.passed{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .sa-status-badge.failed{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .sa-settings-btn{background:#f59e0b26;border-color:#f59e0b4d;color:#fcd34d}[data-theme=dark] .sa-refresh-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-tertiary)}[data-theme=dark] .sa-link-btn{border-color:#f59e0b4d;color:#fcd34d}[data-theme=dark] .sa-link-btn:hover{background:#f59e0b1a}[data-theme=dark] .sa-trend.up{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .sa-trend.down{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .sa-perf-item.success{background:var(--success-bg)}[data-theme=dark] .sa-perf-item.failure{background:var(--error-bg)}[data-theme=dark] .sa-empty{color:var(--text-muted)}[data-theme=dark] .sa-role-badge.super_admin{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .sa-role-badge.admin{background:#fbbf241a;color:#fde68a}[data-theme=dark] .quiz-header h3{color:#e5e7eb}[data-theme=dark] .qb-empty{background-color:#1f2937;border-color:#374151;color:#6b7280}[data-theme=dark] .question-item{background-color:#1f2937;border-color:#374151}[data-theme=dark] .question-item:hover{border-color:#fbbf24;box-shadow:0 2px 4px #fbbf2426}[data-theme=dark] .qb-question-title h4{color:#d1d5db}[data-theme=dark] .qb-type-badge.choix-multiple{background-color:#eab30826;color:#fde68a}[data-theme=dark] .qb-type-badge.vrai-faux{background-color:#f59e0b26;color:#fcd34d}[data-theme=dark] .qb-type-badge.image-question{background-color:#fbbf2426;color:#fde68a}[data-theme=dark] .qb-type-badge.situation{background-color:#d9770626;color:#fbbf24}[data-theme=dark] .question-actions button{color:#9ca3af}[data-theme=dark] .question-actions button:hover{background-color:#374151;color:#e5e7eb}[data-theme=dark] .question-actions button.btn-danger:hover{background-color:#ef444426}[data-theme=dark] .question-content p{color:#d1d5db}[data-theme=dark] .option{background-color:#111827;border-color:#374151;color:#d1d5db}[data-theme=dark] .option.correct{background-color:#10b98126;border-color:#10b98166;color:#6ee7b7}[data-theme=dark] .option .option-letter{color:#9ca3af}[data-theme=dark] .option.correct .option-letter{color:#6ee7b7}[data-theme=dark] .question-meta{color:#6b7280}[data-theme=dark] .qb-has-explication{color:#34d399}[data-theme=dark] .question-modal .modal-content{background-color:#1f2937}[data-theme=dark] .question-modal .modal-header{border-color:#374151}[data-theme=dark] .question-modal .modal-header h3{color:#e5e7eb}[data-theme=dark] .question-modal .modal-footer{border-color:#374151}[data-theme=dark] .qb-type-btn{border-color:#374151;background-color:#111827;color:#d1d5db}[data-theme=dark] .qb-type-btn:hover{border-color:#fbbf24;background-color:#f59e0b1a}[data-theme=dark] .qb-type-btn.active{border-color:#f59e0b;background-color:#f59e0b26;color:#fcd34d}[data-theme=dark] .qb-vf-btn{border-color:#374151;background-color:#111827;color:#d1d5db}[data-theme=dark] .qb-vf-btn:hover{border-color:#fbbf24}[data-theme=dark] .qb-vf-btn.selected{border-color:#10b981;background-color:#10b98126;color:#6ee7b7}[data-theme=dark] .qb-option-row .option-letter{color:#9ca3af}[data-theme=dark] .qb-upload-btn{border-color:#374151;background-color:#111827;color:#9ca3af}[data-theme=dark] .qb-upload-btn:hover{border-color:#f59e0b;color:#fbbf24;background-color:#f59e0b1a}[data-theme=dark] .qb-image-preview img,[data-theme=dark] .qb-question-image-preview img{border-color:#374151}[data-theme=dark] .niveau-badge.debutant{background-color:#eab30826;color:#fde68a}[data-theme=dark] .niveau-badge.intermediaire{background-color:#f59e0b26;color:#fcd34d}[data-theme=dark] .niveau-badge.avance{background-color:#d9770626;color:#fbbf24}[data-theme=dark] .type-badge.theorique{background-color:#f59e0b26;color:#fcd34d}[data-theme=dark] .type-badge.pratique{background-color:#10b98126;color:#6ee7b7}[data-theme=dark] .type-badge.mixte{background-color:#d9770626;color:#fbbf24}[data-theme=dark] .badge-draft{background-color:#374151;color:#9ca3af}[data-theme=dark] .exam-description{color:#9ca3af}[data-theme=dark] .badge-success{background-color:#10b98126;color:#6ee7b7}[data-theme=dark] .badge-danger{background-color:#ef444426;color:#fca5a5}.cm-image-previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.cm-image-preview{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:2px solid #e5e7eb}.cm-image-preview img{width:100%;height:100%;object-fit:cover}.cm-preview-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#ef4444d9;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0}.cm-preview-remove:hover{background:#ef4444}.cm-media-upload-images{grid-column:1 / -1}[data-theme=dark] .cm-image-preview{border-color:#374151}[data-theme=dark] .cm-header h1,[data-theme=dark] .cm-breadcrumb,[data-theme=dark] .cm-course-title,[data-theme=dark] .cm-sidebar-header h3,[data-theme=dark] .cm-modal-header h2,[data-theme=dark] .cm-detail-section h3,[data-theme=dark] .cm-media-section h3,[data-theme=dark] .cm-error h3{color:var(--text-primary)}[data-theme=dark] .cm-header p,[data-theme=dark] .cm-course-desc,[data-theme=dark] .cm-loading,[data-theme=dark] .cm-error,[data-theme=dark] .cm-empty{color:var(--text-tertiary)}[data-theme=dark] .cm-course-creator,[data-theme=dark] .cm-breadcrumb-sep{color:var(--text-muted)}[data-theme=dark] .cm-tree-item{color:var(--text-secondary)}[data-theme=dark] .cm-tree-item:hover{background:var(--bg-tertiary)}[data-theme=dark] .cm-tree-item.active{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .cm-tree-item.active .cm-tree-count{background:#fbbf2440;color:#fbbf24}[data-theme=dark] .cm-tree-count{background:var(--bg-tertiary);color:var(--text-muted)}[data-theme=dark] .cm-tree-toggle{color:var(--text-muted)}[data-theme=dark] .cm-tree-toggle:hover{color:var(--text-primary)}[data-theme=dark] .cm-tree-icon,[data-theme=dark] .cm-tree-actions button{color:var(--text-muted)}[data-theme=dark] .cm-tree-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .cm-tree-actions button.danger:hover{background:#ef444426;color:#ef4444}[data-theme=dark] .cm-sidebar{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .cm-sidebar-header{border-color:var(--border-color)}[data-theme=dark] .cm-course-card,[data-theme=dark] .cm-empty{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .cm-course-cover{background:var(--bg-tertiary)}[data-theme=dark] .cm-course-cover-placeholder{background:linear-gradient(135deg,#f59e0b33,#fbbf2426)}[data-theme=dark] .cm-course-footer{border-color:var(--border-color)}[data-theme=dark] .cm-icon-btn{background:var(--bg-tertiary);color:var(--text-tertiary)}[data-theme=dark] .cm-icon-btn:hover{background:#f59e0b;color:#fff}[data-theme=dark] .cm-icon-btn.danger:hover{background:#ef4444}[data-theme=dark] .cm-icon-btn.assign:hover{background:#d97706}[data-theme=dark] .cm-icon-btn.active{color:#34d399}[data-theme=dark] .cm-icon-btn.inactive{color:#6b7280}[data-theme=dark] .cm-icon-btn.reorder:hover{background:#8b5cf6}[data-theme=dark] .cm-course-inactive-badge{background:#4b5563e6}[data-theme=dark] .cm-search input{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .cm-search svg{color:var(--text-muted)}[data-theme=dark] .cm-modal{background:var(--surface-modal)}[data-theme=dark] .cm-modal-header{border-color:var(--border-color)}[data-theme=dark] .cm-modal-close{color:var(--text-muted)}[data-theme=dark] .cm-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .cm-form-group label{color:var(--text-secondary)}[data-theme=dark] .cm-form-group input,[data-theme=dark] .cm-form-group select,[data-theme=dark] .cm-form-group textarea{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .cm-modal-actions{border-color:var(--border-color)}[data-theme=dark] .cm-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .cm-btn-secondary:hover{background:var(--bg-hover)}[data-theme=dark] .cm-media-section,[data-theme=dark] .cm-media-upload{border-color:var(--border-color)}[data-theme=dark] .cm-media-upload:hover{border-color:#fbbf2480}[data-theme=dark] .cm-media-upload label{color:var(--text-secondary)}[data-theme=dark] .cm-media-upload input[type=file]{color:var(--text-muted)}[data-theme=dark] .cm-media-upload input[type=file]::file-selector-button{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .cm-media-existing{background:#05966926;color:#34d399}[data-theme=dark] .cm-detail-text{color:var(--text-secondary)}[data-theme=dark] .cm-detail-section h3{border-color:var(--border-color)}[data-theme=dark] .cm-detail-tag{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .cm-detail-tag.sub{background:#fbbf241a;color:#fde68a}[data-theme=dark] .cm-document-link{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .cm-document-link:hover{background:#f59e0b1a;border-color:#fbbf2466;color:#fbbf24}[data-theme=dark] .cm-document-link svg:last-child{color:var(--text-muted)}[data-theme=dark] .cm-video-player{background:#000}[data-theme=dark] .header-left h1{color:var(--text-primary)}[data-theme=dark] .header-left p{color:var(--text-secondary)}[data-theme=dark] .btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover{background-color:var(--bg-hover)}[data-theme=dark] .btn-icon{color:var(--text-secondary)}[data-theme=dark] .btn-icon:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .btn-icon.btn-danger:hover{background-color:var(--error-bg);color:var(--error-text)}[data-theme=dark] .stat-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .stat-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .stat-content h3{color:var(--text-primary)}[data-theme=dark] .stat-content p{color:var(--text-secondary)}[data-theme=dark] .search-box input{border-color:var(--input-border);background-color:var(--input-bg);color:var(--text-primary)}[data-theme=dark] .search-box input::placeholder{color:var(--text-muted)}[data-theme=dark] .search-box input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}[data-theme=dark] .filters-section select{border-color:var(--input-border);background-color:var(--input-bg);color:var(--text-primary)}[data-theme=dark] .filters-section select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}[data-theme=dark] .table-container{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .users-table thead{background-color:var(--bg-tertiary)}[data-theme=dark] .users-table th{color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .users-table tbody tr{border-bottom-color:var(--border-color-light)}[data-theme=dark] .users-table tbody tr:hover{background-color:var(--bg-hover)}[data-theme=dark] .users-table td{color:var(--text-secondary)}[data-theme=dark] .user-name{color:var(--text-primary)}[data-theme=dark] .badge-student{background-color:#eab30826;color:#fde68a}[data-theme=dark] .badge-instructor{background-color:#f59e0b26;color:#fbbf24}[data-theme=dark] .badge-active{background-color:var(--success-bg);color:var(--success-text)}[data-theme=dark] .badge-inactive{background-color:var(--error-bg);color:var(--error-text)}[data-theme=dark] .no-data{color:var(--text-muted)}[data-theme=dark] .modal-overlay{background-color:#000000b3}[data-theme=dark] .modal-content{background:var(--surface-modal);box-shadow:0 20px 25px -5px #0006}[data-theme=dark] .modal-header{border-bottom-color:var(--border-color)}[data-theme=dark] .modal-header h2{color:var(--text-primary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{border-color:var(--input-border);background-color:var(--input-bg);color:var(--text-primary)}[data-theme=dark] .form-group input::placeholder{color:var(--text-muted)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}[data-theme=dark] .modal-actions{border-top-color:var(--border-color)}[data-theme=dark] .user-header{border-bottom-color:var(--border-color)}[data-theme=dark] .user-main-info h3{color:var(--text-primary)}[data-theme=dark] .info-item{background-color:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .info-icon{color:var(--text-secondary)}[data-theme=dark] .info-content label{color:var(--text-muted)}[data-theme=dark] .info-content p{color:var(--text-primary)}[data-theme=dark] .user-bio{background-color:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .user-bio h4{color:var(--text-primary)}[data-theme=dark] .user-bio p{color:var(--text-secondary)}[data-theme=dark] .view-modal-actions{border-top-color:var(--border-color)}[data-theme=dark] .actions .btn-view{color:#fbbf24}[data-theme=dark] .actions .btn-view:hover{background-color:#f59e0b26}[data-theme=dark] .actions .btn-edit:hover{background-color:#10b98126}.dashboard-page{max-width:1400px;margin:0;padding:0 20px}.dashboard-header{margin-bottom:32px}.header-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.header-text h1{font-size:32px;font-weight:800;color:#111827;margin:0 0 8px;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-text p{font-size:15px;color:#6b7280;margin:0}.header-actions{display:flex;align-items:center;gap:16px}.last-updated{display:flex;align-items:center;gap:6px;font-size:13px;color:#9ca3af}.last-updated svg{font-size:16px}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #f59e0b4d}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.refresh-btn svg{font-size:18px}.quick-actions-section{margin-bottom:32px}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#fff;border:2px solid #f3f4f6;border-radius:12px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .3s ease}.quick-action-btn:hover{border-color:var(--action-color);color:var(--action-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.quick-action-btn svg{font-size:20px;color:var(--action-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:40px}.stats-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;transition:all .3s ease;border:1px solid #f3f4f6}.stats-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.stats-card.clickable{cursor:pointer}.stats-card.clickable:hover{border-color:#e5e7eb}.stats-card.clickable:active{transform:translateY(-2px)}.stats-card-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.stats-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid #f3f4f6;font-size:14px;font-weight:500;color:#6b7280;transition:all .3s ease}.stats-card.clickable:hover .stats-card-footer{color:#f59e0b;gap:12px}.stats-card-footer svg{font-size:18px;transition:transform .3s ease}.stats-card.clickable:hover .stats-card-footer svg{transform:translate(4px)}.stats-info{flex:1}.stats-title{font-size:13px;font-weight:600;color:#6b7280;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.stats-value{font-size:36px;font-weight:800;color:#111827;margin:0 0 8px;line-height:1}.stats-footer-info{display:flex;align-items:center;gap:12px}.stats-subtitle{font-size:13px;color:#9ca3af;margin:0}.stats-trend{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;padding:4px 8px;border-radius:6px}.stats-trend.up{color:#10b981;background:#ecfdf5}.stats-trend.down{color:#ef4444;background:#fef2f2}.stats-trend svg{font-size:14px}.stats-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.charts-section{margin-top:24px}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.chart-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014;transition:all .3s ease;border:1px solid #f3f4f6}.chart-card:hover{box-shadow:0 10px 15px -3px #0000001a}.chart-card.large{grid-column:span 2}.chart-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.chart-header h3{font-size:18px;font-weight:700;color:#111827;margin:0 0 6px}.chart-subtitle{font-size:14px;color:#6b7280;margin:0}.view-all-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.view-all-btn:hover{background:#f59e0b;border-color:#f59e0b;color:#fff}.view-all-btn svg{font-size:16px;transition:transform .2s ease}.view-all-btn:hover svg{transform:translate(3px)}.chart-container{width:100%;height:300px}.performance-card{min-width:300px}.performance-content{display:flex;align-items:center;gap:32px}.performance-chart{flex:1}.performance-stats{display:flex;flex-direction:column;gap:16px}.perf-stat{display:flex;flex-direction:column;padding:12px 16px;border-radius:10px;min-width:100px}.perf-stat.success{background:#ecfdf5}.perf-stat.failure{background:#fef2f2}.perf-stat.total{background:#f3f4f6}.perf-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.perf-value{font-size:24px;font-weight:800;margin-top:4px}.perf-stat.success .perf-value{color:#10b981}.perf-stat.failure .perf-value{color:#ef4444}.perf-stat.total .perf-value{color:#374151}.recent-results-card{flex:2}.results-table-container{overflow-x:auto}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.score-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#f3f4f6;border-radius:20px;font-size:13px;font-weight:600;color:#374151}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#9ca3af}.no-results svg{font-size:48px;margin-bottom:12px}.no-results p{font-size:14px;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center}.error-icon{font-size:64px;color:#f59e0b}.error-container h3{color:#111827;font-size:20px;font-weight:700;margin:0}.error-container p{color:#6b7280;margin:0;max-width:400px}.retry-button{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:14px 28px;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;box-shadow:0 4px 14px #f59e0b4d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.retry-button svg{font-size:18px}@media(max-width:1200px){.chart-card.large{grid-column:span 1}}@media(max-width:768px){.dashboard-page{padding:0 16px}.header-content{flex-direction:column}.header-actions{width:100%;justify-content:space-between}.header-text h1{font-size:24px}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-btn{padding:12px 16px;font-size:13px}.stats-grid{grid-template-columns:1fr;gap:16px}.stats-card{padding:20px}.stats-value{font-size:28px}.stats-icon{width:48px;height:48px;font-size:24px}.charts-row{grid-template-columns:1fr;gap:16px}.chart-card{padding:16px}.chart-container{height:250px}.performance-content{flex-direction:column}.performance-stats{flex-direction:row;width:100%;justify-content:space-around}.perf-stat{min-width:auto;flex:1;text-align:center}.results-table th,.results-table td{padding:12px 8px;font-size:12px}.user-avatar{width:28px;height:28px;font-size:12px}}@media(max-width:480px){.header-text h1{font-size:20px}.quick-actions-grid{grid-template-columns:1fr 1fr}.quick-action-btn span{display:none}.quick-action-btn{justify-content:center;padding:16px}.quick-action-btn svg{font-size:24px}.stats-footer-info{flex-direction:column;align-items:flex-start;gap:8px}.performance-stats{flex-direction:column}}.completion-section{margin-bottom:32px}.completion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.completion-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014;border:1px solid #f3f4f6}.completion-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.completion-icon{font-size:32px;padding:8px;border-radius:10px}.completion-icon.courses{color:#d97706;background:#fffbeb}.completion-icon.exams{color:#f59e0b;background:#fffbeb}.completion-header h4{margin:0;font-size:16px;font-weight:700;color:#111827}.completion-header p{margin:4px 0 0;font-size:13px;color:#6b7280}.progress-bar-container{width:100%;height:10px;background:#f3f4f6;border-radius:10px;overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;border-radius:10px;transition:width .8s ease}.progress-bar.courses{background:linear-gradient(90deg,#d97706,#f59e0b)}.progress-bar.exams{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.completion-rate{font-size:14px;font-weight:700;color:#374151}.students-list{display:flex;flex-direction:column;gap:4px}.student-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;transition:background .2s ease}.student-row:hover{background:#f9fafb}.student-row.clickable-row{cursor:pointer}.student-row.clickable-row:hover{background:#f3f4f6}.student-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.student-rank.top{background:#fffbeb;color:#f59e0b}.student-rank.struggling{background:#fef2f2;color:#ef4444}.student-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.student-avatar.struggling{background:linear-gradient(135deg,#b45309,#92400e)}.student-info{flex:1;min-width:0}.student-name{display:block;font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-email{display:block;font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-score{font-size:16px;font-weight:800;flex-shrink:0}.student-score.top{color:#10b981}.student-score.struggling{color:#ef4444}.student-exams{font-size:12px;color:#6b7280;white-space:nowrap;flex-shrink:0}.student-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:#6b7280;text-decoration:none;transition:all .2s ease;flex-shrink:0}.student-action:hover{background:#fffbeb;color:#f59e0b}.student-action svg{font-size:18px}@media(max-width:768px){.completion-grid{grid-template-columns:1fr}.student-email,.student-exams{display:none}}@media(max-width:480px){.student-row{padding:8px;gap:8px}.student-avatar{width:30px;height:30px;font-size:12px}}[data-theme=dark] .header-text h1{background:linear-gradient(135deg,#f9fafb,#d1d5db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .header-text p,[data-theme=dark] .chart-subtitle,[data-theme=dark] .stats-title,[data-theme=dark] .perf-label,[data-theme=dark] .results-table th,[data-theme=dark] .stats-card-footer,[data-theme=dark] .last-updated,[data-theme=dark] .error-container p{color:var(--text-tertiary)}[data-theme=dark] .stats-value,[data-theme=dark] .chart-header h3,[data-theme=dark] .error-container h3{color:var(--text-primary)}[data-theme=dark] .stats-subtitle{color:var(--text-muted)}[data-theme=dark] .quick-action-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .quick-action-btn:hover{border-color:var(--action-color);color:var(--action-color)}[data-theme=dark] .stats-card{background:var(--surface-card);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .stats-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .stats-card-footer{border-top-color:var(--border-color)}[data-theme=dark] .chart-card{background:var(--surface-card);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .chart-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .results-table td{color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .results-table th{border-bottom-color:var(--border-color)}[data-theme=dark] .score-badge{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .perf-stat.success{background:var(--success-bg)}[data-theme=dark] .perf-stat.failure{background:var(--error-bg)}[data-theme=dark] .perf-stat.total{background:var(--bg-tertiary)}[data-theme=dark] .perf-stat.total .perf-value{color:var(--text-primary)}[data-theme=dark] .no-results{color:var(--text-muted)}[data-theme=dark] .stats-trend.up{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .stats-trend.down{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .completion-card{background:var(--surface-card);border-color:var(--border-color)}[data-theme=dark] .completion-header h4{color:var(--text-primary)}[data-theme=dark] .completion-header p{color:var(--text-tertiary)}[data-theme=dark] .progress-bar-container{background:var(--bg-tertiary)}[data-theme=dark] .completion-rate{color:var(--text-secondary)}[data-theme=dark] .student-row:hover{background:var(--bg-hover)}[data-theme=dark] .student-name{color:var(--text-primary)}[data-theme=dark] .student-email{color:var(--text-muted)}[data-theme=dark] .student-exams,[data-theme=dark] .student-action{color:var(--text-tertiary)}[data-theme=dark] .student-action:hover{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .view-all-btn{border-color:var(--border-color);color:var(--text-tertiary)}[data-theme=dark] .view-all-btn:hover{background:#f59e0b;border-color:#f59e0b;color:#fff}[data-theme=dark] .student-row.clickable-row:hover{background:var(--bg-hover)}.student-dashboard{padding:24px;max-width:1400px;margin:0 auto}.student-dashboard .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.student-dashboard .spinner-large{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #f59e0b;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.student-dashboard .dashboard-header{margin-bottom:24px}.student-dashboard .header-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.student-dashboard .header-text h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin:0 0 8px;display:flex;align-items:center;gap:12px}.student-dashboard .header-text h1 svg{color:#f59e0b}.student-dashboard .header-text p{color:#6b7280;margin:0}.student-dashboard .header-actions{display:flex;align-items:center;gap:16px}.student-dashboard .last-updated{display:flex;align-items:center;gap:6px;color:#9ca3af;font-size:.85rem}.student-dashboard .refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#b45309;font-weight:500;cursor:pointer;transition:all .2s}.student-dashboard .refresh-btn:hover{background:#fef3c7}.student-dashboard .quick-actions-section{margin-bottom:24px}.student-dashboard .quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.student-dashboard .quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;color:#374151}.student-dashboard .quick-action-btn svg{font-size:1.75rem;color:#f59e0b}.student-dashboard .quick-action-btn:hover{border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b0d,#f59e0b1f);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b26}.student-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.student-dashboard .stats-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.student-dashboard .stats-card.clickable{cursor:pointer}.student-dashboard .stats-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.student-dashboard .stats-card-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.student-dashboard .stats-info{flex:1}.student-dashboard .stats-title{font-size:.85rem;color:#6b7280;font-weight:500;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.student-dashboard .stats-value{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 4px}.student-dashboard .stats-subtitle{font-size:.85rem;color:#9ca3af}.student-dashboard .stats-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.student-dashboard .stats-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #f3f4f6;color:#6b7280;font-size:.85rem}.student-dashboard .stats-card-footer svg{transition:transform .2s}.student-dashboard .stats-card:hover .stats-card-footer svg{transform:translate(4px)}.student-dashboard .content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.student-dashboard .content-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.student-dashboard .content-card.full-width{grid-column:1 / -1}.student-dashboard .card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f3f4f6}.student-dashboard .card-header h2{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:10px}.student-dashboard .card-header h2 svg{color:#f59e0b}.student-dashboard .view-all-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#b45309;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.student-dashboard .view-all-btn:hover{background:#fef3c7;color:#92400e}.student-dashboard .card-content{padding:20px}.student-dashboard .items-list{display:flex;flex-direction:column;gap:12px}.student-dashboard .item-card{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;transition:all .2s}.student-dashboard .item-card:hover{background:#f3f4f6}.student-dashboard .item-image{width:64px;height:64px;border-radius:10px;overflow:hidden;flex-shrink:0}.student-dashboard .item-image img{width:100%;height:100%;object-fit:cover}.student-dashboard .placeholder-image{width:100%;height:100%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.student-dashboard .item-badge{width:64px;height:64px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0}.student-dashboard .item-info{flex:1;min-width:0}.student-dashboard .item-info h4{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-dashboard .item-info p{font-size:.85rem;color:#6b7280;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-dashboard .item-category{display:inline-block;padding:4px 10px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:.75rem;font-weight:500}.student-dashboard .exam-meta{display:flex;gap:12px;margin-bottom:8px;color:#6b7280;font-size:.8rem}.student-dashboard .exam-meta span{display:flex;align-items:center;gap:4px}.student-dashboard .level-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.student-dashboard .level-badge.debutant{background:#fef9c3;color:#b45309}.student-dashboard .level-badge.intermediaire{background:#fef3c7;color:#92400e}.student-dashboard .level-badge.avance{background:#fde68a;color:#78350f}.student-dashboard .item-action-btn{width:44px;height:44px;border-radius:50%;border:none;background:#fffbeb;color:#f59e0b;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:all .2s;flex-shrink:0}.student-dashboard .item-action-btn:hover{background:#f59e0b;color:#fff}.student-dashboard .item-action-btn.primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.student-dashboard .item-action-btn.primary:hover{transform:scale(1.1)}.student-dashboard .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.student-dashboard .empty-icon{font-size:3rem;color:#d1d5db;margin-bottom:16px}.student-dashboard .empty-state p{color:#6b7280;font-size:1rem;margin:0 0 4px}.student-dashboard .empty-state small{color:#9ca3af;font-size:.85rem;display:block;margin-bottom:16px}.student-dashboard .btn-secondary{padding:10px 20px;background:#fff;border:2px solid #f59e0b;border-radius:8px;color:#f59e0b;font-weight:500;cursor:pointer;transition:all .2s}.student-dashboard .btn-secondary:hover{background:#f59e0b;color:#fff}.student-dashboard .results-section{margin-bottom:24px}.student-dashboard .results-table-container{overflow-x:auto}.student-dashboard .results-table{width:100%;border-collapse:collapse}.student-dashboard .results-table th,.student-dashboard .results-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.student-dashboard .results-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.student-dashboard .results-table tbody tr:hover{background:#f9fafb}.student-dashboard .exam-name{display:flex;align-items:center;gap:10px}.student-dashboard .exam-icon{color:#f59e0b}.student-dashboard .score-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-weight:600;font-size:.85rem}.student-dashboard .score-badge.high{background:#d1fae5;color:#047857}.student-dashboard .score-badge.medium{background:#fef3c7;color:#b45309}.student-dashboard .score-badge.low{background:#fee2e2;color:#b91c1c}.student-dashboard .status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-weight:500;font-size:.85rem}.student-dashboard .status-badge.passed{background:#d1fae5;color:#047857}.student-dashboard .status-badge.failed{background:#fee2e2;color:#b91c1c}.student-dashboard .date{color:#6b7280;font-size:.85rem}.student-dashboard .progress-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:16px;padding:24px 32px;color:#fff}.student-dashboard .progress-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.student-dashboard .progress-text h3{font-size:1.25rem;font-weight:700;margin:0 0 8px}.student-dashboard .progress-text p{margin:0;opacity:.9}.student-dashboard .btn-primary{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#fff;border:none;border-radius:10px;color:#d97706;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.student-dashboard .btn-primary:hover{transform:scale(1.05);box-shadow:0 4px 15px #0003}@media(max-width:768px){.student-dashboard{padding:16px}.student-dashboard .header-content{flex-direction:column}.student-dashboard .header-text h1{font-size:1.5rem}.student-dashboard .header-actions{width:100%;justify-content:space-between}.student-dashboard .content-grid{grid-template-columns:1fr}.student-dashboard .quick-actions-grid,.student-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard .progress-content{flex-direction:column;text-align:center}.student-dashboard .item-card{flex-wrap:wrap}.student-dashboard .item-info{flex:1 1 calc(100% - 80px)}.student-dashboard .item-action-btn{margin-left:auto}}.progress-section{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-bottom:24px}.progress-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000000d}.progress-card h3{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#111827;margin:0 0 16px}.global-progress{text-align:center}.global-progress-circle{display:flex;justify-content:center;margin:20px 0}.circle-progress{width:120px;height:120px;border-radius:50%;background:conic-gradient(#f59e0b 0deg calc(var(--progress) * 3.6deg),#e5e7eb calc(var(--progress) * 3.6deg));display:flex;align-items:center;justify-content:center;position:relative}.circle-progress:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#fff}.circle-progress span{position:relative;font-size:24px;font-weight:700;color:#111827}.category-chart{height:250px;width:100%}.category-bars{display:flex;flex-direction:column;gap:16px}.category-bar-item{display:flex;flex-direction:column;gap:6px}.category-bar-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#374151;font-weight:500}.category-bar-track{width:100%;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.category-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:5px;transition:width .6s ease;min-width:2px}[data-theme=dark] .category-bar-label{color:var(--text-secondary)}[data-theme=dark] .category-bar-track{background:var(--bg-tertiary)}@media(max-width:768px){.progress-section{grid-template-columns:1fr}}.recommendations-section{margin-bottom:24px}.reco-list{list-style:none;padding:0;margin:0}.reco-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.reco-item:last-child{border-bottom:none}.reco-icon{font-size:20px;flex-shrink:0}.reco-content{display:flex;flex-direction:column}.reco-title{font-weight:500;color:#111827}.reco-reason{font-size:13px;color:#6b7280;margin-top:2px}[data-theme=dark] .progress-card{background:var(--surface-card)}[data-theme=dark] .progress-card h3{color:var(--text-primary)}[data-theme=dark] .circle-progress:before{background:var(--surface-card)}[data-theme=dark] .circle-progress span{color:var(--text-primary)}[data-theme=dark] .reco-item{border-bottom-color:var(--border-color)}[data-theme=dark] .reco-title{color:var(--text-primary)}[data-theme=dark] .reco-reason{color:var(--text-tertiary)}@media(max-width:480px){.student-dashboard .stats-grid{grid-template-columns:1fr}.student-dashboard .quick-actions-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard .stats-value{font-size:1.5rem}.student-dashboard .results-table th,.student-dashboard .results-table td{padding:10px 8px;font-size:.85rem}}[data-theme=dark] .student-dashboard .header-text h1{color:var(--text-primary)}[data-theme=dark] .student-dashboard .header-text p,[data-theme=dark] .student-dashboard .stats-title,[data-theme=dark] .student-dashboard .item-info p,[data-theme=dark] .student-dashboard .exam-meta,[data-theme=dark] .student-dashboard .stats-card-footer,[data-theme=dark] .student-dashboard .last-updated,[data-theme=dark] .student-dashboard .date,[data-theme=dark] .student-dashboard .empty-state p{color:var(--text-tertiary)}[data-theme=dark] .student-dashboard .stats-value,[data-theme=dark] .student-dashboard .card-header h2,[data-theme=dark] .student-dashboard .item-info h4{color:var(--text-primary)}[data-theme=dark] .student-dashboard .stats-subtitle,[data-theme=dark] .student-dashboard .empty-state small{color:var(--text-muted)}[data-theme=dark] .student-dashboard .loading-container{color:var(--text-tertiary)}[data-theme=dark] .student-dashboard .spinner-large{border-color:var(--border-color);border-top-color:#f59e0b}[data-theme=dark] .student-dashboard .quick-action-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .student-dashboard .stats-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .student-dashboard .stats-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .student-dashboard .stats-card-footer{border-top-color:var(--border-color)}[data-theme=dark] .student-dashboard .content-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .student-dashboard .card-header{border-bottom-color:var(--border-color)}[data-theme=dark] .student-dashboard .view-all-btn{background:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}[data-theme=dark] .student-dashboard .view-all-btn:hover{background:#f59e0b2e;color:#fde68a}[data-theme=dark] .student-dashboard .item-card{background:var(--bg-tertiary)}[data-theme=dark] .student-dashboard .item-card:hover{background:var(--bg-hover)}[data-theme=dark] .student-dashboard .item-action-btn{background:#f59e0b1a;color:#fbbf24}[data-theme=dark] .student-dashboard .item-action-btn:hover{background:#f59e0b;color:#fff}[data-theme=dark] .student-dashboard .item-category{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .student-dashboard .refresh-btn{background:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}[data-theme=dark] .student-dashboard .refresh-btn:hover{background:#f59e0b2e}[data-theme=dark] .student-dashboard .results-table th{background:var(--bg-tertiary);color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .student-dashboard .results-table td{border-bottom-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .student-dashboard .results-table tbody tr:hover{background:var(--bg-hover)}[data-theme=dark] .student-dashboard .score-badge.high{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .student-dashboard .score-badge.medium{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .student-dashboard .score-badge.low{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .student-dashboard .status-badge.passed{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .student-dashboard .status-badge.failed{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .student-dashboard .level-badge.debutant{background:#fbbf2426;color:#fde68a}[data-theme=dark] .student-dashboard .level-badge.intermediaire{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .student-dashboard .level-badge.avance{background:#b4530933;color:#fbbf24}[data-theme=dark] .student-dashboard .empty-icon{color:var(--text-muted)}[data-theme=dark] .student-dashboard .btn-secondary{background:var(--surface-card);border-color:#f59e0b;color:#f59e0b}[data-theme=dark] .student-dashboard .btn-secondary:hover{background:#f59e0b;color:#fff}.carousel-container{position:relative;width:100%;overflow:hidden;border-radius:10px;background:#f3f4f6}.carousel-single{overflow:hidden;border-radius:10px}.carousel-single img{width:100%;height:100%;object-fit:cover;display:block}.carousel-track{display:flex;height:100%;transition:transform .4s ease-in-out}.carousel-slide{min-width:100%;height:100%}.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s,transform .2s}.carousel-btn:hover{background:#000000bf;transform:translateY(-50%) scale(1.1)}.carousel-btn-prev{left:8px}.carousel-btn-next{right:8px}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.carousel-dot{width:8px;height:8px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:transparent;cursor:pointer;padding:0;transition:background .2s,transform .2s}.carousel-dot.active{background:#fff;transform:scale(1.2)}.carousel-dot:hover{background:#fff9}.carousel-counter{position:absolute;top:10px;right:10px;background:#0000008c;color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;z-index:2}[data-theme=dark] .carousel-container,[data-theme=dark] .carousel-single{background:var(--bg-tertiary, #1f2937)}.exam-management{max-width:1400px;margin:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header-left h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 4px}.header-left p{font-size:14px;color:#6b7280;margin:0}.exam-management .btn-primary,.btn-primary{background-color:#f59e0b!important;color:#fff!important;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.exam-management .btn-primary:hover,.btn-primary:hover{background-color:#d97706!important;transform:translateY(-1px);box-shadow:0 4px 6px #f59e0b4d}.btn-secondary{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#fef3c7}.btn-icon{background:none;border:none;color:#f59e0b;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;font-size:20px;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:#fffbeb;color:#d97706}.btn-icon.btn-danger:hover{background-color:#fee2e2;color:#dc2626}.btn-icon.btn-success{color:#d97706}.btn-icon.btn-success:hover{background-color:#fef3c7;color:#92400e}.btn-close{background:none;border:none;color:#d97706;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:24px;transition:all .2s}.btn-close:hover{background-color:#fffbeb;color:#92400e}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;flex-shrink:0}.stat-content h3{font-size:28px;font-weight:700;color:#111827;margin:0 0 4px}.stat-content p{font-size:14px;color:#6b7280;margin:0}.filters-section{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:#9ca3af;font-size:20px}.search-box input{width:100%;padding:10px 12px 10px 40px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s}.search-box input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.filters-section select{padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background-color:#fff;cursor:pointer;transition:all .2s}.filters-section select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:32px}.exam-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.exam-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.exam-card-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.exam-type-badge{font-size:12px;font-weight:600;color:#92400e;background-color:#fef3c7;padding:4px 12px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.exam-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.exam-course{font-size:14px;color:#6b7280;margin:0 0 16px}.exam-details{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.exam-detail-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.exam-detail-item svg{font-size:16px;color:#f59e0b}.exam-scheduled{font-size:14px;color:#374151;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.exam-progress{margin-bottom:16px}.progress-info{display:flex;justify-content:space-between;font-size:13px;color:#6b7280;margin-bottom:8px}.progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:4px;transition:width .3s ease}.exam-results{display:flex;gap:16px;margin-bottom:16px;padding:12px;background-color:#f9fafb;border-radius:8px}.result-item{flex:1;display:flex;flex-direction:column;gap:4px}.result-item span:first-child{font-size:13px;color:#6b7280}.result-value{font-size:20px;font-weight:700;color:#111827}.result-value.success{color:#10b981}.exam-card-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}.exam-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:16px;border-top:1px solid #f3f4f6;margin-top:auto}.exam-actions .btn-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s ease;border:1px solid transparent}.exam-actions .btn-view{background-color:#fffbeb;color:#b45309;border-color:#fde68a}.exam-actions .btn-view:hover{background-color:#f59e0b;color:#fff;border-color:#f59e0b;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b59}.exam-actions .btn-questions{background-color:#fef9c3;color:#92400e;border-color:#fde68a}.exam-actions .btn-questions:hover{background-color:#d97706;color:#fff;border-color:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #d9770659}.exam-actions .btn-stats{background-color:#fef3c7;color:#78350f;border-color:#fbbf24}.exam-actions .btn-stats:hover{background-color:#b45309;color:#fff;border-color:#b45309;transform:translateY(-2px);box-shadow:0 4px 12px #b4530959}.exam-actions .btn-edit{background-color:#fff7ed;color:#f59e0b;border-color:#fed7aa}.exam-actions .btn-edit:hover{background-color:#f59e0b;color:#fff;border-color:#f59e0b;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b59}.exam-actions .btn-delete{background-color:#fef2f2;color:#ef4444;border-color:#fecaca}.exam-actions .btn-delete:hover{background-color:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 12px #ef444459}.exam-actions .btn-icon{position:relative}.exam-actions .btn-icon:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;background-color:#1f2937;color:#fff;font-size:12px;font-weight:500;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;margin-bottom:8px}.exam-actions .btn-icon:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:all .2s ease;margin-bottom:-4px}.exam-actions .btn-icon:hover:after,.exam-actions .btn-icon:hover:before{opacity:1;visibility:visible}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge svg{font-size:14px}.badge-published,.badge-draft{background-color:#fef3c7;color:#92400e}.badge-completed,.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.no-data{padding:60px 20px;text-align:center;color:#9ca3af;background:#fff;border-radius:12px}.no-data svg{font-size:64px;margin-bottom:16px;opacity:.5}.no-data p{font-size:16px;margin:0}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-large{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:20px;font-weight:600;color:#111827;margin:0}.modal-content form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.submissions-content{padding:24px}.submissions-summary{display:flex;gap:24px;margin-bottom:24px;padding:16px;background-color:#f9fafb;border-radius:8px}.submissions-summary p{margin:0;font-size:14px;color:#374151}.submissions-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.submissions-table{width:100%;border-collapse:collapse}.submissions-table thead{background-color:#f9fafb}.submissions-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.submissions-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.submissions-table tbody tr:hover{background-color:#f9fafb}.submissions-table tbody tr:last-child{border-bottom:none}.submissions-table td{padding:12px 16px;font-size:14px;color:#374151}.score-pass{color:#10b981;font-weight:600}.score-fail{color:#ef4444;font-weight:600}.no-submissions{padding:40px;text-align:center;color:#9ca3af}.stats-content{padding:24px}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-overview-item{text-align:center;padding:20px;background-color:#f9fafb;border-radius:10px}.stat-overview-item.success{background-color:#d1fae5}.stat-overview-value{font-size:32px;font-weight:700;color:#111827;margin-bottom:8px}.stat-overview-item.success .stat-overview-value{color:#10b981}.stat-overview-label{font-size:13px;color:#6b7280}.stats-details{margin-top:24px}.stats-details h3{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px}.score-distribution{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.score-range{display:grid;grid-template-columns:80px 1fr 60px;align-items:center;gap:12px}.score-range>span:first-child{font-size:14px;color:#6b7280;font-weight:500}.score-range>span:last-child{font-size:14px;color:#374151;font-weight:600;text-align:right}.score-bar{height:32px;background-color:#e5e7eb;border-radius:6px;overflow:hidden}.score-bar-fill{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:12px;font-weight:600}.score-bar-fill.fail{background-color:#ef4444}.score-bar-fill.warning{background-color:#f59e0b}.score-bar-fill.good{background-color:#10b981}.score-bar-fill.excellent{background-color:#b45309}.stats-info-box{padding:20px;background-color:#f9fafb;border-left:4px solid #f59e0b;border-radius:8px}.stats-info-box h4{font-size:16px;font-weight:600;color:#111827;margin:0 0 12px}.stats-info-box p{font-size:14px;color:#374151;line-height:1.6;margin:0 0 8px}.stats-info-box p:last-child{margin-bottom:0}@media(max-width:1024px){.exam-management{max-width:100%}.exams-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.stats-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-primary{width:100%;justify-content:center}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-icon{width:40px;height:40px;font-size:20px}.stat-content h3{font-size:24px}.filters-section{flex-direction:column;gap:12px}.search-box{min-width:100%}.filters-section select{width:100%}.exams-grid{grid-template-columns:1fr;gap:16px}.exam-card{padding:20px}.exam-details{flex-direction:column;gap:8px}.exam-card-footer{flex-wrap:wrap;justify-content:space-between}.btn-icon{padding:6px;font-size:18px}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%;justify-content:center}.stats-overview{grid-template-columns:1fr;gap:12px}.stat-overview-item{padding:16px}.stat-overview-value{font-size:28px}.score-range{grid-template-columns:70px 1fr 50px;gap:8px}.score-bar{height:28px}.submissions-summary{flex-direction:column;gap:8px}.submissions-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.submissions-table{min-width:700px}.submissions-table th,.submissions-table td{padding:10px 12px;font-size:13px}}@media(max-width:480px){.header-left h1{font-size:24px}.exam-title{font-size:16px}.stat-icon{width:36px;height:36px;font-size:18px}.stat-content h3{font-size:20px}.stat-overview-value{font-size:24px}.submissions-table{min-width:600px}}[data-theme=dark] .header-left h1,[data-theme=dark] .exam-title,[data-theme=dark] .stat-content h3,[data-theme=dark] .modal-header h2,[data-theme=dark] .result-value,[data-theme=dark] .stat-overview-value,[data-theme=dark] .stats-details h3,[data-theme=dark] .stats-info-box h4{color:var(--text-primary)}[data-theme=dark] .header-left p,[data-theme=dark] .stat-content p,[data-theme=dark] .exam-course,[data-theme=dark] .exam-detail-item,[data-theme=dark] .progress-info,[data-theme=dark] .result-item span:first-child,[data-theme=dark] .stat-overview-label,[data-theme=dark] .score-range>span:first-child,[data-theme=dark] .no-data,[data-theme=dark] .no-submissions{color:var(--text-tertiary)}[data-theme=dark] .form-group label,[data-theme=dark] .exam-scheduled,[data-theme=dark] .submissions-summary p,[data-theme=dark] .submissions-table td,[data-theme=dark] .score-range>span:last-child,[data-theme=dark] .stats-info-box p{color:var(--text-secondary)}[data-theme=dark] .btn-icon{color:#fbbf24}[data-theme=dark] .btn-icon:hover{background-color:#f59e0b26;color:#fcd34d}[data-theme=dark] .btn-close{color:var(--text-muted)}[data-theme=dark] .btn-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .stat-card,[data-theme=dark] .exam-card,[data-theme=dark] .no-data{background-color:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .modal-content{background-color:var(--surface-modal)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-actions,[data-theme=dark] .exam-scheduled,[data-theme=dark] .exam-actions{border-color:var(--border-color)}[data-theme=dark] .search-box input,[data-theme=dark] .filters-section select,[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .search-box svg{color:var(--text-muted)}[data-theme=dark] .progress-bar,[data-theme=dark] .score-bar,[data-theme=dark] .exam-results,[data-theme=dark] .stat-overview-item,[data-theme=dark] .stats-info-box{background-color:var(--bg-tertiary)}[data-theme=dark] .stat-overview-item.success{background-color:var(--success-bg)}[data-theme=dark] .submissions-table-container{border-color:var(--border-color)}[data-theme=dark] .submissions-table thead{background-color:var(--bg-tertiary)}[data-theme=dark] .submissions-table th{color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .submissions-table tbody tr{border-bottom-color:var(--border-color)}[data-theme=dark] .submissions-table tbody tr:hover{background-color:var(--bg-hover)}[data-theme=dark] .submissions-summary{background-color:var(--bg-tertiary)}[data-theme=dark] .badge-published,[data-theme=dark] .badge-draft{background-color:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .badge-completed,[data-theme=dark] .badge-success{background-color:var(--success-bg);color:var(--success-text)}[data-theme=dark] .badge-warning,[data-theme=dark] .exam-type-badge{background-color:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .btn-icon.btn-danger:hover{background-color:var(--error-bg);color:#ef4444}[data-theme=dark] .exam-actions .btn-view{background-color:#f59e0b26;border-color:#f59e0b4d}[data-theme=dark] .exam-actions .btn-questions{background-color:#d9770626;border-color:#d977064d}[data-theme=dark] .exam-actions .btn-stats{background-color:#b4530926;border-color:#b453094d}[data-theme=dark] .exam-actions .btn-edit{background-color:#f59e0b26;border-color:#f59e0b4d}[data-theme=dark] .exam-actions .btn-delete{background-color:#ef444426;border-color:#ef44444d}.admin-profile{max-width:1400px;margin:0;padding-bottom:40px}.profile-header{background:linear-gradient(120deg,#fbbf24,#f59e0b);border-radius:16px;padding:40px;margin-bottom:32px;box-shadow:0 4px 20px #f59e0b33;position:relative;overflow:hidden}.profile-header:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.6;z-index:0}.profile-header-content{display:flex;align-items:center;gap:40px;position:relative;z-index:1}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px}.profile-avatar-large{width:120px;height:120px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#f59e0b;font-size:60px;box-shadow:0 4px 16px #00000026;border:4px solid white;transition:transform .3s ease}.profile-avatar-large:hover{transform:scale(1.05)}.change-avatar-btn{background:#fff;color:#f59e0b;border:none;padding:10px 20px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.change-avatar-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.profile-info{flex:1;color:#fff}.profile-info h1{font-size:32px;font-weight:700;margin:0 0 10px;letter-spacing:-.3px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.profile-role{font-size:16px;font-weight:600;margin:0 0 10px;opacity:.95;display:inline-block;background:#ffffff40;padding:6px 14px;border-radius:16px}.profile-joined{font-size:14px;margin:8px 0 0;opacity:.9;display:flex;align-items:center;gap:6px}.activity-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:32px}.activity-stat-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px #0000000f;display:flex;align-items:center;gap:24px;transition:all .3s ease;border:1px solid #f3f4f6}.activity-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#fbbf24}.activity-stat-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;flex-shrink:0;box-shadow:0 4px 12px #00000026}.activity-stat-content h3{font-size:32px;font-weight:700;color:#111827;margin:0 0 6px;letter-spacing:-.5px}.activity-stat-content p{font-size:14px;color:#6b7280;margin:0;font-weight:500}.profile-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px}.profile-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f;border:1px solid #f3f4f6;transition:box-shadow .3s ease}.profile-section:hover{box-shadow:0 8px 16px #00000014}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}.section-header h2{font-size:22px;font-weight:700;color:#111827;margin:0;display:flex;align-items:center;gap:10px;letter-spacing:-.3px}.section-header h2 svg{color:#f59e0b;font-size:26px}.edit-actions{display:flex;gap:10px}.btn-icon-primary,.btn-icon-success,.btn-icon-secondary{border:none;padding:11px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .3s ease;box-shadow:0 1px 3px #0000001a}.btn-icon-primary{background-color:#f59e0b;color:#fff}.btn-icon-primary:hover{background-color:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.btn-icon-success{background-color:#d97706;color:#fff}.btn-icon-success:hover{background-color:#b45309;transform:translateY(-2px);box-shadow:0 4px 12px #d977064d}.btn-icon-secondary{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.btn-icon-secondary:hover{background-color:#fef3c7;transform:translateY(-1px)}.btn-primary{background-color:#f59e0b;color:#fff;border:none;padding:13px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #f59e0b40}.btn-primary:hover{background-color:#d97706;transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b59}.btn-secondary{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a;padding:13px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.btn-secondary:hover{background-color:#fef3c7;transform:translateY(-1px)}.profile-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:600;color:#374151;margin-bottom:10px;display:flex;align-items:center;gap:8px}.form-group label svg{color:#f59e0b;font-size:18px}.form-group input{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;transition:all .3s ease;background-color:#fff;font-weight:500}.form-group input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.form-group input:not(:disabled):focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.password-actions{display:flex;gap:12px;margin-top:12px}.security-info{padding:24px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:12px;border-left:5px solid #f59e0b;box-shadow:0 2px 8px #f59e0b1a}.security-info p{margin:0 0 10px;font-size:14px;color:#374151;font-weight:500}.security-info p:last-child{margin-bottom:0}.security-tip{color:#92400e;font-style:italic;font-weight:600;display:flex;align-items:center;gap:6px}.security-tip:before{content:"💡";font-size:16px}.notifications-list{display:flex;flex-direction:column;gap:16px}.notification-item{display:flex;align-items:center;justify-content:space-between;padding:20px;background-color:#f9fafb;border-radius:12px;transition:all .3s ease;border:2px solid transparent}.notification-item:hover{background-color:#fffbeb;border-color:#fbbf24;transform:translate(4px)}.notification-info h4{font-size:15px;font-weight:700;color:#111827;margin:0 0 6px}.notification-info p{font-size:13px;color:#6b7280;margin:0;font-weight:500}.toggle-switch{position:relative;display:inline-block;width:56px;height:30px;flex-shrink:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.4s;border-radius:30px;box-shadow:inset 0 2px 4px #0000001a}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#f59e0b;box-shadow:0 0 10px #f59e0b4d}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}@media(max-width:1024px){.admin-profile{max-width:100%}.profile-content-grid{grid-template-columns:1fr}.activity-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:768px){.profile-header{padding:32px 24px}.profile-header-content{flex-direction:column;text-align:center;gap:28px}.profile-avatar-large{width:120px;height:120px;font-size:60px}.profile-info h1{font-size:28px}.profile-role{font-size:16px}.activity-stats-grid{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.activity-stat-card{padding:20px}.activity-stat-icon{width:56px;height:56px;font-size:28px}.activity-stat-content h3{font-size:28px}.profile-section{padding:24px}.section-header{flex-direction:column;align-items:flex-start;gap:16px}.edit-actions{width:100%;flex-direction:column}.edit-actions button{width:100%;justify-content:center}.password-actions{flex-direction:column}.password-actions button{width:100%;justify-content:center}.notification-item{flex-direction:column;align-items:flex-start;gap:14px}.toggle-switch{align-self:flex-end}}@media(max-width:480px){.profile-header{padding:24px 20px}.profile-info h1{font-size:24px}.profile-avatar-large{width:100px;height:100px;font-size:50px}.activity-stat-icon{width:52px;height:52px;font-size:26px}.activity-stat-content h3{font-size:24px}.section-header h2{font-size:19px}.btn-icon-primary,.btn-icon-success,.btn-icon-secondary{font-size:13px;padding:10px 16px}.profile-section{padding:20px}}[data-theme=dark] .profile-header{box-shadow:0 4px 20px #0006}[data-theme=dark] .profile-avatar-large{background:var(--surface-card);border-color:var(--surface-card);box-shadow:var(--shadow-md)}[data-theme=dark] .change-avatar-btn{background:var(--surface-card);color:#f59e0b;box-shadow:var(--shadow-sm)}[data-theme=dark] .change-avatar-btn:hover{background:var(--bg-hover);box-shadow:var(--shadow-md)}[data-theme=dark] .profile-info{color:var(--text-primary)}[data-theme=dark] .profile-info h1{text-shadow:0 2px 4px rgba(0,0,0,.3)}[data-theme=dark] .profile-role{background:#00000040}[data-theme=dark] .activity-stat-card{background:var(--surface-card);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .activity-stat-card:hover{box-shadow:var(--shadow-md);border-color:#fbbf24}[data-theme=dark] .activity-stat-icon{box-shadow:var(--shadow-md)}[data-theme=dark] .activity-stat-content h3{color:var(--text-primary)}[data-theme=dark] .activity-stat-content p{color:var(--text-secondary)}[data-theme=dark] .profile-section{background:var(--surface-card);border-color:var(--border-color);box-shadow:var(--shadow-sm)}[data-theme=dark] .profile-section:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .section-header{border-bottom-color:var(--border-color)}[data-theme=dark] .section-header h2{color:var(--text-primary)}[data-theme=dark] .btn-icon-primary,[data-theme=dark] .btn-icon-success,[data-theme=dark] .btn-icon-secondary{box-shadow:var(--shadow-sm)}[data-theme=dark] .btn-icon-secondary{background-color:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}[data-theme=dark] .btn-icon-secondary:hover{background-color:#f59e0b2e}[data-theme=dark] .btn-secondary{background-color:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}[data-theme=dark] .btn-secondary:hover{background-color:#f59e0b2e}[data-theme=dark] .form-group input{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .form-group input:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border-color-light)}[data-theme=dark] .form-group input:not(:disabled):focus{border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b26}[data-theme=dark] .security-info{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-left-color:#f59e0b;box-shadow:var(--shadow-sm)}[data-theme=dark] .security-info p{color:var(--text-secondary)}[data-theme=dark] .security-tip{color:#fbbf24}[data-theme=dark] .notification-item{background-color:var(--bg-secondary);border-color:transparent}[data-theme=dark] .notification-item:hover{background-color:#f59e0b14;border-color:#fbbf24}[data-theme=dark] .notification-info h4{color:var(--text-primary)}[data-theme=dark] .notification-info p{color:var(--text-muted)}[data-theme=dark] .toggle-slider{background-color:var(--bg-tertiary);box-shadow:inset 0 2px 4px #0000004d}[data-theme=dark] .toggle-slider:before{background-color:var(--text-secondary);box-shadow:0 2px 4px #0006}[data-theme=dark] .toggle-switch input:checked+.toggle-slider{background-color:#f59e0b;box-shadow:0 0 10px #f59e0b66}[data-theme=dark] .toggle-switch input:checked+.toggle-slider:before{background-color:#fff}.recent-results-list{display:flex;flex-direction:column;gap:1rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.result-item:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.result-info h4{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:#1e293b}.result-info p{margin:0 0 .5rem;font-size:.8rem;color:#64748b}.result-date{font-size:.75rem;color:#94a3b8}.result-score{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border-radius:8px;min-width:80px}.result-score.passed{background:#dcfce7;color:#166534}.result-score.failed{background:#fef2f2;color:#dc2626}.score-value{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.score-status{font-size:.7rem;font-weight:500}.loading-container,.error-container,.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-container .spinner{width:24px;height:24px;border:2px solid #e2e8f0;border-top:2px solid #f59e0b;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.no-results{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}[data-theme=dark] .result-item{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .result-item:hover{background:var(--bg-hover)}[data-theme=dark] .result-info h4{color:var(--text-primary)}[data-theme=dark] .result-info p{color:var(--text-tertiary)}[data-theme=dark] .result-date{color:var(--text-muted)}[data-theme=dark] .result-score.passed{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .result-score.failed{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .loading-container .spinner{border-color:var(--border-color);border-top-color:#f59e0b}[data-theme=dark] .error-container{color:var(--error-text);background:var(--error-bg);border-color:var(--error-border)}[data-theme=dark] .no-results{color:var(--text-tertiary);background:var(--bg-tertiary);border-color:var(--border-color)}.settings-container{padding:24px;max-width:1200px;margin:0 auto}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.settings-header-content h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.settings-header-content p{color:#6b7280;margin:0;font-size:14px}.settings-header-actions{display:flex;align-items:center;gap:12px}.unsaved-indicator{color:#f59e0b;font-size:13px;font-weight:500;padding:6px 12px;background-color:#fef3c7;border-radius:6px}.btn-reset{padding:10px 20px;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-reset:hover{background-color:#f3f4f6;border-color:#9ca3af}.btn-save{padding:10px 24px;border:none;background-color:#f59e0b;color:#fff;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save:hover:not(:disabled){background-color:#d97706}.btn-save:disabled{opacity:.5;cursor:not-allowed}.save-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500;animation:slideIn .3s ease}.save-message.success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.save-message.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-content{display:flex;gap:24px;min-height:600px}.settings-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;background-color:#f9fafb;padding:12px;border-radius:12px;height:fit-content}.settings-tab{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;text-align:left}.settings-tab:hover{background-color:#e5e7eb;color:#374151}.settings-tab.active{background-color:#fff;color:#d97706;box-shadow:0 1px 3px #0000001a}.tab-icon{font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tab-label{flex:1}.settings-panel{flex:1;background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.settings-section{padding:32px}.settings-section h2{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.section-description{color:#6b7280;font-size:14px;margin:0 0 28px}.settings-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number],.form-group textarea,.form-group select{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-divider{height:1px;background-color:#e5e7eb;margin:8px 0}.toggle-group{flex-direction:row!important;align-items:center;justify-content:space-between;padding:16px;background-color:#f9fafb;border-radius:10px}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-info label{margin:0}.toggle-description{font-size:13px;color:#6b7280}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:#f59e0b}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.theme-options{display:flex;gap:16px;margin-top:8px}.theme-option{cursor:pointer}.theme-option input{display:none}.theme-preview{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 28px;border:2px solid #e5e7eb;border-radius:12px;transition:all .2s ease}.theme-preview:hover{border-color:#d1d5db}.theme-option.selected .theme-preview{border-color:#f59e0b;background-color:#fffbeb}.theme-preview.light{background-color:#fff}.theme-preview.dark{background-color:#374151;color:#fff}.theme-preview.auto{background:linear-gradient(135deg,#fff 50%,#374151 50%)}.theme-preview.auto .theme-icon{color:#6b7280}.theme-preview.auto span:last-child{color:#6b7280}.theme-icon{font-size:28px;display:flex;align-items:center;justify-content:center}.color-picker-group{display:flex;gap:12px;align-items:center}.color-picker{width:50px;height:40px;border:none;border-radius:8px;cursor:pointer;padding:2px}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:2px solid #e5e7eb;border-radius:6px}.color-input{width:100px;padding:10px 14px!important;text-transform:uppercase;font-family:monospace}.subscription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#6b7280}.subscription-loading .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}.current-subscription-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:12px;padding:24px;margin-bottom:28px}.current-subscription-card .subscription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.subscription-info{display:flex;align-items:center;gap:12px}.subscription-info h3{font-size:20px;font-weight:700;color:#1f2937;margin:0}.subscription-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.subscription-price .price-amount{font-size:24px;font-weight:700;color:#1f2937}.subscription-price .price-period{font-size:14px;color:#6b7280}.subscription-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:8px;font-size:14px}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#1f2937}.detail-item.warning{color:#d97706;background-color:#fef3c7;padding:8px 12px;border-radius:8px;font-weight:500}.detail-item.warning .warning-icon{font-size:18px;flex-shrink:0}.subscription-actions{display:flex;gap:12px}.btn-cancel{padding:8px 20px;border:1px solid #fecaca;background-color:#fff;color:#dc2626;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background-color:#fef2f2;border-color:#ef4444}.btn-reactivate{padding:8px 20px;border:none;background-color:#10b981;color:#fff;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-reactivate:hover{background-color:#059669}.usage-section{margin-bottom:28px}.usage-section h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px;display:flex;align-items:center;gap:8px}.section-icon{font-size:20px;color:#f59e0b}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.usage-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:border-color .2s ease}.usage-item.near-limit{border-color:#fbbf24;background-color:#fffbeb}.usage-item.at-limit{border-color:#ef4444;background-color:#fef2f2}.usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.usage-label{font-size:13px;font-weight:500;color:#6b7280;text-transform:capitalize}.usage-value{font-size:13px;font-weight:600;color:#1f2937}.usage-bar{height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.usage-fill{height:100%;background-color:#f59e0b;border-radius:3px;transition:width .5s ease}.usage-item.near-limit .usage-fill{background-color:#f59e0b}.usage-item.at-limit .usage-fill{background-color:#ef4444}.usage-percentage{display:block;text-align:right;font-size:11px;color:#9ca3af;margin-top:4px}.billing-cycle-section{margin-bottom:28px}.billing-cycle-section h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 12px}.billing-toggle{display:inline-flex;background-color:#f3f4f6;border-radius:10px;padding:4px;gap:4px}.billing-option{padding:10px 24px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;gap:8px}.billing-option.active{background-color:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.discount-badge{background-color:#dcfce7;color:#16a34a;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.plans-section{margin-bottom:28px}.plans-section h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.plan-card{position:relative;background-color:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:24px;display:flex;flex-direction:column;transition:all .2s ease}.plan-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.plan-card.current{border-color:#f59e0b;background-color:#fffbeb}.plan-card.recommended{border-color:#d97706}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background-color:#d97706;color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.plan-header{margin-bottom:16px}.plan-header h4{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 4px}.plan-description{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.plan-price{margin-bottom:20px}.plan-price .price-amount{font-size:28px;font-weight:800;color:#1f2937}.plan-price .price-period{font-size:14px;color:#6b7280}.savings{display:block;font-size:12px;color:#16a34a;font-weight:600;margin-top:4px}.plan-features{flex:1;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}.feature-icon{font-size:16px;flex-shrink:0}.feature-icon.included{color:#10b981}.feature-icon.excluded{color:#d1d5db}.plan-button{width:100%;padding:12px;border:2px solid #f59e0b;background-color:#f59e0b;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.plan-button:hover:not(:disabled){background-color:#d97706;border-color:#d97706}.plan-button.current{background-color:transparent;color:#d97706;cursor:default}.plan-button:disabled{opacity:.6;cursor:not-allowed}.payment-history-section{margin-bottom:28px}.payment-history-section h3{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px}.payment-table{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.payment-header-row{display:grid;grid-template-columns:120px 1fr 120px 100px;gap:12px;padding:12px 16px;background-color:#f9fafb;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.payment-row{display:grid;grid-template-columns:120px 1fr 120px 100px;gap:12px;padding:14px 16px;font-size:14px;color:#374151;border-top:1px solid #f3f4f6;align-items:center}.payment-row:hover{background-color:#f9fafb}.payment-amount{font-weight:600;color:#1f2937}.payment-status{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;text-align:center}.payment-status.completed{background-color:#dcfce7;color:#16a34a}.payment-status.pending{background-color:#fef3c7;color:#d97706}.payment-status.failed{background-color:#fef2f2;color:#dc2626}.payment-status.refunded{background-color:#f3f4f6;color:#6b7280}[data-theme=dark] .settings-header{border-bottom-color:var(--border-color)}[data-theme=dark] .settings-header-content h1{color:var(--text-primary)}[data-theme=dark] .settings-header-content p{color:var(--text-tertiary)}[data-theme=dark] .btn-save{background-color:#f59e0b;color:#fff}[data-theme=dark] .btn-save:hover:not(:disabled){background-color:#d97706}[data-theme=dark] .btn-reset{background-color:transparent;border-color:#f59e0b40;color:#fcd34d}[data-theme=dark] .btn-reset:hover{background-color:#f59e0b1a;border-color:#f59e0b66}[data-theme=dark] .settings-sidebar{background-color:var(--bg-tertiary)}[data-theme=dark] .settings-tab{color:var(--text-tertiary)}[data-theme=dark] .settings-tab:hover{background-color:var(--bg-hover);color:var(--text-secondary)}[data-theme=dark] .settings-tab.active{background-color:var(--surface-card);color:#fbbf24;box-shadow:var(--shadow-sm)}[data-theme=dark] .settings-section h2{color:var(--text-primary)}[data-theme=dark] .form-group label{color:var(--text-secondary)}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group input[type=email],[data-theme=dark] .form-group input[type=tel],[data-theme=dark] .form-group input[type=number],[data-theme=dark] .form-group textarea,[data-theme=dark] .form-group select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus,[data-theme=dark] .form-group select:focus{border-color:#fbbf24;box-shadow:0 0 0 3px #f59e0b33}[data-theme=dark] .toggle-description{color:var(--text-tertiary)}[data-theme=dark] .toggle-slider{background-color:var(--border-color-light)}[data-theme=dark] .toggle-slider:before{background-color:var(--bg-secondary);box-shadow:0 2px 4px #0000004d}[data-theme=dark] .toggle-switch input:checked+.toggle-slider{background-color:#f59e0b}[data-theme=dark] .theme-preview{border-color:var(--border-color)}[data-theme=dark] .theme-preview:hover{border-color:var(--border-color-light)}[data-theme=dark] .theme-option.selected .theme-preview{border-color:#fbbf24;background-color:#f59e0b26}[data-theme=dark] .color-picker::-webkit-color-swatch{border-color:var(--border-color)}[data-theme=dark] .color-input{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .subscription-loading{color:var(--text-tertiary)}[data-theme=dark] .subscription-loading .spinner{border-color:var(--border-color);border-top-color:#fbbf24}[data-theme=dark] .current-subscription-card{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border-color:#f59e0b40}[data-theme=dark] .subscription-info h3,[data-theme=dark] .subscription-price .price-amount{color:var(--text-primary)}[data-theme=dark] .subscription-price .price-period,[data-theme=dark] .detail-label{color:var(--text-tertiary)}[data-theme=dark] .detail-value{color:var(--text-primary)}[data-theme=dark] .detail-item.warning{color:var(--warning-text);background-color:var(--warning-bg)}[data-theme=dark] .btn-cancel{background-color:transparent;border-color:var(--error-border);color:var(--error-text)}[data-theme=dark] .btn-cancel:hover{background-color:var(--error-bg);border-color:var(--error-text)}[data-theme=dark] .usage-section h3{color:var(--text-primary)}[data-theme=dark] .usage-item{background-color:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .usage-item.near-limit{border-color:var(--warning-border);background-color:var(--warning-bg)}[data-theme=dark] .usage-item.at-limit{border-color:var(--error-border);background-color:var(--error-bg)}[data-theme=dark] .usage-label{color:var(--text-tertiary)}[data-theme=dark] .usage-value{color:var(--text-primary)}[data-theme=dark] .usage-bar{background-color:var(--bg-tertiary)}[data-theme=dark] .usage-percentage{color:var(--text-muted)}[data-theme=dark] .billing-cycle-section h3{color:var(--text-primary)}[data-theme=dark] .billing-toggle{background-color:var(--bg-tertiary)}[data-theme=dark] .billing-option{color:var(--text-tertiary)}[data-theme=dark] .billing-option.active{background-color:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .discount-badge{background-color:var(--success-bg);color:var(--success-text)}[data-theme=dark] .plans-section h3{color:var(--text-primary)}[data-theme=dark] .plan-card{background-color:var(--surface-card);border-color:var(--border-color)}[data-theme=dark] .plan-card:hover{border-color:var(--border-color-light);box-shadow:var(--shadow-md)}[data-theme=dark] .plan-card.current{border-color:#fbbf24;background-color:#f59e0b1a}[data-theme=dark] .plan-card.recommended{border-color:#fbbf24}[data-theme=dark] .plan-header h4{color:var(--text-primary)}[data-theme=dark] .plan-description{color:var(--text-tertiary)}[data-theme=dark] .plan-price .price-amount{color:var(--text-primary)}[data-theme=dark] .plan-price .price-period{color:var(--text-tertiary)}[data-theme=dark] .feature-item{color:var(--text-secondary)}[data-theme=dark] .feature-icon.included{color:#fbbf24}[data-theme=dark] .feature-icon.excluded{color:var(--border-color-light)}[data-theme=dark] .plan-badge{background-color:#d97706}[data-theme=dark] .plan-button{background-color:#f59e0b;border-color:#f59e0b;color:#fff}[data-theme=dark] .plan-button:hover:not(:disabled){background-color:#d97706;border-color:#d97706}[data-theme=dark] .plan-button.current{background-color:transparent;border-color:#fbbf24;color:#fbbf24}[data-theme=dark] .usage-fill{background-color:#fbbf24}[data-theme=dark] .payment-history-section h3{color:var(--text-primary)}[data-theme=dark] .payment-table{border-color:var(--border-color)}[data-theme=dark] .payment-header-row{background-color:var(--bg-tertiary);color:var(--text-muted)}[data-theme=dark] .payment-row{color:var(--text-secondary);border-top-color:var(--border-color)}[data-theme=dark] .payment-row:hover{background-color:var(--bg-hover)}[data-theme=dark] .payment-amount{color:var(--text-primary)}[data-theme=dark] .payment-status.completed{background-color:var(--success-bg);color:var(--success-text)}[data-theme=dark] .payment-status.pending{background-color:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .payment-status.failed{background-color:var(--error-bg);color:var(--error-text)}[data-theme=dark] .payment-status.refunded{background-color:var(--bg-tertiary);color:var(--text-tertiary)}[data-theme=dark] .section-description{color:var(--text-tertiary)}[data-theme=dark] .section-icon{color:#fbbf24}@media(max-width:900px){.settings-content{flex-direction:column}.settings-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:8px}.settings-tab{padding:10px 14px}.tab-label{display:none}.settings-tab.active .tab-label{display:inline}.form-row{grid-template-columns:1fr}.settings-header{flex-direction:column;gap:16px}.settings-header-actions{width:100%;justify-content:space-between}.plans-grid{grid-template-columns:repeat(2,1fr)}.payment-header-row,.payment-row{grid-template-columns:100px 1fr 100px 90px;gap:8px;font-size:13px}}@media(max-width:600px){.settings-container{padding:16px}.settings-section{padding:20px}.theme-options{flex-direction:column}.theme-preview{flex-direction:row;padding:14px 20px}.toggle-group{flex-direction:column!important;align-items:flex-start;gap:12px}.plans-grid{grid-template-columns:1fr}.current-subscription-card .subscription-header{flex-direction:column;gap:12px}.usage-grid{grid-template-columns:1fr}.payment-header-row,.payment-row{grid-template-columns:80px 1fr 80px;font-size:12px}.payment-header-row span:last-child,.payment-row span:last-child{display:none}}.student-page{padding:20px;max-width:1400px}.page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.stat-box.success{background:#fffbeb}.stat-box.success .stat-value{color:#d97706}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.course-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.course-image{height:160px;overflow:hidden}.course-image img{width:100%;height:100%;object-fit:cover}.course-content{padding:20px}.course-content h3{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.course-content p{font-size:14px;color:#6b7280;margin:0 0 16px;line-height:1.5}.course-meta{margin-bottom:16px}.category{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:500}.niveau-filters{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.niveau-filters>svg{font-size:20px;color:#6b7280}.niveau-filter-btn{padding:8px 18px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.niveau-filter-btn:hover{border-color:#d1d5db;background:#f9fafb}.niveau-filter-btn.active{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:transparent}.niveau-filter-btn.debutant.active{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.niveau-filter-btn.intermediaire.active{background:linear-gradient(135deg,#f59e0b,#d97706)}.niveau-filter-btn.avance.active{background:linear-gradient(135deg,#d97706,#b45309)}[data-theme=dark] .niveau-filters>svg{color:var(--text-muted)}[data-theme=dark] .niveau-filter-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .niveau-filter-btn:hover{background:var(--bg-hover)}[data-theme=dark] .niveau-filter-btn.active{color:#fff;border-color:transparent}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.exam-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.exam-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.exam-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.exam-header h3{font-size:18px;font-weight:600;color:#111827;margin:0}.level-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.level-badge.debutant{background:#fef9c3;color:#b45309}.level-badge.intermediaire{background:#fef3c7;color:#92400e}.level-badge.avance{background:#fde68a;color:#78350f}.exam-description{font-size:14px;color:#6b7280;margin:0 0 16px;line-height:1.5}.exam-info{display:flex;gap:16px;margin-bottom:16px;font-size:13px;color:#6b7280}.exam-info span{display:flex;align-items:center;gap:4px}.results-list{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.results-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.results-table tr:hover{background:#fafafa}.result-exam-name{font-weight:600;color:#111827;margin-bottom:4px}.results-sort-group{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.results-sort-label{font-size:13px;font-weight:600;color:#6b7280;margin-right:4px}.results-sort-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.results-sort-btn svg{font-size:16px}.results-sort-btn:hover{border-color:#d1d5db;background:#f9fafb}.results-sort-btn.active{background:#fffbeb;color:#b45309;border-color:#fde68a}.results-cards-mobile{display:none}.result-card-mobile{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #0000001a;border-left:4px solid transparent;cursor:pointer;transition:all .2s}.result-card-mobile:hover{box-shadow:0 4px 12px #0000001a}.result-card-mobile.passed{border-left-color:#10b981}.result-card-mobile.failed{border-left-color:#ef4444}.rcm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.rcm-title{display:flex;flex-direction:column;gap:6px;min-width:0}.rcm-exam-name{font-size:15px;font-weight:600;color:#111827;line-height:1.3}.rcm-details{display:flex;align-items:center;gap:14px;font-size:13px;color:#6b7280;margin-bottom:10px;flex-wrap:wrap}.rcm-details span{display:inline-flex;align-items:center;gap:4px}.rcm-details svg{font-size:16px;color:#f59e0b}.rcm-footer{display:flex;align-items:center;justify-content:space-between}.rcm-date{font-size:12px;color:#9ca3af}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;justify-content:center}.exam-result-badge{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:12px}.exam-result-badge.passed{background:#ecfdf5;color:#059669}.exam-result-badge.failed{background:#fef2f2;color:#dc2626}.exam-result-badge svg{font-size:18px}.attempt-info{margin-left:auto;font-weight:400;font-size:12px;opacity:.8}.exam-card.exam-passed{border-left:4px solid #10b981}.exam-card.exam-failed{border-left:4px solid #ef4444}.btn-success{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;border-radius:10px;font-size:14px;font-weight:600;width:100%;justify-content:center;cursor:default}.btn-disabled{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#f3f4f6;color:#9ca3af;border:none;border-radius:10px;font-size:14px;font-weight:600;width:100%;justify-content:center;cursor:not-allowed}.time-display{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#6b7280}.time-display svg{font-size:16px;color:#f59e0b}.btn-detail{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#fffbeb;color:#b45309;border:1px solid #fde68a;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-detail:hover{background:#fef3c7;border-color:#fbbf24}.btn-detail svg{font-size:16px}[data-theme=dark] .btn-detail{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}[data-theme=dark] .btn-detail:hover{background:#f59e0b40}[data-theme=dark] .time-display{color:var(--text-tertiary)}.course-status-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.course-category-tag{display:inline-block;padding:3px 10px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:11px;font-weight:600}.course-permis-tag{display:inline-block;padding:3px 10px;background:#fde68a;color:#78350f;border-radius:20px;font-size:11px;font-weight:600}.courses-filter{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#6b7280}.courses-filter svg{font-size:20px}.filter-select{padding:8px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.detail-tag.permis{background:#fde68a;color:#78350f}.course-completed-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:11px;font-weight:600}.course-card.course-completed{border-left:4px solid #10b981}.course-excerpt{font-size:13px!important;color:#6b7280;line-height:1.6}.course-media-indicators{display:flex;gap:8px;margin-bottom:12px}.media-indicator{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#f3f4f6;color:#6b7280;font-size:16px}.course-creator-info{font-size:12px!important;color:#9ca3af!important;margin-bottom:12px!important}.course-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.course-card-footer .btn-primary{width:auto;padding:10px 20px;font-size:13px}.course-date{font-size:11px;color:#9ca3af}.course-detail-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.course-detail-modal{background:#fff;border-radius:20px;max-width:860px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 25px 50px #00000040}.course-detail-modal::-webkit-scrollbar{width:6px}.course-detail-modal::-webkit-scrollbar-track{background:transparent}.course-detail-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.course-detail-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #f3f4f6;position:sticky;top:0;background:#fff;border-radius:20px 20px 0 0;z-index:1}.course-detail-header h2{font-size:22px;font-weight:700;color:#111827;margin:0;flex:1;padding-right:16px}.btn-close-detail{background:#f3f4f6;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#6b7280;transition:all .2s;flex-shrink:0}.btn-close-detail:hover{background:#e5e7eb;color:#111827}.course-detail-image{position:relative;overflow:hidden}.course-detail-image img{width:100%;max-height:340px;object-fit:cover;display:block}.course-detail-body{padding:28px}.course-detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.detail-tag{padding:5px 14px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:600}.detail-tag.sub{background:#fde68a;color:#78350f}.detail-creator{font-size:13px;color:#6b7280;margin-left:auto}.course-detail-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.course-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.course-detail-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#111827;margin:0 0 14px}.course-detail-section h3 svg{color:#f59e0b;font-size:20px}.course-detail-text{font-size:15px;line-height:1.8;color:#374151;white-space:pre-wrap;background:#f9fafb;padding:16px 20px;border-radius:12px;border:1px solid #f3f4f6}.course-video-player{width:100%;border-radius:12px;max-height:420px;background:#000}.course-audio-player{width:100%;border-radius:8px}.course-documents-list{display:flex;flex-direction:column;gap:10px}.course-doc-link{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:#fffbeb;color:#b45309;border-radius:10px;text-decoration:none;font-size:14px;font-weight:500;transition:background .2s}.course-doc-link:hover{background:#fef3c7}.course-doc-link svg{font-size:18px}.course-doc-row{display:flex;align-items:center;gap:10px}.course-doc-row .course-doc-link{flex:1}.btn-download-media{position:absolute;bottom:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#000000b3;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-download-media:hover{background:#000000e6}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-header-row h3{margin:0!important}.btn-download-inline{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:#fffbeb;color:#b45309;border:1px solid #fde68a;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-download-inline:hover{background:#fef3c7;border-color:#fbbf24}.btn-download-inline.small{padding:7px 12px;font-size:16px}.course-detail-footer{padding:20px 28px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end;gap:12px;background:#f9fafb;border-radius:0 0 20px 20px}.btn-mark-complete{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-mark-complete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-mark-complete.already-completed{background:#ecfdf5;color:#059669;cursor:default;border:1px solid #a7f3d0}.btn-mark-complete.already-completed:hover{transform:none;box-shadow:none}[data-theme=dark] .course-category-tag{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .course-permis-tag,[data-theme=dark] .detail-tag.permis{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .courses-filter{color:var(--text-muted)}[data-theme=dark] .filter-select{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .course-completed-badge{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .media-indicator{background:var(--bg-tertiary);color:var(--text-tertiary)}[data-theme=dark] .course-detail-modal{background:var(--surface-card)}[data-theme=dark] .course-detail-header{background:var(--surface-card);border-bottom-color:var(--border-color)}[data-theme=dark] .course-detail-header h2{color:var(--text-primary)}[data-theme=dark] .btn-close-detail{background:var(--bg-tertiary);color:var(--text-tertiary)}[data-theme=dark] .btn-close-detail:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .course-detail-section h3{color:var(--text-primary)}[data-theme=dark] .course-detail-text{color:var(--text-secondary)}[data-theme=dark] .detail-creator,[data-theme=dark] .course-creator-info,[data-theme=dark] .course-date{color:var(--text-muted)}[data-theme=dark] .detail-tag{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .detail-tag.sub{background:#d9770633;color:#fbbf24}[data-theme=dark] .course-doc-link{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .btn-download-inline{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}[data-theme=dark] .btn-download-inline:hover{background:#f59e0b40;border-color:#2563eb80}[data-theme=dark] .course-detail-text{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .course-detail-section{border-bottom-color:var(--border-color)}[data-theme=dark] .course-detail-footer{background:var(--bg-tertiary);border-top-color:var(--border-color)}[data-theme=dark] .course-detail-modal::-webkit-scrollbar-thumb{background:var(--text-muted)}[data-theme=dark] .btn-mark-complete.already-completed{background:var(--success-bg);color:var(--success-text);border-color:#10b9814d}@media(max-width:768px){.student-page{padding:16px}.page-header h1{font-size:22px}.stats-summary{flex-direction:column}.stat-box{width:100%}.courses-grid,.exams-grid{grid-template-columns:1fr}.results-desktop{display:none}.results-cards-mobile{display:flex;flex-direction:column;gap:12px}.results-sort-group{justify-content:center}.results-list{padding:16px}.course-detail-overlay{padding:10px}.course-detail-modal{max-height:95vh;border-radius:16px}.course-detail-header{padding:16px 20px;border-radius:16px 16px 0 0}.course-detail-header h2{font-size:18px}.course-detail-body{padding:20px}.course-detail-text{padding:12px 16px;font-size:14px}.course-detail-footer{padding:16px 20px;border-radius:0 0 16px 16px}.section-header-row{flex-direction:column;align-items:flex-start;gap:8px}}[data-theme=dark] .page-header p,[data-theme=dark] .stat-label,[data-theme=dark] .course-content p,[data-theme=dark] .exam-description,[data-theme=dark] .exam-info,[data-theme=dark] .results-table th,[data-theme=dark] .empty-state p{color:var(--text-tertiary)}[data-theme=dark] .stat-value,[data-theme=dark] .course-content h3,[data-theme=dark] .exam-header h3{color:var(--text-primary)}[data-theme=dark] .results-table td{color:var(--text-secondary)}[data-theme=dark] .course-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .course-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .exam-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .exam-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .results-list{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .result-exam-name{color:var(--text-primary)}[data-theme=dark] .results-sort-label{color:var(--text-tertiary)}[data-theme=dark] .results-sort-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-tertiary)}[data-theme=dark] .results-sort-btn:hover{background:var(--bg-hover)}[data-theme=dark] .results-sort-btn.active{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}[data-theme=dark] .result-card-mobile{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .result-card-mobile:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .rcm-exam-name{color:var(--text-primary)}[data-theme=dark] .rcm-details{color:var(--text-tertiary)}[data-theme=dark] .rcm-date{color:var(--text-muted)}[data-theme=dark] .results-table tr:hover{background:var(--bg-hover)}[data-theme=dark] .category{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .level-badge.debutant{background:#fbbf2426;color:#fde68a}[data-theme=dark] .level-badge.intermediaire{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .level-badge.avance{background:#b4530933;color:#fbbf24}[data-theme=dark] .empty-state{background:var(--surface-card);box-shadow:var(--shadow-sm)}.erd-header{margin-bottom:24px}.erd-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;padding:6px 0;margin-bottom:12px;transition:color .2s}.erd-back-btn:hover{color:#111827}.erd-title-section h1{font-size:26px;font-weight:700;color:#111827;margin:0 0 10px}.erd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.erd-type-badge{padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:600}.erd-attempt-badge{padding:4px 12px;background:#f3f4f6;color:#6b7280;border-radius:20px;font-size:12px;font-weight:600}.erd-score-card{display:flex;gap:40px;background:#fff;border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000001a;margin-bottom:28px;align-items:center}.erd-score-card.passed{border-left:5px solid #10b981}.erd-score-card.failed{border-left:5px solid #ef4444}.erd-score-main{flex-shrink:0}.erd-score-circle{position:relative;width:140px;height:140px}.erd-score-circle svg{width:100%;height:100%}.erd-score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.erd-score-value{display:block;font-size:32px;font-weight:800;color:#111827}.erd-score-label{display:block;font-size:13px;font-weight:600;color:#6b7280;margin-top:2px}.erd-score-card.passed .erd-score-label{color:#10b981}.erd-score-card.failed .erd-score-label{color:#ef4444}.erd-score-details{flex:1;display:flex;flex-direction:column;gap:14px}.erd-detail-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151}.erd-detail-row svg{font-size:20px;flex-shrink:0}.erd-detail-row span{flex:1}.erd-detail-row strong{font-weight:700;color:#111827}.icon-success{color:#10b981}.icon-error{color:#ef4444}.icon-info{color:#f59e0b}.icon-warning{color:#d97706}.erd-section{margin-bottom:28px}.erd-section>h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#111827;margin:0 0 18px}.erd-section>h2 svg{color:#f59e0b}.erd-themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.erd-theme-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #0000001a}.erd-theme-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.erd-theme-name{font-size:14px;font-weight:600;color:#111827}.erd-theme-pct{font-size:14px;font-weight:700;padding:2px 10px;border-radius:12px}.erd-theme-pct.good{background:#ecfdf5;color:#10b981}.erd-theme-pct.medium{background:#fef3c7;color:#d97706}.erd-theme-pct.bad{background:#fef2f2;color:#ef4444}.erd-theme-bar{width:100%;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;margin-bottom:10px}.erd-theme-fill{height:100%;border-radius:3px;transition:width .5s ease}.erd-theme-fill.good{background:#10b981}.erd-theme-fill.medium{background:#f59e0b}.erd-theme-fill.bad{background:#ef4444}.erd-theme-stats{display:flex;gap:16px;font-size:12px}.erd-theme-stats .correct{color:#10b981;font-weight:600}.erd-theme-stats .incorrect{color:#ef4444;font-weight:600}.erd-questions-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.erd-questions-header h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#111827;margin:0}.erd-questions-header h2 svg{color:#f59e0b}.erd-questions-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.erd-filter-group{display:flex;background:#f3f4f6;border-radius:8px;overflow:hidden}.erd-filter-btn{padding:7px 14px;border:none;background:none;font-size:12px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.erd-filter-btn.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000001a}.erd-filter-btn.correct.active{color:#10b981}.erd-filter-btn.incorrect.active{color:#ef4444}.erd-expand-btns{display:flex;gap:6px}.erd-expand-btn{padding:6px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:12px;color:#6b7280;cursor:pointer;transition:all .2s}.erd-expand-btn:hover{background:#f9fafb;border-color:#d1d5db}.erd-questions-list{display:flex;flex-direction:column;gap:12px}.erd-question-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border-left:4px solid transparent}.erd-question-card.correct{border-left-color:#10b981}.erd-question-card.incorrect{border-left-color:#ef4444}.erd-question-header{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;transition:background .2s}.erd-question-header:hover{background:#f9fafb}.erd-question-status svg{font-size:22px}.erd-question-title{flex:1;min-width:0}.erd-question-num{display:block;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.erd-question-text{display:-webkit-box;font-size:14px;font-weight:500;color:#111827;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.erd-question-badges{display:flex;gap:6px;flex-shrink:0}.erd-type-tag{padding:3px 8px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:11px;font-weight:600}.erd-theme-tag{padding:3px 8px;background:#fde68a;color:#78350f;border-radius:6px;font-size:11px;font-weight:600}.erd-toggle-btn{background:none;border:none;color:#9ca3af;font-size:24px;cursor:pointer;display:flex;flex-shrink:0}.erd-question-body{padding:0 20px 20px 54px;animation:erdFadeIn .2s ease}@keyframes erdFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.erd-question-image{margin-bottom:16px;border-radius:10px;overflow:hidden;background:#f9fafb;border:1px solid #e5e7eb}.erd-question-image img{width:100%;max-height:300px;object-fit:contain;display:block}.erd-no-answer{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:12px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;font-size:13px;font-weight:600;color:#92400e}.erd-no-answer svg{font-size:18px}.erd-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.erd-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s}.erd-option.correct-answer{background:#ecfdf5;border-color:#a7f3d0}.erd-option.wrong-answer{background:#fef2f2;border-color:#fecaca}.erd-option-label{width:28px;height:28px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#374151;flex-shrink:0}.erd-option.correct-answer .erd-option-label{background:#10b981;color:#fff}.erd-option.wrong-answer .erd-option-label{background:#ef4444;color:#fff}.erd-option-text{flex:1;font-size:14px;color:#374151}.erd-option-icon{font-size:20px;flex-shrink:0}.erd-option-icon.success{color:#10b981}.erd-option-icon.error{color:#ef4444}.erd-explanation{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:14px 18px}.erd-explanation strong{font-size:13px;color:#92400e}.erd-explanation p{margin:6px 0 0;font-size:14px;line-height:1.6;color:#78350f}.erd-no-questions{text-align:center;padding:40px 20px;color:#9ca3af;font-size:14px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}@media(max-width:768px){.erd-score-card{flex-direction:column;gap:24px;padding:24px}.erd-score-circle{width:120px;height:120px;margin:0 auto}.erd-score-value{font-size:26px}.erd-themes-grid{grid-template-columns:1fr}.erd-questions-header{flex-direction:column;align-items:flex-start}.erd-question-body{padding-left:20px}.erd-question-badges{display:none}.erd-title-section h1{font-size:22px}.erd-filter-btn{padding:6px 10px;font-size:11px}}[data-theme=dark] .erd-back-btn{color:var(--text-tertiary)}[data-theme=dark] .erd-back-btn:hover,[data-theme=dark] .erd-title-section h1{color:var(--text-primary)}[data-theme=dark] .erd-attempt-badge{background:var(--bg-tertiary);color:var(--text-tertiary)}[data-theme=dark] .erd-type-badge{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .erd-score-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .erd-score-value{color:var(--text-primary)}[data-theme=dark] .erd-detail-row{color:var(--text-secondary)}[data-theme=dark] .erd-detail-row strong{color:var(--text-primary)}[data-theme=dark] .erd-score-circle circle:first-child{stroke:var(--border-color)}[data-theme=dark] .erd-section>h2,[data-theme=dark] .erd-questions-header h2{color:var(--text-primary)}[data-theme=dark] .erd-theme-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .erd-theme-name{color:var(--text-primary)}[data-theme=dark] .erd-theme-bar,[data-theme=dark] .erd-filter-group{background:var(--bg-tertiary)}[data-theme=dark] .erd-filter-btn{color:var(--text-tertiary)}[data-theme=dark] .erd-filter-btn.active{background:var(--surface-card);color:var(--text-primary)}[data-theme=dark] .erd-expand-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-tertiary)}[data-theme=dark] .erd-question-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .erd-question-header:hover{background:var(--bg-hover)}[data-theme=dark] .erd-question-text{color:var(--text-primary)}[data-theme=dark] .erd-toggle-btn{color:var(--text-muted)}[data-theme=dark] .erd-option{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .erd-option.correct-answer{background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .erd-option.wrong-answer{background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .erd-option-label{background:var(--bg-hover);color:var(--text-secondary)}[data-theme=dark] .erd-option-text{color:var(--text-secondary)}[data-theme=dark] .erd-explanation{background:#f59e0b1a;border-color:#f59e0b40}[data-theme=dark] .erd-explanation strong{color:#fbbf24}[data-theme=dark] .erd-explanation p{color:#fde68a}[data-theme=dark] .erd-type-tag{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .erd-theme-tag{background:#fbbf2426;color:#fde68a}[data-theme=dark] .erd-no-questions{background:var(--surface-card);color:var(--text-muted)}[data-theme=dark] .erd-no-answer{background:#f59e0b1a;border-color:#f59e0b40;color:#fbbf24}.take-exam-page{min-height:100vh;padding:20px;background:#f5f7fa}.loading-container,.exam-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:15px}.exam-error .error-icon{font-size:60px;color:#e74c3c}.exam-error h2{color:#2c3e50;margin:0}.exam-error p{color:#666}.exam-intro{max-width:700px;margin:0 auto}.btn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#f59e0b;font-size:15px;cursor:pointer;padding:8px 0;margin-bottom:15px}.intro-card{background:#fff;border-radius:12px;padding:35px;box-shadow:0 2px 12px #00000014}.intro-card h1{color:#2c3e50;margin:0 0 10px;font-size:24px}.intro-description{color:#666;margin-bottom:20px}.intro-info{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.info-item{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f0f4f8;border-radius:8px;font-size:14px;color:#555}.info-item svg{color:#f59e0b;font-size:20px}.intro-rules{background:#fefce8;border:1px solid #fde68a;border-radius:8px;padding:16px 20px;margin-bottom:25px}.intro-rules h3{margin:0 0 10px;color:#92400e;font-size:15px}.intro-rules ul{margin:0;padding-left:20px}.intro-rules li{color:#78350f;margin-bottom:6px;font-size:14px}.btn-start{display:block;width:100%;padding:14px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-size:17px;font-weight:600;cursor:pointer;transition:background .2s}.btn-start:hover{background:#d97706}.exam-header-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 1px 6px #0000000f;margin-bottom:10px}.exam-title-bar h2{margin:0;font-size:16px;color:#2c3e50}.exam-timer{display:flex;align-items:center;gap:6px;font-size:20px;font-weight:700;color:#2c3e50;padding:6px 14px;background:#f0f4f8;border-radius:8px}.exam-timer.timer-warning{color:#e74c3c;background:#fef2f2;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.exam-progress-info{font-size:14px;color:#888}.exam-progress-bar{height:4px;background:#e5e7eb;border-radius:2px;margin-bottom:12px;overflow:hidden}.progress-fill{height:100%;background:#f59e0b;border-radius:2px;transition:width .3s}.question-nav-dots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px;justify-content:center}.nav-dot{width:34px;height:34px;border-radius:50%;border:2px solid #d1d5db;background:#fff;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.nav-dot.active{border-color:#f59e0b;background:#f59e0b;color:#fff}.nav-dot.answered{border-color:#fbbf24;background:#fef9c3;color:#92400e}.nav-dot.answered.active{background:#d97706;color:#fff}.question-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 10px #0000000f;margin-bottom:15px}.question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.question-number{font-size:13px;color:#888;font-weight:600}.question-type-badge{font-size:11px;padding:4px 10px;border-radius:20px;font-weight:600}.question-type-badge.vf,.question-type-badge.img{background:#fef3c7;color:#92400e}.question-image{margin-bottom:15px;border-radius:8px;overflow:hidden;max-height:300px;text-align:center}.question-image img{max-width:100%;max-height:300px;object-fit:contain}.question-text{font-size:18px;color:#1f2937;margin:0 0 25px;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:10px}.option-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:all .2s;font-size:15px}.option-btn:hover{border-color:#fde68a;background:#f8fafc}.option-btn.selected{border-color:#f59e0b;background:#fffbeb}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f1f5f9;font-weight:700;font-size:14px;color:#64748b;flex-shrink:0}.option-btn.selected .option-letter{background:#f59e0b;color:#fff}.option-text{color:#374151}.vrai-faux-options{display:flex;gap:15px}.vf-option{flex:1;padding:18px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;color:#374151}.vf-option:hover{border-color:#fde68a}.vf-option.selected{border-color:#f59e0b;background:#fffbeb;color:#f59e0b}.question-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px}.btn-nav{display:flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:all .2s}.btn-nav:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.btn-nav.btn-next{background:#f59e0b;color:#fff;border-color:#f59e0b}.btn-nav.btn-next:hover{background:#d97706}.btn-submit{display:flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:8px;background:#d97706;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-submit:hover{background:#b45309}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-modal{background:#fff;border-radius:12px;padding:30px;max-width:420px;width:90%;box-shadow:0 20px 60px #00000026}.confirm-modal h3{margin:0 0 10px;color:#2c3e50}.confirm-modal p{color:#555;margin-bottom:8px}.confirm-warning{display:flex;align-items:center;gap:6px;color:#e67e22!important;font-weight:500}.confirm-actions{display:flex;gap:10px;margin-top:20px}.confirm-actions .btn-secondary{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer}.confirm-actions .btn-primary{flex:1;padding:10px;border:none;border-radius:8px;background:#f59e0b;color:#fff;font-weight:600;cursor:pointer}.confirm-actions .btn-primary:disabled{opacity:.5}.exam-result-screen{max-width:600px;margin:40px auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.result-header{padding:40px 30px;text-align:center;color:#fff}.result-header.passed{background:linear-gradient(135deg,#10b981,#059669)}.result-header.failed{background:linear-gradient(135deg,#ef4444,#dc2626)}.result-icon{font-size:60px;margin-bottom:10px}.result-header h1{margin:0;font-size:26px}.result-header p{margin:8px 0 0;opacity:.9;font-size:15px}.result-details{padding:30px}.result-time-info{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:#f0f4f8;border-radius:8px;font-size:14px;color:#555;margin-bottom:20px}.result-time-info svg{color:#f59e0b;font-size:20px}.result-score{text-align:center;margin-bottom:25px}.score-value{display:block;font-size:56px;font-weight:800;color:#2c3e50}.score-label{font-size:14px;color:#888}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.stat-item{text-align:center;padding:14px;background:#f8fafc;border-radius:10px}.stat-value{display:block;font-size:22px;font-weight:700;color:#2c3e50}.stat-label{font-size:12px;color:#888;margin-top:4px}.result-actions{display:flex;gap:10px;padding:0 30px 30px}.result-actions .btn-secondary,.result-actions .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none}.result-actions .btn-secondary{background:#f1f5f9;color:#374151;border:1px solid #d1d5db}.result-actions .btn-primary{background:#f59e0b;color:#fff}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}[data-theme=dark] .take-exam-page{background:#1a1a2e}[data-theme=dark] .intro-card,[data-theme=dark] .exam-header-bar,[data-theme=dark] .question-container,[data-theme=dark] .exam-result-screen{background:#16213e}[data-theme=dark] .intro-card h1,[data-theme=dark] .exam-title-bar h2,[data-theme=dark] .question-text,[data-theme=dark] .confirm-modal h3{color:#e5e7eb}[data-theme=dark] .intro-description,[data-theme=dark] .option-text,[data-theme=dark] .confirm-modal p{color:#9ca3af}[data-theme=dark] .option-btn,[data-theme=dark] .vf-option{background:#1a1a2e;border-color:#374151;color:#d1d5db}[data-theme=dark] .option-btn.selected,[data-theme=dark] .vf-option.selected{background:#f59e0b26;border-color:#f59e0b}[data-theme=dark] .nav-dot{background:#1a1a2e;border-color:#4b5563;color:#9ca3af}[data-theme=dark] .info-item{background:#1a1a2e;color:#d1d5db}[data-theme=dark] .exam-timer{background:#1a1a2e;color:#e5e7eb}[data-theme=dark] .btn-nav{background:#1a1a2e;border-color:#4b5563;color:#d1d5db}[data-theme=dark] .stat-item{background:#1a1a2e}[data-theme=dark] .stat-value,[data-theme=dark] .score-value{color:#e5e7eb}[data-theme=dark] .score-label,[data-theme=dark] .stat-label{color:#9ca3af}[data-theme=dark] .result-time-info{background:#1a1a2e;color:#d1d5db}[data-theme=dark] .result-actions .btn-secondary{background:#1a1a2e;color:#d1d5db;border-color:#4b5563}[data-theme=dark] .confirm-modal{background:#16213e}[data-theme=dark] .option-letter{background:#374151;color:#9ca3af}[data-theme=dark] .intro-rules{background:#1a1a2e;border-color:#4b5563}[data-theme=dark] .intro-rules h3{color:#fbbf24}[data-theme=dark] .intro-rules li{color:#d1d5db}@media(max-width:768px){.take-exam-page{padding:10px}.exam-header-bar{flex-direction:column;gap:8px}.intro-card,.question-container{padding:20px}.question-text{font-size:16px}.vrai-faux-options{flex-direction:column}.result-stats{grid-template-columns:repeat(2,1fr)}.result-actions{flex-direction:column}}.random-exam-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.random-exam-modal{background:#fff;border-radius:20px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.random-modal-icon{width:80px;height:80px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 20px #f59e0b4d}.random-modal-icon svg{font-size:42px;color:#fff}.random-modal-title{font-size:28px;font-weight:700;color:#111827;text-align:center;margin:0 0 12px}.random-modal-description{font-size:15px;color:#6b7280;text-align:center;margin:0 0 32px;line-height:1.6}.random-question-selector{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:16px;padding:24px;margin-bottom:24px}.random-label{display:block;font-size:15px;font-weight:600;color:#374151;margin-bottom:12px;text-align:center}.random-input-wrapper{margin-bottom:16px}.random-number-input{width:100%;padding:16px;border:2px solid #e5e7eb;border-radius:12px;font-size:32px;font-weight:700;text-align:center;color:#111827;background:#fff;transition:all .2s}.random-number-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.random-number-input::-webkit-inner-spin-button,.random-number-input::-webkit-outer-spin-button{opacity:1;height:40px}.random-quick-select{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.random-quick-label{font-size:13px;color:#6b7280;font-weight:500}.random-quick-btn{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.random-quick-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.random-quick-btn.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.random-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.random-info-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.random-info-icon{font-size:28px;color:#f59e0b;flex-shrink:0}.random-info-label{font-size:12px;color:#6b7280;margin-bottom:4px}.random-info-value{font-size:18px;font-weight:700;color:#111827}.random-error-banner{display:flex;align-items:center;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;color:#dc2626;font-size:14px;margin-bottom:24px}.random-error-banner svg{font-size:20px;flex-shrink:0}.random-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.random-modal-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .random-exam-modal{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .random-modal-title{color:var(--text-primary)}[data-theme=dark] .random-modal-description{color:var(--text-secondary)}[data-theme=dark] .random-question-selector{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .random-label{color:var(--text-primary)}[data-theme=dark] .random-number-input{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .random-quick-label{color:var(--text-secondary)}[data-theme=dark] .random-quick-btn{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .random-quick-btn:hover{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}[data-theme=dark] .random-info-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .random-info-value{color:var(--text-primary)}[data-theme=dark] .random-error-banner{background:#dc26261a;border-color:#dc26264d}.te-page{min-height:100vh;background:linear-gradient(135deg,#f0f4f8,#e5e9f0);padding:20px}.te-header{background:#fff;border-radius:16px;padding:20px 28px;box-shadow:0 2px 12px #00000014;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;border-left:5px solid #f59e0b}.te-header-left h1{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.te-progress-text{font-size:14px;color:#6b7280;font-weight:500}.te-timer{display:flex;align-items:center;gap:8px;background:#f9fafb;padding:12px 20px;border-radius:12px;font-size:20px;font-weight:700;color:#10b981;border:2px solid #d1fae5}.te-timer svg{font-size:24px}.te-timer.warning{color:#ef4444;background:#fef2f2;border-color:#fecaca;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.te-progress-bar{height:8px;background:#e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:24px;box-shadow:inset 0 2px 4px #0000001a}.te-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fb923c);border-radius:10px;transition:width .4s ease;box-shadow:0 0 10px #f59e0b80}.te-question-container{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 20px #00000014;margin-bottom:24px}.te-question-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.te-question-number{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:700;box-shadow:0 2px 8px #f59e0b4d}.te-question-theme{background:#eff6ff;color:#1e40af;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid #dbeafe}.te-question-source{background:#f0fdf4;color:#166534;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid #dcfce7;margin-left:auto}.te-question-text{font-size:18px;line-height:1.7;color:#1f2937;font-weight:500;margin-bottom:24px}.te-question-image{margin-bottom:24px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.te-question-image img{width:100%;height:auto;display:block}.te-options{display:flex;flex-direction:column;gap:12px}.te-option{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.te-option:hover{background:#f3f4f6;border-color:#f59e0b;transform:translate(4px)}.te-option.selected{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b33}.te-option-radio{width:24px;height:24px;border:3px solid #d1d5db;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.te-option.selected .te-option-radio{border-color:#f59e0b}.te-option-radio-dot{width:12px;height:12px;background:#f59e0b;border-radius:50%}.te-option-text{font-size:16px;color:#374151;font-weight:500;line-height:1.5;flex:1}.te-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:20px 28px;border-radius:16px;box-shadow:0 2px 12px #00000014}.te-nav-info{font-size:15px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:8px}.te-nav .btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;border-radius:10px;transition:all .2s}.te-nav .btn svg{font-size:20px}.te-nav .btn:disabled{opacity:.5;cursor:not-allowed}.te-welcome{max-width:700px;margin:40px auto;background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 30px #0000001f}.te-welcome-icon{width:100px;height:100px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 10px 30px #f59e0b66}.te-welcome-icon svg{font-size:50px;color:#fff}.te-welcome h1{font-size:28px;font-weight:700;color:#111827;text-align:center;margin:0 0 32px}.te-welcome-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.te-info-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center}.te-info-icon{font-size:32px;color:#f59e0b;margin-bottom:8px}.te-info-label{font-size:13px;color:#6b7280;margin-bottom:4px}.te-info-value{font-size:20px;font-weight:700;color:#111827}.te-welcome-note{background:#fffbeb;border:2px solid #fde68a;border-radius:12px;padding:16px 20px;display:flex;align-items:flex-start;gap:12px;margin-bottom:28px}.te-welcome-note svg{font-size:24px;color:#f59e0b;flex-shrink:0;margin-top:2px}.te-welcome-note p{margin:0;font-size:14px;color:#78350f;line-height:1.6}.te-welcome-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px}.te-welcome-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;border-radius:10px}.te-welcome-actions .btn-lg{font-size:17px;padding:16px 28px}.te-result{max-width:900px;margin:40px auto;background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 30px #0000001f;text-align:center}.te-result-icon{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 10px 30px #0003}.te-result-icon.passed{background:linear-gradient(135deg,#10b981,#059669)}.te-result-icon.failed{background:linear-gradient(135deg,#ef4444,#dc2626)}.te-result-icon svg{font-size:50px;color:#fff}.te-result h2{font-size:28px;font-weight:700;color:#111827;margin:0 0 32px}.te-result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}.te-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center}.te-stat-label{font-size:13px;color:#6b7280;margin-bottom:8px;display:block}.te-stat-value{font-size:24px;font-weight:700;color:#111827;display:block}.te-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.te-result-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;border-radius:10px}.te-answers-review{margin:32px 0;text-align:left}.te-answers-review h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 20px;text-align:center}.te-answer-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px}.te-answer-item.correct{border-color:#d1fae5;background:#f0fdf4}.te-answer-item.incorrect{border-color:#fecaca;background:#fef2f2}.te-answer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid rgba(0,0,0,.05)}.te-answer-number{font-size:14px;font-weight:700;color:#6b7280}.te-answer-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.te-answer-badge.correct{background:#d1fae5;color:#059669}.te-answer-badge.incorrect{background:#fecaca;color:#dc2626}.te-answer-badge svg{font-size:16px}.te-answer-question{font-size:16px;font-weight:500;color:#1f2937;margin:0 0 16px;line-height:1.6}.te-answer-options{display:flex;flex-direction:column;gap:10px}.te-answer-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;color:#374151}.te-answer-option.correct-answer{background:#d1fae5;border-color:#10b981;font-weight:600}.te-answer-option.wrong-answer{background:#fecaca;border-color:#ef4444;font-weight:600}.te-answer-option .option-icon{font-size:20px;flex-shrink:0}.te-answer-option .option-icon.correct{color:#10b981}.te-answer-option .option-icon.wrong{color:#ef4444}.te-answer-option .user-choice-label{margin-left:auto;font-size:12px;font-weight:600;color:#6b7280;background:#fff;padding:4px 8px;border-radius:4px}[data-theme=dark] .te-page{background:linear-gradient(135deg,#1f2937,#111827)}[data-theme=dark] .te-header,[data-theme=dark] .te-question-container,[data-theme=dark] .te-nav,[data-theme=dark] .te-welcome,[data-theme=dark] .te-result{background:var(--bg-secondary)}[data-theme=dark] .te-header-left h1,[data-theme=dark] .te-question-text,[data-theme=dark] .te-option-text,[data-theme=dark] .te-welcome h1,[data-theme=dark] .te-result h2,[data-theme=dark] .te-info-value,[data-theme=dark] .te-stat-value{color:var(--text-primary)}[data-theme=dark] .te-timer{background:var(--bg-tertiary);border-color:#10b9814d}[data-theme=dark] .te-option{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .te-option:hover{background:var(--bg-primary)}[data-theme=dark] .te-info-item,[data-theme=dark] .te-stat{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .te-answers-review h3{color:var(--text-primary)}[data-theme=dark] .te-answer-item{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .te-answer-item.correct{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .te-answer-item.incorrect{background:#ef44441a;border-color:#ef44444d}[data-theme=dark] .te-answer-question{color:var(--text-primary)}[data-theme=dark] .te-answer-option{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .te-answer-option.correct-answer{background:#10b98126;border-color:#10b981}[data-theme=dark] .te-answer-option.wrong-answer{background:#ef444426;border-color:#ef4444}@media(max-width:768px){.te-header{flex-direction:column;gap:16px;padding:16px 20px}.te-question-container{padding:24px 20px}.te-welcome,.te-result{padding:28px 20px}.te-welcome-info,.te-welcome-actions,.te-result-stats,.te-result-actions{grid-template-columns:1fr}.te-nav{flex-direction:column;gap:12px}.te-nav .btn{width:100%}}@media(max-width:640px){.random-exam-modal{padding:28px 20px}.random-modal-icon{width:64px;height:64px}.random-modal-icon svg{font-size:32px}.random-modal-title{font-size:22px}.random-modal-description{font-size:14px}.random-number-input{font-size:28px;padding:14px}.random-info-cards,.random-modal-actions{grid-template-columns:1fr}}.mp-section{background:#fff;border-radius:16px;padding:28px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.mp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.mp-section-header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#111827;margin:0}.mp-section-header h2 svg{color:#f59e0b;font-size:22px}.mp-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.mp-edit-btn:hover{background:#fde68a}.mp-edit-actions{display:flex;gap:8px}.mp-cancel-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.mp-cancel-btn:hover{background:#e5e7eb}.mp-save-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.mp-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.mp-save-btn:disabled{opacity:.5;cursor:not-allowed}.mp-message{padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;margin-bottom:20px}.mp-message.success{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.mp-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.mp-profile-layout{display:flex;gap:32px;align-items:flex-start}.mp-avatar-section{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.mp-avatar{position:relative;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;overflow:hidden}.mp-avatar img{width:100%;height:100%;object-fit:cover}.mp-avatar-initials{font-size:36px;font-weight:800;color:#fff}.mp-avatar-upload-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #f59e0b;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#f59e0b;font-size:16px;transition:all .2s}.mp-avatar-upload-btn:hover{background:#fef3c7}.mp-avatar-upload-btn:disabled{opacity:.5;cursor:not-allowed}.mp-upload-status{font-size:11px;color:#f59e0b;font-weight:600}.mp-fields{flex:1}.mp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.mp-field-row:last-child{margin-bottom:0}.mp-field label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.mp-field label svg{font-size:16px}.mp-field-value{font-size:15px;color:#111827;font-weight:500;padding:8px 0}.mp-field input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:all .2s;background:#fff}.mp-field input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.mp-role-badge{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.mp-password-form{max-width:600px}.mp-password-field{margin-bottom:18px}.mp-password-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.mp-password-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mp-input-with-icon{position:relative}.mp-input-with-icon input{width:100%;padding:10px 40px 10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:all .2s;background:#fff}.mp-input-with-icon input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.mp-toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;font-size:20px}.mp-toggle-password:hover{color:#6b7280}.mp-notif-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.mp-notif-group h3{font-size:14px;font-weight:700;color:#374151;margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px}.mp-toggle-list{display:flex;flex-direction:column;gap:4px}.mp-toggle-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;transition:background .2s}.mp-toggle-item:hover{background:#f9fafb}.mp-toggle-info{display:flex;flex-direction:column}.mp-toggle-label{font-size:14px;font-weight:600;color:#111827}.mp-toggle-desc{font-size:12px;color:#9ca3af;margin-top:2px}.mp-toggle{position:relative;width:44px;height:24px;background:#d1d5db;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;flex-shrink:0}.mp-toggle.active{background:#fbbf24;box-shadow:0 2px 8px #fbbf2466}.mp-toggle-dot{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.mp-toggle.active .mp-toggle-dot{transform:translate(20px)}@media(max-width:768px){.mp-section{padding:20px}.mp-profile-layout{flex-direction:column;align-items:center}.mp-field-row,.mp-password-row,.mp-notif-grid{grid-template-columns:1fr}.mp-section-header{flex-direction:column;align-items:flex-start;gap:12px}}[data-theme=dark] .mp-section{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .mp-section-header{border-bottom-color:var(--border-color)}[data-theme=dark] .mp-section-header h2{color:var(--text-primary)}[data-theme=dark] .mp-field label{color:var(--text-tertiary)}[data-theme=dark] .mp-field-value{color:var(--text-primary)}[data-theme=dark] .mp-field input,[data-theme=dark] .mp-input-with-icon input{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .mp-field input:focus,[data-theme=dark] .mp-input-with-icon input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}[data-theme=dark] .mp-edit-btn{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}[data-theme=dark] .mp-cancel-btn{background:var(--bg-tertiary);color:var(--text-tertiary);border-color:var(--border-color)}[data-theme=dark] .mp-message.success{background:#10b9811f;color:#34d399;border-color:#10b9814d}[data-theme=dark] .mp-message.error{background:#ef44441f;color:#f87171;border-color:#ef44444d}[data-theme=dark] .mp-role-badge{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .mp-password-field label{color:var(--text-secondary)}[data-theme=dark] .mp-toggle-password{color:var(--text-muted)}[data-theme=dark] .mp-notif-group h3{color:var(--text-secondary)}[data-theme=dark] .mp-toggle-label{color:var(--text-primary)}[data-theme=dark] .mp-toggle-desc{color:var(--text-muted)}[data-theme=dark] .mp-toggle-item:hover{background:var(--bg-hover)}[data-theme=dark] .mp-toggle{background:var(--bg-tertiary)}[data-theme=dark] .mp-toggle.active{background:#fbbf24;box-shadow:0 2px 8px #fbbf244d}[data-theme=dark] .mp-avatar-upload-btn{background:var(--surface-card);border-color:#f59e0b}.instructor-page{padding:20px;max-width:1400px}.page-header{margin-bottom:32px}.page-header h1{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;color:#111827;margin:0 0 8px}.page-header h1 svg{color:#f59e0b}.page-header p{color:#6b7280;font-size:15px;margin:0}.search-bar{position:relative;margin-bottom:24px;max-width:400px}.search-bar input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;transition:all .3s ease}.search-bar input:focus{outline:none;border-color:#f59e0b}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:20px}.stats-summary{display:flex;gap:20px;margin-bottom:32px;flex-wrap:wrap}.stat-box{background:#fff;border-radius:12px;padding:20px 32px;box-shadow:0 1px 3px #0000001a;text-align:center;min-width:150px}.stat-box.success{background:#ecfdf5}.stat-value{display:block;font-size:32px;font-weight:800;color:#111827}.stat-box.success .stat-value{color:#10b981}.stat-label{display:block;font-size:13px;color:#6b7280;margin-top:4px}.students-table-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f3f4f6}.students-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.students-table tr:hover{background:#fafafa}.student-cell{display:flex;align-items:center;gap:12px}.student-cell .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;overflow:hidden}.student-cell .avatar img{width:100%;height:100%;object-fit:cover}.score-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.score-badge.success{background:#ecfdf5;color:#10b981}.score-badge.warning{background:#fef3c7;color:#f59e0b}.score-badge.danger{background:#fef2f2;color:#ef4444}.btn-small{padding:8px 16px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-small:hover{background:#e5e7eb}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.report-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.report-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.student-info{display:flex;align-items:center;gap:12px}.student-info .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.student-info h3{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px}.student-info p{font-size:13px;color:#6b7280;margin:0}.status-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.passed{background:#ecfdf5;color:#10b981}.status-badge.pending{background:#fef3c7;color:#f59e0b}.status-badge.failed{background:#fef2f2;color:#ef4444}.report-stats{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:10px}.report-stats .stat{text-align:center}.report-stats .stat .value{display:block;font-size:24px;font-weight:700;color:#111827}.report-stats .stat .label{display:block;font-size:12px;color:#6b7280}.report-actions{display:flex;gap:12px}.btn-secondary{flex:1;padding:12px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#e5e7eb}.btn-primary{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto}.modal-content h2{font-size:22px;font-weight:700;color:#111827;margin:0 0 24px}.modal-footer{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #f3f4f6}.results-table{width:100%;border-collapse:collapse}.results-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f3f4f6}.results-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a}.empty-icon{font-size:64px;color:#d1d5db;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state p{font-size:14px;color:#6b7280;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:20px}.spinner-large{width:50px;height:50px;border:4px solid #f3f4f6;border-top:4px solid #f59e0b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-bar{background:#e5e7eb;border-radius:8px;height:8px;overflow:hidden;width:100%}.progress-bar.large{height:12px;border-radius:10px}.progress-fill{background:linear-gradient(135deg,#10b981,#059669);height:100%;border-radius:inherit;transition:width .5s ease;min-width:0}.progress-text{font-size:12px;color:#6b7280;margin-top:4px;display:inline-block}.grade-progress{margin-bottom:16px}.grade-progress-header{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;margin-bottom:6px}.grade-progress-header svg{font-size:16px;color:#f59e0b}.grade-modal{max-width:800px}.grade-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.grade-modal-header h2{margin-bottom:4px}.grade-modal-email{font-size:13px;color:#6b7280;margin:0}.grade-modal-header-actions{display:flex;align-items:center;gap:12px}.grade-close-btn{background:#f3f4f6;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#6b7280;transition:all .2s}.grade-close-btn:hover{background:#e5e7eb;color:#111827}.grade-stats-row{display:flex;gap:16px;margin-bottom:24px}.grade-stat{flex:1;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f9fafb;border-radius:12px}.grade-stat>svg{font-size:24px;color:#f59e0b}.grade-stat-value{display:block;font-size:18px;font-weight:700;color:#111827}.grade-stat-label{display:block;font-size:11px;color:#6b7280}.grade-section{margin-bottom:20px}.grade-section h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 10px}.grade-table-container{overflow-x:auto;border-radius:10px;border:1px solid #f3f4f6}@media(max-width:768px){.instructor-page{padding:16px}.page-header h1{font-size:22px}.stats-summary{flex-direction:column}.stat-box{width:100%}.reports-grid{grid-template-columns:1fr}.report-stats{flex-direction:column;gap:12px}.report-actions{flex-direction:column}.modal-content{padding:20px}.grade-stats-row{flex-direction:column;gap:10px}.grade-modal-header{flex-direction:column;gap:12px}.grade-modal-header-actions{justify-content:space-between;width:100%}}[data-theme=dark] .page-header h1{color:var(--text-primary)}[data-theme=dark] .page-header p,[data-theme=dark] .stat-label,[data-theme=dark] .student-info p,[data-theme=dark] .report-stats .stat .label,[data-theme=dark] .results-table th,[data-theme=dark] .empty-state p,[data-theme=dark] .students-table th{color:var(--text-tertiary)}[data-theme=dark] .stat-value,[data-theme=dark] .student-info h3,[data-theme=dark] .modal-content h2,[data-theme=dark] .report-stats .stat .value{color:var(--text-primary)}[data-theme=dark] .students-table td,[data-theme=dark] .results-table td{color:var(--text-secondary)}[data-theme=dark] .stat-box{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .stat-box.success{background:var(--success-bg)}[data-theme=dark] .students-table-container,[data-theme=dark] .report-card,[data-theme=dark] .empty-state,[data-theme=dark] .modal-content{background:var(--surface-card);box-shadow:var(--shadow-sm)}[data-theme=dark] .report-card:hover{box-shadow:var(--shadow-md)}[data-theme=dark] .students-table th,[data-theme=dark] .students-table td{border-bottom-color:var(--border-color)}[data-theme=dark] .students-table tr:hover{background:var(--bg-hover)}[data-theme=dark] .results-table th,[data-theme=dark] .results-table td{border-bottom-color:var(--border-color)}[data-theme=dark] .report-stats{background:var(--bg-tertiary)}[data-theme=dark] .modal-footer{border-top-color:var(--border-color)}[data-theme=dark] .btn-secondary,[data-theme=dark] .btn-small{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .btn-secondary:hover,[data-theme=dark] .btn-small:hover{background:var(--bg-hover)}[data-theme=dark] .search-bar input{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}[data-theme=dark] .search-icon{color:var(--text-muted)}[data-theme=dark] .empty-state h3{color:var(--text-secondary)}[data-theme=dark] .empty-icon{color:var(--text-muted)}[data-theme=dark] .score-badge.success{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .score-badge.warning{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .score-badge.danger{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .status-badge.passed{background:var(--success-bg);color:var(--success-text)}[data-theme=dark] .status-badge.pending{background:var(--warning-bg);color:var(--warning-text)}[data-theme=dark] .status-badge.failed{background:var(--error-bg);color:var(--error-text)}[data-theme=dark] .loading-container{color:var(--text-tertiary)}[data-theme=dark] .spinner-large{border-color:var(--border-color);border-top-color:#f59e0b}[data-theme=dark] .progress-bar{background:var(--bg-tertiary)}[data-theme=dark] .progress-text,[data-theme=dark] .grade-progress-header{color:var(--text-tertiary)}[data-theme=dark] .grade-stat{background:var(--bg-tertiary)}[data-theme=dark] .grade-stat-value{color:var(--text-primary)}[data-theme=dark] .grade-stat-label{color:var(--text-tertiary)}[data-theme=dark] .grade-section h3{color:var(--text-secondary)}[data-theme=dark] .grade-table-container{border-color:var(--border-color)}[data-theme=dark] .grade-close-btn{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .grade-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .grade-modal-email{color:var(--text-tertiary)}#root{width:100%;margin:0;padding:0}*{box-sizing:border-box}:root{--primary-color: #f59e0b;--primary-color-light: #fbbf24;--primary-color-dark: #d97706;--primary-color-rgb: 245, 158, 11;--theme-transition: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease}:root,:root.theme-light,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #e5e7eb;--bg-active: #fef3c7;--surface-card: #ffffff;--surface-modal: #ffffff;--surface-overlay: rgba(0, 0, 0, .5);--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-inverse: #ffffff;--border-color: #e5e7eb;--border-color-light: #f3f4f6;--border-color-dark: #d1d5db;--shadow-sm: 0 1px 2px 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);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--success-bg: #d1fae5;--success-text: #065f46;--success-border: #a7f3d0;--warning-bg: #fef3c7;--warning-text: #92400e;--warning-border: #fcd34d;--error-bg: #fee2e2;--error-text: #991b1b;--error-border: #fecaca;--info-bg: #fef3c7;--info-text: #92400e;--info-border: #fde68a;--input-bg: #ffffff;--input-border: #d1d5db;--input-focus-border: var(--primary-color);--input-placeholder: #9ca3af;--sidebar-bg: #ffffff;--sidebar-text: #374151;--sidebar-hover: #f3f4f6;--sidebar-active: var(--primary-color);--sidebar-active-bg: #fffbeb;--header-bg: #ffffff;--header-border: #e5e7eb}:root.theme-dark,[data-theme=dark]{--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-hover: #4b5563;--bg-active: #1e3a5f;--surface-card: #1f2937;--surface-modal: #1f2937;--surface-overlay: rgba(0, 0, 0, .7);--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #d1d5db;--text-muted: #9ca3af;--text-inverse: #111827;--border-color: #374151;--border-color-light: #4b5563;--border-color-dark: #1f2937;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--success-bg: #064e3b;--success-text: #a7f3d0;--success-border: #065f46;--warning-bg: #78350f;--warning-text: #fcd34d;--warning-border: #92400e;--error-bg: #7f1d1d;--error-text: #fecaca;--error-border: #991b1b;--info-bg: #78350f;--info-text: #fcd34d;--info-border: #92400e;--input-bg: #374151;--input-border: #4b5563;--input-focus-border: var(--primary-color);--input-placeholder: #9ca3af;--sidebar-bg: #1f2937;--sidebar-text: #e5e7eb;--sidebar-hover: #374151;--sidebar-active: var(--primary-color);--sidebar-active-bg: rgba(245, 158, 11, .2);--header-bg: #1f2937;--header-border: #374151}body{background-color:var(--bg-secondary);color:var(--text-primary);transition:var(--theme-transition)}.card,.course-card,.exam-card,.stat-card,.dashboard-card{background-color:var(--surface-card);border-color:var(--border-color);color:var(--text-primary);transition:var(--theme-transition)}input,textarea,select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary);transition:var(--theme-transition)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:focus,textarea:focus,select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}a{color:var(--primary-color)}a:hover{color:var(--primary-color-dark)}.modal-overlay{background-color:var(--surface-overlay)}.modal-content,.modal{background-color:var(--surface-modal);color:var(--text-primary)}table{background-color:var(--surface-card);color:var(--text-primary)}th{background-color:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}td{border-color:var(--border-color)}tr:hover{background-color:var(--bg-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}[data-theme=dark] .settings-container,[data-theme=dark] .course-management,[data-theme=dark] .exam-management,[data-theme=dark] .user-management,[data-theme=dark] .dashboard-container{background-color:var(--bg-secondary)}[data-theme=dark] .settings-sidebar,[data-theme=dark] .sidebar{background-color:var(--sidebar-bg)}[data-theme=dark] .settings-panel{background-color:var(--surface-card);border-color:var(--border-color)}[data-theme=dark] .settings-tab{color:var(--text-secondary)}[data-theme=dark] .settings-tab:hover{background-color:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .settings-tab.active{background-color:var(--bg-tertiary);color:var(--primary-color)}[data-theme=dark] .toggle-group{background-color:var(--bg-tertiary)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-primary)}[data-theme=dark] .section-description,[data-theme=dark] .toggle-description{color:var(--text-tertiary)}[data-theme=dark] .form-divider{background-color:var(--border-color)}[data-theme=dark] .btn-reset{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-reset:hover{background-color:var(--bg-hover)}[data-theme=dark] .theme-preview.light{background-color:#fff;color:#1f2937}[data-theme=dark] .theme-preview.dark{background-color:#374151;color:#fff}[data-theme=dark] .save-message.success{background-color:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}[data-theme=dark] .save-message.error{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}[data-theme=dark] .unsaved-indicator{background-color:var(--warning-bg);color:var(--warning-text)}
