.admin-page{margin:0 auto;max-width:1200px;padding:24px}.admin-header{margin-bottom:24px}.admin-header h1{color:#a78bfa;font-size:1.8rem}.admin-header p{color:#888;font-size:.9rem}.admin-tabs{background:#0d0d2b;border-radius:12px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;padding:6px}.admin-tab{background:#0000;border:none;border-radius:8px;color:#888;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;position:relative;transition:all .2s}.admin-tab:hover{background:#7c3aed1a;color:#a78bfa}.admin-tab.active{background:#7c3aed;color:#fff}.admin-badge{align-items:center;background:#f87171;border-radius:50%;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;position:absolute;right:2px;top:2px;width:18px}.admin-content{min-height:400px}.admin-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:700px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-stat-card{background:#1a1a2e;border:1px solid #2a1a5e;border-radius:12px;padding:20px;text-align:center}.admin-stat-card.green{background:#16a34a0d;border-color:#16a34a}.admin-stat-card.yellow{background:#ca8a040d;border-color:#ca8a04}.admin-stat-card.red{background:#dc26260d;border-color:#dc2626}.admin-stat-card.purple{background:#7c3aed0d;border-color:#7c3aed}.admin-stat-icon{font-size:1.8rem;margin-bottom:8px}.admin-stat-val{color:#a78bfa;font-size:2rem;font-weight:700}.admin-stat-label{color:#888;font-size:.78rem;margin-top:4px}.admin-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.admin-row{grid-template-columns:1fr}}.admin-card{background:#1a1a2e;border:1px solid #2a1a5e;border-radius:12px;padding:20px}.admin-card h3{color:#a78bfa;font-size:.9rem;margin-bottom:14px}.admin-big-text{color:#e0e0f0;font-size:1.4rem;font-weight:700}.admin-sub{color:#888;font-size:.8rem;margin-top:4px}.admin-bar-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.admin-bar-label{color:#aaa;flex-shrink:0;font-size:.75rem;width:100px}.admin-bar-bg{background:#333;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.admin-bar-fill{border-radius:4px;height:100%;transition:width .4s ease}.admin-bar-val{color:#a78bfa;font-size:.75rem;text-align:right;width:30px}.admin-popular-row{align-items:center;border-bottom:1px solid #1e1e3a;display:flex;font-size:.82rem;justify-content:space-between;padding:6px 0}.admin-popular-nb{background:#7c3aed33;border-radius:10px;color:#a78bfa;font-size:.75rem;padding:2px 8px}.admin-section-title{color:#e0e0f0;font-size:1.2rem;font-weight:700;margin-bottom:16px}.admin-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.admin-empty{background:#1a1a2e;border:1px solid #2a1a5e;border-radius:10px;color:#888;padding:40px;text-align:center}.admin-soumission-card{background:#1a1a2e;border:1px solid #ca8a04;border-radius:12px;margin-bottom:12px;padding:16px}.admin-soum-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.admin-soum-icon{flex-shrink:0;font-size:1.6rem}.admin-soum-info{flex:1 1}.admin-soum-info strong{display:block;font-size:1rem}.admin-soum-quete{color:#a78bfa;display:block;font-size:.82rem}.admin-soum-date{color:#888;font-size:.72rem}.admin-soum-points{color:#a78bfa;font-weight:700;white-space:nowrap}.admin-soum-content{background:#07071a;border-radius:8px;margin-bottom:12px;padding:10px 14px}.admin-soum-content strong{color:#888;font-size:.78rem}.admin-soum-text{color:#e0e0f0;font-size:.9rem;margin-top:4px;word-break:break-all}.admin-soum-actions{display:flex;gap:10px}.admin-btn-valide{background:#16a34a33;border:1px solid #16a34a;border-radius:8px;color:#4ade80;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:700;padding:8px;transition:all .2s}.admin-btn-valide:hover{background:#16a34a;color:#fff}.admin-btn-refuse{background:#dc262633;border:1px solid #dc2626;border-radius:8px;color:#f87171;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:700;padding:8px;transition:all .2s}.admin-btn-refuse:hover{background:#dc2626;color:#fff}.admin-btn-refuse:disabled,.admin-btn-valide:disabled{cursor:not-allowed;opacity:.5}.admin-table{border-collapse:collapse;font-size:.82rem;width:100%}.admin-table th{background:#1a1a2e;border-bottom:2px solid #2a1a5e;color:#a78bfa;font-size:.78rem;letter-spacing:1px;padding:10px 12px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #1e1e3a;padding:10px 12px;vertical-align:middle}.admin-table tr:hover td{background:#7c3aed0d}.admin-level-badge{background:#7c3aed33;border-radius:10px;font-size:.75rem;padding:2px 8px}.admin-level-badge,.admin-xp{color:#a78bfa;font-weight:700}.admin-muted{color:#888}.small{font-size:.72rem}.admin-role{border-radius:10px;font-size:.7rem;font-weight:700;padding:2px 8px}.admin-role.staff{background:#7c3aed4d;color:#a78bfa}.admin-role.formateur{background:#16a34a33;color:#4ade80}.admin-role.user{background:#64646433;color:#888}.admin-type-tag{background:#1e1e3a;border-radius:6px;color:#888}.admin-comp-tag,.admin-type-tag{font-size:.72rem;padding:2px 8px}.admin-comp-tag{background:#7c3aed33;border-radius:10px;color:#a78bfa;display:inline-block;margin:2px}.admin-cat-tag{background:#7c3aed26;border-radius:6px;color:#a78bfa;font-size:.7rem;padding:2px 6px}.admin-cat-tag.frontend{background:#0ea5e926;color:#38bdf8}.admin-cat-tag.backend{background:#16a34a26;color:#4ade80}.admin-cat-tag.devops{background:#ea580c26;color:#fb923c}.admin-cat-tag.data{background:#7c3aed26;color:#a78bfa}.q-icon{font-size:1.2rem;margin-right:6px}.admin-btn-create{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 18px;transition:all .2s}.admin-btn-create:hover{background:#5a32a3}.admin-btn-delete{background:#0000;border:1px solid #dc2626;border-radius:6px;color:#f87171;cursor:pointer;font-size:.78rem;padding:4px 10px;transition:all .2s}.admin-btn-delete:hover{background:#dc2626;color:#fff}.admin-btn-submit{background:#7c3aed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;margin-top:12px;padding:12px;transition:all .2s;width:100%}.admin-btn-submit:hover{background:#5a32a3}.admin-form{background:#0d0d2b;border:1px solid #7c3aed;border-radius:12px;margin-bottom:20px;padding:20px}.admin-form h3{color:#a78bfa;font-size:1rem;margin-bottom:16px}.admin-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.admin-form-group{display:flex;flex-direction:column;gap:6px}.admin-form-group.full{grid-column:1/-1}.admin-form-group label{color:#a78bfa;font-size:.78rem;font-weight:600}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{background:#07071a;border:1px solid #444;border-radius:7px;color:#fff;font-family:inherit;font-size:.85rem;padding:8px 10px}.admin-form-group input:focus,.admin-form-group select,.admin-form-group textarea:focus{border-color:#7c3aed;outline:none}.admin-form-group textarea{resize:vertical}.admin-code{font-family:Courier New,monospace!important}.admin-comp-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.admin-checkbox-label{align-items:center;background:#1a1a2e;border:1px solid #333;border-radius:8px;cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:5px 10px;transition:all .2s}.admin-checkbox-label:hover{border-color:#7c3aed}.admin-checkbox-label input{accent-color:#7c3aed}.admin-toast{animation:fadeIn .3s ease;background:#7c3aed;border-radius:10px;bottom:24px;color:#fff;font-size:.88rem;max-width:400px;padding:12px 20px;position:fixed;right:24px;z-index:9999}body{background:#0f0f1a;color:#e0e0e0;font-family:Segoe UI,sans-serif;min-height:100vh;transition:background .3s ease,color .3s ease}.navbar{background:#1a1a2e;border-bottom:2px solid #6f42c1;box-shadow:0 2px 20px #0006;height:62px;justify-content:space-between;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-brand,.navbar{align-items:center;display:flex}.nav-brand{color:#a78bfa;font-size:1.15rem;gap:8px;text-decoration:none;transition:color .2s;white-space:nowrap}.nav-brand strong{color:#fff;font-size:1.2rem;letter-spacing:.3px}.nav-brand:hover{color:#7c3aed}.nav-link,.nav-links{align-items:center;display:flex;gap:6px}.nav-link{border:1px solid #0000;border-radius:8px;color:#c4b5fd;font-size:.88rem;font-weight:600;padding:7px 14px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:#7c3aed2e;border-color:#6f42c1;color:#fff}.nav-link.active{background:#7c3aed;border-color:#7c3aed;box-shadow:0 2px 10px #7c3aed66;color:#fff}.nav-link-admin{color:#fde047}.nav-link-admin:hover{background:#fde0471f;border-color:#fde047;color:#fde047}.nav-link-admin.active{background:#fde04733;border-color:#fde047;color:#fde047}.nav-actions{align-items:center;display:flex;gap:10px}.btn-deconnexion{background:#0000;border:1px solid #ef4444;border-radius:8px;color:#f87171;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:7px 16px;transition:all .2s;white-space:nowrap}.btn-deconnexion:hover{background:#ef444426;border-color:#f87171;color:#fff}.theme-toggle-btn{align-items:center;background:#0000;border:1px solid #6f42c1;border-radius:50%;color:#a78bfa;cursor:pointer;display:flex;font-family:inherit;font-size:1.1rem;height:36px;justify-content:center;transition:all .2s;width:36px}.theme-toggle-btn:hover{background:#7c3aed40;border-color:#a78bfa;transform:scale(1.1)}.app-content{min-height:calc(100vh - 62px)}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#3232b3;border:1px solid #6f42c1;border-radius:16px;max-width:400px;padding:40px;width:100%}.auth-card h1{font-size:2rem;margin-bottom:8px;text-align:center}.auth-card h2{color:#aaa;margin-bottom:24px;text-align:center}.auth-card input{background:#0f0f1a;border:1px solid #444;border-radius:8px;color:#fff;font-size:1rem;margin-bottom:12px;padding:12px;width:100%}.auth-card input:focus{border-color:#6f42c1;outline:none}.auth-card p{color:#aaa;margin-top:16px;text-align:center}.auth-card a{color:#a78bfa}.btn-primary{background:#6f42c1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px;transition:all .2s;width:100%}.btn-primary:hover{background:#5a32a3}.dashboard{margin:0 auto;max-width:1000px;padding:24px}.dashboard-hero{align-items:center;background:linear-gradient(135deg,#1a1a2e,#2d1b69);border:1px solid #6f42c1;border-radius:16px;display:flex;gap:32px;margin-bottom:32px;padding:32px}.hero-info h1{font-size:1.8rem;margin-bottom:8px}.level-badge{background:#6f42c1;border-radius:20px;display:inline-block;font-weight:700;margin-bottom:12px;padding:4px 16px}.stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.stat{align-items:center;background:#6f42c133;border-radius:10px;display:flex;flex-direction:column;padding:12px 20px}.stat-value{color:#a78bfa;font-size:1.5rem;font-weight:700}.stat-label{color:#aaa;font-size:.75rem;margin-top:4px}.avatar-container{align-items:center;background:#0f0f1a;border:3px solid;border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:120px;justify-content:center;width:120px}.avatar-emoji{font-size:3rem}.avatar-label{font-size:.65rem;font-weight:700;margin-top:4px}.avatar-level{color:#aaa;font-size:.7rem}.progress-container{margin-top:8px}.progress-bar{background:#333;border-radius:8px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#6f42c1,#a78bfa);border-radius:8px;height:100%;transition:width .5s ease}.progress-label{color:#aaa;font-size:.75rem;margin-top:4px}.dashboard-quetes h2{margin-bottom:12px}.quetes-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.quete-card{background:#1a1a2e;border:1px solid #333;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:16px}.quete-card.done{border-color:#28a745;opacity:.7}.quete-icone{font-size:1.5rem}.quete-titre{font-size:.85rem;font-weight:700}.quete-points{color:#a78bfa;font-size:.8rem}.quetes-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.stat-pill{background:#6f42c133;border:1px solid #6f42c1;border-radius:20px;color:#a78bfa;font-size:.85rem;font-weight:700;padding:6px 16px}.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filtre-btn{background:#1a1a2e;border:1px solid #444;border-radius:8px;color:#aaa;cursor:pointer;font-size:.85rem;padding:6px 16px;transition:all .2s}.filtre-btn.active,.filtre-btn:hover{background:#6f42c1;border-color:#6f42c1;color:#fff}.quetes-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr;position:relative}@media (max-width:800px){.quetes-layout{grid-template-columns:1fr}}.quetes-liste{display:flex;flex-direction:column;gap:10px}.quete-card-new{border:1px solid #444;border-radius:12px;cursor:pointer;padding:16px;transition:all .2s}.quete-card-new.selected,.quete-card-new:hover{box-shadow:0 0 12px #6f42c14d;transform:translateX(4px)}.quete-card-top{align-items:center;display:flex;gap:12px;margin-bottom:6px}.quete-icone-big{flex-shrink:0;font-size:1.8rem}.quete-card-info{flex:1 1}.quete-card-info strong{display:block;font-size:.9rem}.quete-diff{color:#aaa;font-size:.75rem}.quete-card-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.xp-badge{background:#6f42c14d;border-radius:12px;color:#a78bfa;font-size:.8rem;font-weight:700;padding:3px 10px}.statut-badge{font-size:.75rem;font-weight:700}.quete-desc-short{color:#aaa;font-size:.8rem;margin-top:4px}.quete-detail{background:#1a1a2e;border:1px solid #6f42c1;border-radius:12px;padding:24px;position:-webkit-sticky;position:sticky;top:76px}.quete-detail h2{font-size:1.1rem;margin-bottom:6px}.quete-detail-empty{align-items:center;background:#1a1a2e;border:1px dashed #444;border-radius:12px;color:#666;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;position:-webkit-sticky;position:sticky;text-align:center;top:76px}.quete-detail-empty .empty-icon{font-size:2.5rem;opacity:.4}.quete-detail-empty p{font-size:.85rem}.instructions-box{background:#0f0f1a;border:1px solid #333;border-radius:8px;margin:16px 0;padding:16px}.instructions-box h3{color:#a78bfa;font-size:.95rem;margin-bottom:10px}.instructions-text{color:#ccc;font-size:.85rem;line-height:1.6;white-space:pre-wrap}.feedback-box{border-radius:8px;font-size:.85rem;line-height:1.5;margin:12px 0;padding:12px 16px}.feedback-box.success{background:#28a7451a;border:1px solid #28a745;color:#a3d9a5}.feedback-box.error{background:#dc35451a;border:1px solid #dc3545;color:#f5a0a0}.xp-earned{color:#a78bfa;font-weight:700;margin-left:8px}.soumission-form h3{color:#a78bfa;font-size:.95rem;margin-bottom:10px}.soumission-form textarea{background:#0f0f1a;border:1px solid #444;border-radius:8px;color:#fff;font-size:.85rem;margin-bottom:10px;padding:10px;resize:vertical;width:100%}.soumission-form textarea:focus{border-color:#6f42c1;outline:none}.btn-submit{background:#6f42c1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:8px;padding:10px;transition:all .2s;width:100%}.btn-submit:hover:not(:disabled){background:#5a32a3}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.btn-retry{background:#0000;border:1px solid #444;border-radius:8px;color:#aaa;cursor:pointer;font-size:.85rem;padding:8px;transition:all .2s;width:100%}.btn-retry:hover{border-color:#6f42c1;color:#a78bfa}.attente-box{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;color:#ffd86b;font-size:.85rem}.attente-box,.valide-box{margin-top:12px;padding:12px}.valide-box{background:#28a7451a;border:1px solid #28a745;border-radius:8px;color:#a3d9a5;font-size:.9rem;text-align:center}.classement-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.classement-item{align-items:center;background:#1a1a2e;border:1px solid #333;border-radius:10px;display:flex;gap:16px;padding:16px 20px}.classement-item.rang-1{background:#ffc1070d;border-color:#ffc107}.classement-item.rang-2{border-color:#adb5bd}.classement-item.rang-3{border-color:#cd7f32}.rang{font-size:1.5rem;width:40px}.user-info{flex:1 1}.user-info strong{display:block}.level-tag{color:#a78bfa;font-size:.8rem}.points-total{color:#a78bfa;font-size:1.1rem;font-weight:700}.profil-header{background:#1a1a2e;border:1px solid #6f42c1;border-radius:12px;margin-bottom:24px;padding:24px}.profil-header h2{margin-bottom:4px}.section{margin-bottom:32px}.section h2{margin-bottom:12px}.comp-category{margin-bottom:20px}.comp-cat-title{color:#a78bfa;font-size:.85rem;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.competences-grid{display:flex;flex-wrap:wrap;gap:8px}.comp-badge{border:1px solid #444;border-radius:20px;font-size:.85rem;padding:6px 14px;transition:all .2s}.comp-badge.available{background:#1a1a2e;cursor:pointer}.comp-badge.available:hover{border-color:#6f42c1;color:#a78bfa}.comp-badge.owned{background:#6f42c1;border-color:#6f42c1;color:#fff;cursor:default}.comp-badge.locked{background:#111;border-color:#333;color:#555;cursor:not-allowed}.github-form{display:flex;gap:10px;margin-top:8px}.github-form input{background:#0f0f1a;border:1px solid #444;border-radius:8px;color:#fff;flex:1 1;padding:10px}.github-form button{padding:10px 20px;width:auto}.repos-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.repo-item{background:#1a1a2e;border:1px solid #333;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.page{margin:0 auto;max-width:1100px;padding:24px}.page h1{font-size:1.8rem;margin-bottom:20px}.page h2{color:#a78bfa;margin-bottom:12px;margin-top:24px}.loading{color:#aaa;font-size:1.2rem;padding:60px;text-align:center}.error{background:#dc35451a;color:#dc3545}.error,.success{border-radius:6px;margin-bottom:12px;padding:10px}.success{background:#28a7451a;color:#28a745}.toast{animation:fadeIn .3s ease;background:#6f42c1;border-radius:10px;bottom:24px;color:#fff;padding:12px 20px;position:fixed;right:24px;z-index:999}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1}}body.theme-light{background:#f8f7ff!important;color:#1f2937!important}body.theme-light .navbar{background:#fff!important;border-color:#ddd6fe!important;box-shadow:0 2px 12px #7c3aed14!important}body.theme-light .nav-brand{color:#6d28d9!important}body.theme-light .nav-brand strong{color:#1f2937!important}body.theme-light .nav-link{color:#5b21b6!important}body.theme-light .nav-link:hover{background:#7c3aed14!important;border-color:#a78bfa!important;color:#4c1d95!important}body.theme-light .nav-link.active{background:#7c3aed!important;border-color:#7c3aed!important;color:#fff!important}body.theme-light .nav-link-admin{color:#d97706!important}body.theme-light .theme-toggle-btn{border-color:#7c3aed!important;color:#5b21b6!important}body.theme-light .btn-deconnexion{border-color:#dc2626!important;color:#dc2626!important}body.theme-light .btn-deconnexion:hover{background:#dc262614!important}body.theme-light .auth-card{background:#3232b3!important}body.theme-light .dashboard-hero{background:linear-gradient(135deg,#ede9fe,#faf5ff)!important;border-color:#ddd6fe!important}body.theme-light .profil-header{background:#f5f3ff!important;border-color:#ddd6fe!important}body.theme-light .classement-item,body.theme-light .quete-card-new,body.theme-light .quete-detail{background:#fff!important;border-color:#ddd6fe!important}body.theme-light .stat{background:#7c3aed0f!important}body.theme-light .stat-value{color:#5b21b6!important}body.theme-light .filtre-btn{background:#fff!important;border-color:#ddd6fe!important;color:#4b5563!important}body.theme-light .filtre-btn.active{background:#7c3aed!important;color:#fff!important}body.theme-light .instructions-box{background:#f5f3ff!important;border-color:#ddd6fe!important}body.theme-light .instructions-text{color:#374151!important}body.theme-light .page h2{color:#5b21b6!important}
/*# sourceMappingURL=main.c070f2e9.css.map*/