*{box-sizing:border-box;margin:0;padding:0}body{color:#0a1628;background-color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{color:#0a1628;margin-bottom:12px;font-size:36px;font-weight:800}.section-title .highlight{color:#1a237e}.section-subtitle{color:#6c757d;max-width:600px;margin:0 auto 40px;font-size:18px}.btn-primary{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-block}.btn-secondary{color:#1a237e;cursor:pointer;background:0 0;border:2px solid #1a237e;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-block}.btn-secondary:hover{color:#fff;background:#1a237e;transform:translateY(-2px)}.btn-gold{color:#0a1628;cursor:pointer;background:gold;border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:700;transition:all .3s;display:inline-block}.btn-gold:hover{background:#ffed4a;transform:translateY(-2px);box-shadow:0 8px 25px #ffd7004d}.card{background:#fff;border-radius:16px;padding:24px;transition:all .3s;box-shadow:0 4px 20px #0000000f}.card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.form-group label{color:#0a1628;margin-bottom:6px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-size:15px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 3px #1a237e1a}.form-group textarea{resize:vertical;min-height:100px}.grid-2{grid-template-columns:1fr 1fr;gap:30px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gold{color:gold}.text-primary{color:#1a237e}.text-muted{color:#6c757d}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mt-4{margin-top:40px}.mt-5{margin-top:50px}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.mb-4{margin-bottom:40px}.mb-5{margin-bottom:50px}.p-1{padding:10px}.p-2{padding:20px}.p-3{padding:30px}.p-4{padding:40px}.p-5{padding:50px}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-column{flex-direction:column;display:flex}.gap-1{gap:10px}.gap-2{gap:20px}.gap-3{gap:30px}@media (width<=992px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (width<=576px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section-title{font-size:28px}.section-subtitle{font-size:16px}.btn-primary,.btn-secondary,.btn-gold{text-align:center;width:100%;padding:12px 24px;font-size:14px}.flex-between{flex-direction:column;gap:10px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.6s ease-out fadeIn}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#1a237e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0d47a1}.navbar{z-index:1000;background:#fff;border-bottom:1px solid #e8ede8;padding:14px 20px;transition:all .3s;position:sticky;top:0;box-shadow:0 2px 12px #0000000f}body.dark-mode .navbar{background:#1a1a2e;border-bottom:1px solid #2a2a3e;box-shadow:0 2px 12px #0000004d}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.navbar-logo{color:#1a1a2e;flex-shrink:0;font-size:24px;font-weight:800;text-decoration:none;transition:color .3s}body.dark-mode .navbar-logo{color:#fff}.navbar-logo .highlight{color:#2e7d32}body.dark-mode .navbar-logo .highlight{color:#66bb6a}.navbar-menu{flex:1;justify-content:center;align-items:center;gap:40px;display:flex}.navbar-links{gap:32px;margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:#4a4a5a;font-size:15px;font-weight:500;text-decoration:none;transition:color .3s}body.dark-mode .navbar-links a{color:#b0b0c0}.navbar-links a:hover{color:#2e7d32}body.dark-mode .navbar-links a:hover{color:#66bb6a}.navbar-auth{flex-shrink:0;align-items:center;gap:16px;display:flex}.navbar-icons{border-right:1px solid #e8ede8;align-items:center;gap:8px;padding-right:16px;display:flex}body.dark-mode .navbar-icons{border-right-color:#2a2a3e}.navbar-icon-btn{color:#4a4a5a;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:all .3s;display:flex}body.dark-mode .navbar-icon-btn{color:#b0b0c0}.navbar-icon-btn:hover{color:#2e7d32;background:#e8f5e9}body.dark-mode .navbar-icon-btn:hover{color:#66bb6a;background:#2a2a3e}.navbar-auth-buttons{gap:14px;display:flex}.navbar-login{color:#2e7d32;border:1px solid #2e7d32;border-radius:50px;padding:8px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s}body.dark-mode .navbar-login{color:#66bb6a;border-color:#66bb6a}.navbar-login:hover{background:#e8f5e9}body.dark-mode .navbar-login:hover{background:#1a3a1a}.navbar-register{color:#fff;background:#2e7d32;border-radius:50px;padding:8px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s}body.dark-mode .navbar-register{color:#1a1a2e;background:#66bb6a}.navbar-register:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 4px 16px #2e7d3233}body.dark-mode .navbar-register:hover{background:#4caf50;box-shadow:0 4px 16px #66bb6a4d}.navbar-user{align-items:center;gap:16px;display:flex}.navbar-username{color:#1a1a2e;font-size:14px;font-weight:500}body.dark-mode .navbar-username{color:#d0d0e0}.navbar-logout{color:#d32f2f;cursor:pointer;background:0 0;border:1px solid #d32f2f;border-radius:50px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .3s}body.dark-mode .navbar-logout{color:#ef5350;border-color:#ef5350}.navbar-logout:hover{color:#fff;background:#d32f2f}body.dark-mode .navbar-logout:hover{background:#ef5350}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar-toggle .bar{background:#1a1a2e;border-radius:3px;width:25px;height:3px;transition:all .3s}body.dark-mode .navbar-toggle .bar{background:#fff}@media (width<=992px){.navbar-toggle{display:flex}.navbar-menu{background:#fff;border-top:1px solid #e8ede8;flex-direction:column;flex:none;justify-content:flex-start;gap:20px;padding:20px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 30px #00000014}body.dark-mode .navbar-menu{background:#1a1a2e;border-top-color:#2a2a3e}.navbar-menu.active{display:flex}.navbar-links{flex-direction:column;gap:14px;width:100%}.navbar-links li{width:100%}.navbar-links a{border-bottom:1px solid #f0f0f0;padding:10px 0;font-size:15px;display:block}body.dark-mode .navbar-links a{border-bottom-color:#2a2a3e}.navbar-auth{flex-direction:column;align-items:stretch;gap:12px;width:100%}.navbar-icons{border-bottom:1px solid #e8ede8;border-right:none;justify-content:center;padding-bottom:12px;padding-right:0}body.dark-mode .navbar-icons{border-bottom-color:#2a2a3e}.navbar-auth-buttons{flex-direction:column;gap:10px;width:100%}.navbar-login,.navbar-register{text-align:center;width:100%;padding:10px}.navbar-user{flex-direction:column;gap:10px;width:100%}.navbar-logout{text-align:center;width:100%}}.footer{background:#0a2e1a;border-top:1px solid #ffffff0d;padding:50px 20px 20px}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px;display:grid}.footer-logo{color:#fff;margin-bottom:14px;font-size:24px;font-weight:800}.footer-logo .highlight{color:gold}.footer-description{color:#a5d6a7;max-width:320px;margin-bottom:18px;font-size:14px;line-height:1.7}.footer-social{gap:12px;display:flex}.social-link{color:#a5d6a7;background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;text-decoration:none;transition:all .3s;display:flex}.social-link:hover{color:#0a2e1a;background:gold;transform:translateY(-3px)}.footer-col h4{color:#fff;margin-bottom:14px;font-size:15px;font-weight:700}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{color:#a5d6a7;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;display:flex}.footer-links a{color:#a5d6a7;font-size:14px;text-decoration:none;transition:color .3s}.footer-links a:hover{color:gold}.footer-links li svg{color:gold;flex-shrink:0;font-size:14px}.footer-bottom{text-align:center;border-top:1px solid #ffffff0f;padding-top:16px}.footer-bottom p{color:#6a8a6a;margin:0;font-size:13px}@media (width<=992px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}@media (width<=576px){.footer{padding:32px 16px 16px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-description{max-width:100%}.footer-col h4{margin-bottom:10px}}.home{overflow-x:hidden}.banner{background:#fff;border-bottom:1px solid #f0f0f0;align-items:center;padding:60px 20px 50px;display:flex;position:relative}.banner-container{z-index:1;max-width:1100px;margin:0 auto;position:relative}.banner-content{color:#1a1a2e;text-align:center;max-width:900px;margin:0 auto}.banner-badge{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:16px;padding:4px 18px;font-size:13px;font-weight:600;display:inline-block}.banner-title{color:#1a1a2e;margin-bottom:6px;font-size:44px;font-weight:800;line-height:1.1}.banner-title .highlight{color:#2e7d32}.banner-subtitle{color:#4a4a5a;margin-bottom:16px;font-size:20px;font-weight:500}.banner-description{color:#5a5a6a;max-width:680px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.7}.banner-projects{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px;display:grid}.project-item{color:inherit;background:#f8faf8;border:1px solid #e8ede8;border-radius:8px;align-items:center;gap:14px;padding:12px 18px;text-decoration:none;transition:all .25s;display:flex}.project-item:hover{background:#eef5ee;border-color:#2e7d32;transform:translateY(-2px);box-shadow:0 4px 16px #2e7d3214}.project-icon{color:#2e7d32;flex-shrink:0;font-size:22px}.project-item h4{color:#1a1a2e;margin:0 0 2px;font-size:14px;font-weight:700}.project-item p{color:#6a6a7a;margin:0;font-size:13px}.banner-buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.btn{border-radius:50px;padding:13px 34px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{color:#fff;background:#2e7d32}.btn-primary:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3240}.btn-secondary{color:#2e7d32;background:0 0;border:2px solid #2e7d32}.btn-secondary:hover{background:#e8f5e9;transform:translateY(-2px)}@media (width<=768px){.banner{padding:36px 16px 30px}.banner-title{font-size:30px}.banner-subtitle{font-size:17px}.banner-description{font-size:15px}.banner-projects{grid-template-columns:1fr}.project-item{padding:10px 14px}.project-item h4{font-size:13px}.project-item p{font-size:12px}.btn{width:100%;padding:12px 24px;font-size:14px}.banner-buttons{flex-direction:column;align-items:center}}.about{background:#fff;padding:70px 20px}.about-container{max-width:1200px;margin:0 auto}.about-header{text-align:center;margin-bottom:50px}.about-tag{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:14px;padding:5px 18px;font-size:13px;font-weight:600;display:inline-block}.about-title{color:#1a1a2e;margin-bottom:12px;font-size:36px;font-weight:800}.about-title .highlight{color:#2e7d32}.about-subtitle{color:#5a5a6a;max-width:550px;margin:0 auto;font-size:17px}.about-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:50px;display:grid}.about-card{text-align:center;background:#f8faf8;border:1px solid #e8ede8;border-radius:12px;padding:28px 20px;transition:all .3s}.about-card:hover{border-color:#2e7d32;transform:translateY(-6px);box-shadow:0 8px 30px #2e7d3214}.about-icon{color:#2e7d32;margin-bottom:14px;font-size:36px}.about-card h3{color:#1a1a2e;margin-bottom:10px;font-size:17px;font-weight:700}.about-card p{color:#5a5a6a;margin:0;font-size:14px;line-height:1.6}.about-stats{text-align:center;background:#f8faf8;border:1px solid #e8ede8;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 32px;display:grid}.about-stat-item{flex-direction:column;display:flex}.about-stat-number{color:#2e7d32;font-size:32px;font-weight:800}.about-stat-label{color:#5a5a6a;margin-top:4px;font-size:14px}@media (width<=992px){.about-grid{grid-template-columns:repeat(2,1fr)}.about-stats{grid-template-columns:repeat(2,1fr);gap:20px}}@media (width<=576px){.about{padding:40px 16px}.about-title{font-size:26px}.about-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr 1fr;gap:16px;padding:28px 16px}.about-stat-number{font-size:24px}}.features{background:#f8faf8;padding:70px 20px}.features-container{max-width:1200px;margin:0 auto}.features-header{text-align:center;margin-bottom:50px}.features-tag{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:14px;padding:5px 18px;font-size:13px;font-weight:600;display:inline-block}.features-title{color:#1a1a2e;margin-bottom:12px;font-size:36px;font-weight:800}.features-title .highlight{color:#2e7d32}.features-subtitle{color:#5a5a6a;max-width:550px;margin:0 auto;font-size:17px}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.features-card{text-align:center;background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:30px 24px;transition:all .3s}.features-card:hover{border-color:#2e7d32;transform:translateY(-6px);box-shadow:0 8px 30px #2e7d3214}.features-icon{color:#2e7d32;margin-bottom:14px;font-size:36px}.features-card h3{color:#1a1a2e;margin-bottom:10px;font-size:17px;font-weight:700}.features-card p{color:#5a5a6a;margin:0;font-size:14px;line-height:1.6}@media (width<=992px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.features{padding:40px 16px}.features-title{font-size:26px}.features-grid{grid-template-columns:1fr}.features-card{padding:24px 18px}}.how-it-works{background:#fff;padding:70px 20px}.how-it-works-container{max-width:1200px;margin:0 auto}.how-it-works-header{text-align:center;margin-bottom:50px}.how-it-works-tag{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:14px;padding:5px 18px;font-size:13px;font-weight:600;display:inline-block}.how-it-works-title{color:#1a1a2e;margin-bottom:12px;font-size:36px;font-weight:800}.how-it-works-title .highlight{color:#2e7d32}.how-it-works-subtitle{color:#5a5a6a;max-width:550px;margin:0 auto;font-size:17px}.how-it-works-steps{flex-direction:column;gap:0;max-width:800px;margin:0 auto;padding-left:60px;display:flex;position:relative}.step-item{align-items:flex-start;padding-bottom:32px;display:flex;position:relative}.step-item:last-child{padding-bottom:0}.step-number{color:#fff;z-index:2;background:#2e7d32;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;left:-60px}.step-line{z-index:1;background:#c8e6c9;width:2px;height:calc(100% - 10px);position:absolute;top:38px;left:-41px}.step-item:last-child .step-line{display:none}.step-content{background:#f8faf8;border:1px solid #e8ede8;border-radius:12px;flex:1;padding:24px 28px;transition:all .3s}.step-content:hover{border-color:#2e7d32;transform:translate(6px);box-shadow:0 4px 20px #2e7d320f}.step-icon{color:#2e7d32;margin-bottom:8px;font-size:28px;display:block}.step-content h3{color:#1a1a2e;margin-bottom:6px;font-size:17px;font-weight:700}.step-content p{color:#5a5a6a;margin:0;font-size:14px;line-height:1.6}@media (width<=768px){.how-it-works{padding:40px 16px}.how-it-works-title{font-size:26px}.how-it-works-steps{padding-left:50px}.step-number{width:32px;height:32px;font-size:12px;left:-50px}.step-line{left:-33px}.step-content{padding:18px 20px}.step-content h3{font-size:15px}.step-content p{font-size:13px}}.stats-section{background:linear-gradient(135deg,#0a1628 0%,#1a237e 50%,#0d47a1 100%);padding:60px 20px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.stats-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:30px 20px;transition:all .3s}.stats-card:hover{background:#ffffff1a;border-color:#ffd7004d;transform:translateY(-8px);box-shadow:0 8px 30px #0000004d}.stats-icon{margin-bottom:12px;font-size:40px;display:block}.stats-number{color:gold;margin-bottom:8px;font-size:42px;font-weight:800}.stats-label{color:#90caf9;font-size:16px}@media (width<=992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.stats-section{padding:40px 16px}.stats-grid{grid-template-columns:1fr 1fr;gap:16px}.stats-card{padding:20px 12px}.stats-number,.stats-icon{font-size:28px}.stats-label{font-size:14px}}.testimonials{background:#f8faf8;padding:70px 20px}.testimonials-container{max-width:1200px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:50px}.testimonials-tag{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:14px;padding:5px 18px;font-size:13px;font-weight:600;display:inline-block}.testimonials-title{color:#1a1a2e;margin-bottom:12px;font-size:36px;font-weight:800}.testimonials-title .highlight{color:#2e7d32}.testimonials-subtitle{color:#5a5a6a;max-width:550px;margin:0 auto;font-size:17px}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testimonials-card{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:28px 24px;transition:all .3s}.testimonials-card:hover{border-color:#2e7d32;transform:translateY(-6px);box-shadow:0 8px 30px #2e7d3214}.testimonials-rating{gap:2px;margin-bottom:14px;display:flex}.star{font-size:18px}.star.filled,.star.half{color:gold}.star.empty{color:#d0d0d0}.testimonials-content{color:#3a3a4a;margin-bottom:20px;font-size:15px;font-style:italic;line-height:1.7}.testimonials-user{align-items:center;gap:14px;display:flex}.testimonials-avatar{object-fit:cover;border:2px solid #2e7d32;border-radius:50%;width:52px;height:52px}.testimonials-info{flex-direction:column;display:flex}.testimonials-name{color:#1a1a2e;font-size:15px;font-weight:700}.testimonials-role{color:#5a5a6a;font-size:13px}@media (width<=992px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.testimonials{padding:40px 16px}.testimonials-title{font-size:26px}.testimonials-grid{grid-template-columns:1fr}.testimonials-card{padding:20px 18px}}.cta-section{background:#f8faf8;border-top:1px solid #e8ede8;padding:70px 20px}.cta-container{max-width:900px;margin:0 auto}.cta-content{text-align:center;color:#1a1a2e}.cta-tag{color:#2e7d32;letter-spacing:.5px;text-transform:uppercase;background:#e8f5e9;border-radius:50px;margin-bottom:16px;padding:5px 18px;font-size:13px;font-weight:600;display:inline-block}.cta-title{color:#1a1a2e;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.2}.cta-title .highlight{color:#2e7d32}.cta-description{color:#5a5a6a;max-width:650px;margin:0 auto 28px;font-size:17px;line-height:1.7}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px;display:flex}.cta-btn-primary{color:#fff;background:#2e7d32;border:none;border-radius:50px;padding:14px 38px;font-size:16px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.cta-btn-primary:hover{background:#1b5e20;transform:translateY(-3px);box-shadow:0 6px 24px #2e7d3233}.cta-btn-secondary{color:#2e7d32;background:0 0;border:2px solid #2e7d32;border-radius:50px;padding:14px 38px;font-size:16px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.cta-btn-secondary:hover{background:#e8f5e9;transform:translateY(-3px)}.cta-features{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.cta-features span{color:#5a5a6a;align-items:center;gap:8px;font-size:14px;display:flex}.cta-features svg{color:#2e7d32;font-size:16px}@media (width<=576px){.cta-section{padding:40px 16px}.cta-title{font-size:28px}.cta-description{font-size:15px}.cta-btn-primary,.cta-btn-secondary{width:100%;padding:12px 28px;font-size:15px}.cta-buttons{flex-direction:column;align-items:center}.cta-features{flex-direction:column;align-items:center;gap:10px}}.login-page{background:#f8faf8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-container{width:100%;max-width:420px}.login-card{background:#fff;border:1px solid #e8ede8;border-radius:16px;padding:40px 32px;box-shadow:0 4px 24px #0000000f}.login-header{text-align:center;margin-bottom:28px}.login-header h2{color:#1a1a2e;margin-bottom:8px;font-size:28px;font-weight:800}.login-header p{color:#5a5a6a;font-size:15px}.login-form .form-group{margin-bottom:18px}.login-form label{color:#1a1a2e;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.input-wrapper input{background:#f8faf8;border:1px solid #d8ddd8;border-radius:8px;width:100%;padding:12px 14px 12px 44px;font-size:15px;transition:all .3s}.input-wrapper input:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d321a}.input-wrapper input.error{border-color:#c62828}.login-options{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.checkbox-label{color:#4a4a5a;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{accent-color:#2e7d32;cursor:pointer;width:16px;height:16px}.forgot-link{color:#2e7d32;font-size:14px;font-weight:500;text-decoration:none}.forgot-link:hover{text-decoration:underline}.btn-login{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:all .3s}.btn-login:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;border-top:1px solid #e8ede8;margin-top:20px;padding-top:20px}.login-footer p{color:#5a5a6a;font-size:14px}.login-footer a{color:#2e7d32;font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}@media (width<=480px){.login-card{padding:28px 20px}.login-header h2{font-size:24px}.login-options{flex-direction:column;align-items:flex-start;gap:12px}}.register-page{background:#f8faf8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.register-container{width:100%;max-width:600px}.register-card{background:#fff;border:1px solid #e8ede8;border-radius:16px;padding:40px 32px;box-shadow:0 4px 24px #0000000f}.register-header{text-align:center;margin-bottom:28px}.register-header h2{color:#1a1a2e;margin-bottom:8px;font-size:28px;font-weight:800}.register-header p{color:#5a5a6a;font-size:15px}.register-form .form-group{flex:1;margin-bottom:16px}.register-form label{color:#1a1a2e;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-row{gap:16px;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#8a8a9a;font-size:16px;position:absolute;left:14px}.input-wrapper input,.input-wrapper select{background:#f8faf8;border:1px solid #d8ddd8;border-radius:8px;width:100%;padding:12px 14px 12px 44px;font-family:inherit;font-size:15px;transition:all .3s}.input-wrapper select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a9a' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.input-wrapper input:focus,.input-wrapper select:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d321a}.input-wrapper input.error,.input-wrapper select.error{border-color:#c62828}.password-toggle{color:#8a8a9a;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;position:absolute;right:14px}.password-toggle:hover{color:#1a1a2e}.error-text{color:#c62828;margin-top:4px;font-size:13px;display:block}.btn-register{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:all .3s}.btn-register:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-register:disabled{opacity:.6;cursor:not-allowed}.register-footer{text-align:center;border-top:1px solid #e8ede8;margin-top:20px;padding-top:20px}.register-footer p{color:#5a5a6a;font-size:14px}.register-footer a{color:#2e7d32;font-weight:600;text-decoration:none}.register-footer a:hover{text-decoration:underline}@media (width<=640px){.register-card{padding:28px 20px}.register-header h2{font-size:24px}.form-row{flex-direction:column;gap:0}}.dashboard{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:30px;display:flex}.dashboard-welcome h1{color:#1a1a2e;margin-bottom:4px;font-size:32px;font-weight:800}.dashboard-welcome .highlight{color:#2e7d32}.dashboard-subtitle{color:#5a5a6a;font-size:16px}.btn-dashboard-primary{color:#fff;background:#2e7d32;border:none;border-radius:50px;align-items:center;gap:10px;padding:12px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-dashboard-primary:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #e8ede8;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;transition:all .3s;display:flex}.stat-card:hover{border-color:#2e7d32;box-shadow:0 4px 16px #0000000a}.stat-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.profil-icon{background:#2e7d32}.questionnaire-icon{background:#1565c0}.rapport-icon{background:#f9a825}.stat-info{flex-direction:column;display:flex}.stat-number{color:#1a1a2e;font-size:22px;font-weight:700}.stat-label{color:#5a5a6a;font-size:13px}.progress-section{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:30px;padding:20px 24px}.progress-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.progress-header h3{color:#1a1a2e;font-size:16px;font-weight:600}.progress-percentage{color:#2e7d32;font-size:20px;font-weight:700}.progress-bar{background:#e8ede8;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-message{color:#5a5a6a;margin-top:8px;font-size:14px}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;display:grid}.dashboard-card{background:#fff;border:1px solid #e8ede8;border-radius:12px;flex-direction:column;padding:24px;transition:all .3s;display:flex}.dashboard-card:hover{border-color:#2e7d32;transform:translateY(-4px);box-shadow:0 8px 30px #0000000f}.card-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:22px;display:flex}.card-icon.green{background:#2e7d32}.card-icon.blue{background:#1565c0}.card-icon.gold{background:#f9a825}.card-icon.purple{background:#6a1b9a}.card-icon.orange{background:#e65100}.card-icon.teal{background:#00695c}.dashboard-card h3{color:#1a1a2e;margin-bottom:8px;font-size:17px;font-weight:700}.dashboard-card p{color:#5a5a6a;flex:1;margin-bottom:12px;font-size:14px;line-height:1.5}.card-status{margin-bottom:14px}.status-completed{color:#2e7d32;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status-pending{color:#e65100;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status-info{color:#1565c0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.status-read{color:#2e7d32;font-size:13px}.status-unread{color:#e65100;font-size:13px;font-weight:600}.card-link{color:#2e7d32;align-items:center;gap:8px;margin-top:auto;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.card-link:hover{color:#1b5e20;gap:12px}.card-link svg{font-size:12px}.recent-activity{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:24px}.recent-activity h3{color:#1a1a2e;margin-bottom:16px;font-size:17px;font-weight:700}.activity-list{flex-direction:column;gap:12px;display:flex}.activity-item{background:#f8faf8;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 16px;transition:all .3s;display:flex}.activity-item:hover{background:#eef5ee}.activity-info{flex-direction:column;display:flex}.activity-title{color:#1a1a2e;font-size:14px;font-weight:600}.activity-date{color:#8a8a9a;font-size:13px}.activity-status{text-align:center;flex:1}.activity-link{color:#2e7d32;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.activity-link:hover{color:#1b5e20;gap:10px}@media (width<=992px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-stats{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-welcome h1{font-size:26px}.btn-dashboard-primary{justify-content:center}}@media (width<=576px){.dashboard{padding:16px 12px 40px}.dashboard-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr 1fr;gap:10px}.stat-card{text-align:center;flex-direction:column;align-items:center;padding:12px 8px}.stat-icon{width:36px;height:36px;font-size:16px}.stat-number{font-size:18px}.stat-label{font-size:11px}.progress-section{padding:16px}.dashboard-card{padding:18px}.activity-item{flex-wrap:wrap;gap:8px}.activity-link{margin-left:auto}}.profil-scolaire{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.profil-container{max-width:800px;margin:0 auto}.profil-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.profil-header{margin-bottom:30px}.profil-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.profil-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.profil-form{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:32px}.form-section{margin-bottom:28px}.form-section h3{color:#1a1a2e;border-bottom:2px solid #e8ede8;margin-bottom:16px;padding-bottom:8px;font-size:17px;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{margin-bottom:14px}.form-group label{color:#1a1a2e;align-items:center;gap:6px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.form-group label svg{color:#2e7d32}.form-group input,.form-group select{background:#f8faf8;border:1px solid #d8ddd8;border-radius:8px;width:100%;padding:11px 14px;font-family:inherit;font-size:15px;transition:all .3s}.form-group select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a9a' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}.form-group input:focus,.form-group select:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d321a}.form-group input::placeholder{color:#b0b0b0}.form-actions{gap:16px;margin-top:8px;display:flex}.btn-save{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;align-items:center;gap:10px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-save:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-save:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.profil-scolaire{padding:16px 12px 40px}.profil-form{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.profil-header h1{font-size:22px}.form-actions{flex-direction:column}.btn-save,.btn-cancel{justify-content:center;width:100%}}.questionnaire-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.questionnaire-container{max-width:700px;margin:0 auto}.questionnaire-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.questionnaire-header{margin-bottom:30px}.questionnaire-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.questionnaire-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.progress-indicator{margin-top:16px}.progress-text{color:#2e7d32;font-size:14px;font-weight:600}.progress-bar{background:#e8ede8;border-radius:3px;width:100%;height:6px;margin-top:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2e7d32,#66bb6a);border-radius:3px;height:100%;transition:width .5s}.alert{border-radius:8px;margin-bottom:20px;padding:14px 18px;font-size:14px}.alert-success{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9}.questionnaire-form{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:32px}.question-card{align-items:flex-start;gap:24px;display:flex}.question-number{color:#fff;background:#2e7d32;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex}.question-content{flex:1}.question-icon{color:#2e7d32;margin-bottom:8px;font-size:28px}.question-label{color:#1a1a2e;margin-bottom:4px;font-size:18px;font-weight:700}.question-description{color:#5a5a6a;margin-bottom:16px;font-size:14px}.question-input-wrapper{margin-top:4px}.question-input{background:#f8faf8;border:1px solid #d8ddd8;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:15px;transition:all .3s}.question-input:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d321a}.question-input::placeholder{color:#b0b0b0}.question-select{cursor:pointer;appearance:none;background:#f8faf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a9a' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 14px center no-repeat;border:1px solid #d8ddd8;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:15px;transition:all .3s}.question-select:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d321a}.radio-group{flex-wrap:wrap;gap:16px;display:flex}.radio-option{cursor:pointer;border:2px solid #e8ede8;border-radius:8px;flex:1;align-items:center;gap:10px;min-width:120px;padding:12px 20px;transition:all .3s;display:flex}.radio-option:hover{background:#f8faf8;border-color:#2e7d32}.radio-option input[type=radio]{display:none}.radio-option input[type=radio]:checked+.radio-label{color:#2e7d32}.radio-option:has(input[type=radio]:checked){background:#e8f5e9;border-color:#2e7d32}.radio-label{color:#1a1a2e;cursor:pointer;font-size:14px;font-weight:500}.question-navigation{border-top:1px solid #e8ede8;gap:16px;margin-top:24px;padding-top:20px;display:flex}.btn-nav{cursor:pointer;color:#1a1a2e;background:#fff;border:1px solid #d8ddd8;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:500;transition:all .3s}.btn-nav:hover:not(:disabled){color:#2e7d32;border-color:#2e7d32}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.btn-nav.next{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-submit{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;align-items:center;gap:10px;margin-left:auto;padding:12px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-submit:hover:not(:disabled){background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.questionnaire-footer{text-align:center;margin-top:16px}.btn-cancel{color:#5a5a6a;cursor:pointer;background:0 0;border:1px solid #d8ddd8;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:500;transition:all .3s}.btn-cancel:hover{background:#f0f0f0}@media (width<=768px){.questionnaire-page{padding:16px 12px 40px}.questionnaire-form{padding:20px}.question-card{flex-direction:column;align-items:stretch;gap:16px}.question-number{width:40px;height:40px;font-size:15px}.questionnaire-header h1{font-size:22px}.radio-group{flex-direction:column}.question-navigation{flex-wrap:wrap}.btn-nav.next,.btn-submit{justify-content:center;width:100%;margin-left:0}.btn-nav{text-align:center;flex:1}}.filieres-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.filieres-container{max-width:1200px;margin:0 auto}.filieres-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.filieres-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.filieres-header{margin-bottom:24px}.filieres-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.filieres-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.filieres-filters{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:24px;padding:20px 24px}.filieres-results{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:24px}.filieres-empty{text-align:center;padding:40px}.filieres-empty svg{color:#c8e6c9;font-size:48px}.filieres-empty h3{color:#1a1a2e;margin-top:12px;font-size:18px;font-weight:700}.filieres-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.filiere-card{background:#f8faf8;border:1px solid #e8ede8;border-radius:10px;flex-direction:column;padding:20px;transition:all .3s;display:flex}.filiere-card:hover{border-color:#2e7d32;transform:translateY(-4px);box-shadow:0 4px 20px #0000000f}.filiere-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.filiere-card-title h3{color:#1a1a2e;font-size:17px;font-weight:700}.filiere-code{color:#8a8a9a;background:#f0f0f0;border-radius:4px;flex-shrink:0;padding:2px 10px;font-size:12px}.diplome-badge{border-radius:20px;padding:2px 12px;font-size:12px;font-weight:600;display:inline-block}.diplome-bts{color:#1565c0;background:#e3f2fd}.diplome-licence{color:#2e7d32;background:#e8f5e9}.diplome-master{color:#e65100;background:#fff3e0}.diplome-doctorat{color:#c62828;background:#fce4ec}.diplome-ingenieur{color:#283593;background:#e8eaf6}.diplome-certificat{color:#6a1b9a;background:#f3e5f5}.diplome-default{color:#4a4a5a;background:#f5f5f5}.filiere-card-body{flex:1}.filiere-description{color:#4a4a5a;margin-bottom:12px;font-size:14px;line-height:1.5}.filiere-meta{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.filiere-metiers{background:#f0f5f0;border-radius:6px;padding:12px 14px}.metiers-label{color:#1a1a2e;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.metiers-list{flex-wrap:wrap;gap:6px;display:flex}.metier-tag{color:#2a2a3a;background:#fff;border:1px solid #d8ddd8;border-radius:4px;padding:3px 10px;font-size:12px}.metier-tag.more{color:#fff;background:#2e7d32;border-color:#2e7d32}.modal-meta{gap:12px;margin-top:4px;display:flex}.modal-code{color:#8a8a9a;font-size:14px}.modal-metiers-list{flex-direction:column;gap:8px;display:flex}.modal-metier-item{background:#f8faf8;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.modal-metier-name{color:#1a1a2e;font-weight:500}.modal-metier-tension{color:#5a5a6a;font-size:13px}.modal-etablissements{margin:0;padding:0;list-style:none}.modal-etablissements li{color:#4a4a5a;border-bottom:1px solid #e8ede8;padding:8px 0;font-size:14px}.modal-etablissements li:last-child{border-bottom:none}@media (width<=992px){.filieres-grid{grid-template-columns:repeat(2,1fr)}.modal-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.filieres-page{padding:16px 12px 40px}.filieres-header h1{font-size:22px}.filters-wrapper{flex-direction:column}.filter-group{min-width:100%}.filieres-grid{grid-template-columns:1fr}.filieres-filters,.filieres-results{padding:16px}.modal-content{margin:10px;padding:24px 20px}.modal-header h2{font-size:20px}.modal-grid{grid-template-columns:1fr}.filiere-card-header{flex-direction:column;gap:8px}}.metiers-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.metiers-container{max-width:1200px;margin:0 auto}.metiers-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.metiers-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.metiers-header{margin-bottom:24px}.metiers-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.metiers-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.metiers-filters{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:24px;padding:20px 24px}.metiers-results{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:24px}.metiers-empty{text-align:center;padding:40px}.metiers-empty svg{color:#c8e6c9;font-size:48px}.metiers-empty h3{color:#1a1a2e;margin-top:12px;font-size:18px;font-weight:700}.metiers-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.metier-card{background:#f8faf8;border:1px solid #e8ede8;border-radius:10px;flex-direction:column;padding:20px;transition:all .3s;display:flex}.metier-card:hover{border-color:#2e7d32;transform:translateY(-4px);box-shadow:0 4px 20px #0000000f}.metier-card-header{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.metier-card-icon{color:#2e7d32;background:#e8f5e9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.metier-card-title{flex:1;min-width:0}.metier-card-title h3{color:#1a1a2e;font-size:16px;font-weight:700}.metier-filiere{color:#5a5a6a;align-items:center;gap:4px;font-size:13px;display:flex}.metier-card-body{flex:1}.metier-description{color:#4a4a5a;margin-bottom:12px;font-size:14px;line-height:1.5}.metier-tags{flex-wrap:wrap;gap:8px;display:flex}.tension-badge{border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.tension-badge.tension-high{color:#c62828;background:#fbe9e7}.tension-badge.tension-medium{color:#e65100;background:#fff3e0}.tension-badge.tension-low{color:#2e7d32;background:#e8f5e9}.badge-avenir{color:#1565c0;background:#e3f2fd;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.badge-salaire{color:#4a4a5a;background:#f8faf8;border:1px solid #d8ddd8;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.btn-detail{color:#2e7d32;cursor:pointer;background:0 0;border:1px solid #2e7d32;border-radius:6px;margin-top:14px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s}.modal-filiere{color:#5a5a6a;align-items:center;gap:6px;font-size:14px;display:inline-flex}.modal-section h4{color:#1a1a2e;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;font-weight:700;display:flex}.tension-text.tension-high{color:#c62828}.tension-text.tension-medium{color:#e65100}.tension-text.tension-low{color:#2e7d32}@media (width<=992px){.metiers-grid{grid-template-columns:repeat(2,1fr)}.modal-grid{grid-template-columns:1fr}}@media (width<=768px){.metiers-page{padding:16px 12px 40px}.metiers-header h1{font-size:22px}.filters-wrapper{flex-direction:column}.filter-group{min-width:100%}.metiers-grid{grid-template-columns:1fr}.metiers-filters,.metiers-results{padding:16px}.modal-content{margin:10px;padding:24px 20px}.modal-header h2{font-size:20px}.modal-grid{grid-template-columns:1fr}}.etablissements-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.etablissements-container{max-width:1200px;margin:0 auto}.etablissements-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.etablissements-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.etablissements-header{margin-bottom:24px}.etablissements-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.etablissements-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.etablissements-filters{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:24px;padding:20px 24px}.search-form{margin-bottom:16px}.search-wrapper{background:#f8faf8;border:1px solid #d8ddd8;border-radius:8px;align-items:center;transition:all .3s;display:flex}.search-wrapper:focus-within{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}.search-icon{color:#8a8a9a;padding:0 0 0 14px;font-size:16px}.search-input{background:0 0;border:none;outline:none;flex:1;padding:11px 14px;font-size:15px}.search-btn{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:0 8px 8px 0;padding:11px 24px;font-size:15px;font-weight:600;transition:all .3s}.search-btn:hover{background:#1b5e20}.filters-wrapper{flex-wrap:wrap;gap:12px;display:flex}.filter-group{flex:1;align-items:center;gap:8px;min-width:150px;display:flex}.filter-icon{color:#2e7d32;font-size:16px}.filter-select{cursor:pointer;appearance:none;background:#f8faf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a9a' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #d8ddd8;border-radius:6px;flex:1;padding:9px 12px;font-size:14px;transition:all .3s}.filter-select:focus{border-color:#2e7d32;outline:none}.etablissements-results{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:24px}.results-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.results-count{color:#5a5a6a;font-size:14px}.etablissements-empty{text-align:center;padding:40px}.etablissements-empty svg{color:#c8e6c9;font-size:48px}.etablissements-empty h3{color:#1a1a2e;margin-top:12px;font-size:18px;font-weight:700}.etablissements-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.etablissement-card{background:#f8faf8;border:1px solid #e8ede8;border-radius:10px;flex-direction:column;padding:20px;transition:all .3s;display:flex}.etablissement-card:hover{border-color:#2e7d32;transform:translateY(-4px);box-shadow:0 4px 20px #0000000f}.etablissement-card-header{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.etablissement-card-icon{color:#2e7d32;background:#e8f5e9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.etablissement-card-title{flex:1;min-width:0}.etablissement-card-title h3{color:#1a1a2e;font-size:16px;font-weight:700;line-height:1.3}.etablissement-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.type-badge{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.type-public{color:#1565c0;background:#e3f2fd}.type-grande-ecole{color:#283593;background:#e8eaf6}.type-bts{color:#2e7d32;background:#e8f5e9}.type-privee{color:#e65100;background:#fff3e0}.type-centre{color:#6a1b9a;background:#f3e5f5}.type-default{color:#4a4a5a;background:#f5f5f5}.public-badge{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.public-badge.public{color:#2e7d32;background:#e8f5e9}.public-badge.prive{color:#c62828;background:#fce4ec}.qualite-badge{color:#f9a825;background:#fff8e1;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.etablissement-card-body{flex:1}.etablissement-meta{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.meta-item{color:#5a5a6a;align-items:center;gap:6px;font-size:13px;display:flex}.meta-item svg{color:#2e7d32;font-size:14px}.meta-item a{color:#2e7d32;text-decoration:none}.meta-item a:hover{text-decoration:underline}.etablissement-adresse{color:#4a4a5a;margin-bottom:10px;font-size:13px;line-height:1.5}.etablissement-filieres{background:#f0f5f0;border-radius:6px;padding:10px 14px}.filieres-label{color:#1a1a2e;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.filieres-list{flex-wrap:wrap;gap:6px;display:flex}.filiere-tag{color:#2a2a3a;background:#fff;border:1px solid #d8ddd8;border-radius:4px;padding:3px 10px;font-size:12px}.filiere-tag.more{color:#fff;background:#2e7d32;border-color:#2e7d32}.btn-detail{color:#2e7d32;cursor:pointer;background:0 0;border:1px solid #2e7d32;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-detail:hover{color:#fff;background:#2e7d32}.modal-meta{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.modal-grid-item h4{color:#5a5a6a;align-items:center;gap:6px;margin-bottom:2px;font-size:12px;font-weight:600;display:flex}.contact-grid{flex-direction:column;gap:8px;display:flex}.contact-item{color:#4a4a5a;align-items:center;gap:10px;font-size:14px;display:flex}.contact-item svg{color:#2e7d32;flex-shrink:0;font-size:16px}.contact-item a{color:#2e7d32;text-decoration:none}.contact-item a:hover{text-decoration:underline}.modal-filieres-list{flex-direction:column;gap:8px;display:flex}.modal-filiere-item{background:#f8faf8;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.modal-filiere-name{color:#1a1a2e;font-weight:500}.modal-filiere-diplome{color:#5a5a6a;background:#f0f0f0;border-radius:4px;padding:2px 12px;font-size:13px}@media (width<=992px){.etablissements-grid{grid-template-columns:repeat(2,1fr)}.modal-grid{grid-template-columns:1fr}}@media (width<=768px){.etablissements-page{padding:16px 12px 40px}.etablissements-header h1{font-size:22px}.filters-wrapper{flex-direction:column}.filter-group{min-width:100%}.etablissements-grid{grid-template-columns:1fr}.etablissements-filters,.etablissements-results{padding:16px}.modal-content{margin:10px;padding:24px 20px}.modal-header h2{font-size:20px}.etablissement-card-header{flex-direction:column}}.rapport-list-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.rapport-list-container{max-width:900px;margin:0 auto}.rapport-list-header{margin-bottom:30px}.rapport-list-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.rapport-list-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.btn-generate-rapport{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;align-items:center;gap:10px;margin-top:12px;padding:12px 28px;font-size:15px;font-weight:600;transition:all .3s;display:inline-flex}.btn-generate-rapport:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.rapport-empty{text-align:center;background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:60px 40px}.empty-icon{color:#c8e6c9;margin-bottom:16px;font-size:64px}.rapport-empty h3{color:#1a1a2e;margin-bottom:8px;font-size:20px;font-weight:700}.rapport-empty p{color:#5a5a6a;margin-bottom:20px;font-size:15px}.btn-empty-generate{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;align-items:center;gap:10px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-empty-generate:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.rapport-list{flex-direction:column;gap:20px;display:flex}.rapport-card{background:#fff;border:1px solid #e8ede8;border-radius:12px;padding:24px;transition:all .3s}.rapport-card:hover{border-color:#2e7d32;box-shadow:0 4px 20px #0000000a}.rapport-card-header{align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.rapport-card-icon{color:#2e7d32;background:#e8f5e9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.rapport-card-info{flex:1}.rapport-card-info h3{color:#1a1a2e;font-size:16px;font-weight:700}.rapport-card-meta{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.status-badge{font-size:13px;font-weight:500}.status-badge.lu{color:#2e7d32}.status-badge.non-lu{color:#e65100}.version-badge{color:#5a5a6a;align-items:center;gap:4px;font-size:13px;display:inline-flex}.rapport-card-extract{padding:8px 0}.rapport-card-extract:first-child{padding-top:0}.extract-item{color:#4a4a5a;align-items:center;gap:10px;padding:4px 0;font-size:14px;display:flex}.extract-item svg{color:#2e7d32;flex-shrink:0;font-size:16px}.rapport-card-actions{border-top:1px solid #e8ede8;gap:12px;margin-top:14px;padding-top:14px;display:flex}.btn-view:hover{background:#1b5e20}.btn-delete{color:#c62828;cursor:pointer;background:0 0;border:1px solid #c62828;border-radius:6px;align-items:center;gap:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-delete:hover{color:#fff;background:#c62828}.rapport-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.rapport-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.rapport-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}@media (width<=768px){.rapport-list-page,.rapport-detail-page{padding:16px 12px 40px}.rapport-list-header h1{font-size:22px}.rapport-detail-header{flex-direction:column;align-items:stretch}.rapport-detail-content{padding:24px 20px}.rapport-detail-actions{flex-direction:column}.btn-download,.btn-delete-rapport{justify-content:center;width:100%}.rapport-card-header,.rapport-card-actions{flex-direction:column}.btn-view,.btn-delete{justify-content:center;width:100%}}.generate-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.generate-container{max-width:700px;margin:0 auto}.generate-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.generate-header{margin-bottom:30px}.generate-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.generate-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.alert{border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-size:14px;display:flex}.alert-error{color:#c62828;background:#fbe9e7;border:1px solid #ffcdd2}.generate-status{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.status-item{background:#fff;border:1px solid #e8ede8;border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.status-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.status-icon.completed{color:#2e7d32;background:#e8f5e9}.status-icon.pending{color:#e65100;background:#fff3e0}.status-icon.pending .spinner{animation:1s linear infinite spin}.status-info{flex-direction:column;display:flex}.status-label{color:#5a5a6a;font-size:13px}.status-text{font-size:15px;font-weight:600}.status-text.completed{color:#2e7d32}.status-text.pending{color:#e65100}.generate-info{background:#fff;border:1px solid #e8ede8;border-radius:10px;margin-bottom:24px;padding:24px}.generate-info h3{color:#1a1a2e;margin-bottom:12px;font-size:17px;font-weight:700}.generate-info ul{margin:0;padding:0;list-style:none}.generate-info ul li{color:#4a4a5a;padding:6px 0;font-size:15px}.generate-actions{flex-wrap:wrap;gap:16px;display:flex}.btn-generate{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px 36px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-generate:hover:not(.disabled):not(:disabled){background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-generate.disabled,.btn-generate:disabled{opacity:.5;cursor:not-allowed}.btn-back{color:#5a5a6a;cursor:pointer;background:0 0;border:1px solid #d8ddd8;border-radius:8px;padding:14px 28px;font-size:15px;font-weight:500;transition:all .3s}.btn-back:hover{background:#f0f0f0}.generate-warning{color:#e65100;background:#fff8e1;border:1px solid #ffecb3;border-radius:8px;align-items:flex-start;gap:12px;margin-top:16px;padding:16px 20px;font-size:14px;display:flex}.generate-warning svg{flex-shrink:0;margin-top:2px;font-size:20px}.generate-warning a{color:#2e7d32;font-weight:600;text-decoration:underline}.generate-warning a:hover{color:#1b5e20}.generate-success{background:#f8faf8;justify-content:center;align-items:center;min-height:100vh;padding:30px 20px 60px;display:flex}.success-container{text-align:center;background:#fff;border:1px solid #e8ede8;border-radius:16px;max-width:500px;margin:0 auto;padding:48px 40px}.success-icon{color:#2e7d32;margin-bottom:16px;font-size:64px}.success-container h2{color:#1a1a2e;margin-bottom:8px;font-size:28px;font-weight:800}.success-container p{color:#5a5a6a;margin-bottom:24px;font-size:16px}.success-actions{flex-direction:column;gap:12px;display:flex}.btn-view-rapport{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex}.btn-view-rapport:hover{background:#1b5e20;transform:translateY(-2px);box-shadow:0 6px 24px #2e7d3233}.btn-back-dashboard{color:#5a5a6a;cursor:pointer;background:0 0;border:1px solid #d8ddd8;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:14px 32px;font-size:16px;font-weight:500;transition:all .3s;display:inline-flex}.btn-back-dashboard:hover{background:#f0f0f0}@media (width<=768px){.generate-page{padding:16px 12px 40px}.generate-header h1{font-size:22px}.generate-status{grid-template-columns:1fr}.generate-actions{flex-direction:column}.btn-generate{width:100%}.success-container{padding:32px 20px}.success-container h2{font-size:22px}}.admin-dashboard{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.admin-container{max-width:1200px;margin:0 auto}.admin-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.admin-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-welcome h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.admin-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.admin-badge{color:#fff;background:#2e7d32;border-radius:50px;padding:6px 18px;font-size:14px;font-weight:600;display:inline-block}.admin-stats-grid{grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px;display:grid}.admin-stat-card{background:#fff;border:1px solid #e8ede8;border-radius:10px;align-items:center;gap:14px;padding:16px 18px;transition:all .3s;display:flex}.admin-stat-card:hover{border-color:#2e7d32;box-shadow:0 4px 16px #0000000a}.admin-stat-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.admin-stat-icon.users{background:#2e7d32}.admin-stat-icon.eleves{background:#1565c0}.admin-stat-icon.rapports{background:#f9a825}.admin-stat-icon.filieres{background:#6a1b9a}.admin-stat-icon.metiers{background:#e65100}.admin-stat-icon.etablissements{background:#00695c}.admin-stat-info{flex-direction:column;display:flex}.admin-stat-number{color:#1a1a2e;font-size:20px;font-weight:700}.admin-stat-label{color:#5a5a6a;font-size:12px}.admin-recent-reports{background:#fff;border:1px solid #e8ede8;border-radius:10px;margin-bottom:24px;padding:20px 24px}.admin-recent-reports h3{color:#1a1a2e;margin-bottom:12px;font-size:16px;font-weight:700}.admin-reports-list{flex-direction:column;gap:8px;display:flex}.admin-report-item{background:#f8faf8;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.admin-report-info{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-report-user{color:#1a1a2e;font-weight:500}.admin-report-date{color:#8a8a9a;align-items:center;gap:4px;font-size:13px;display:flex}.admin-report-status.read{color:#2e7d32}.admin-report-status.unread{color:#e65100;font-weight:600}.admin-modules{margin-bottom:24px}.admin-modules h3{color:#1a1a2e;margin-bottom:16px;font-size:16px;font-weight:700}.admin-modules-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.admin-module-card{background:#fff;border:1px solid #e8ede8;border-radius:10px;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;transition:all .3s;display:flex}.admin-module-card:hover{border-color:#2e7d32;transform:translateY(-4px);box-shadow:0 8px 30px #0000000f}.admin-module-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.admin-module-icon.users{background:#2e7d32}.admin-module-icon.filieres{background:#6a1b9a}.admin-module-icon.metiers{background:#e65100}.admin-module-icon.etablissements{background:#00695c}.admin-module-icon.offres{background:#283593}.admin-module-icon.statistiques{background:#f9a825}.admin-module-content{flex:1}.admin-module-content h4{color:#1a1a2e;font-size:15px;font-weight:700}.admin-module-content p{color:#5a5a6a;margin:0;font-size:13px}.admin-module-arrow{color:#8a8a9a;font-size:16px;transition:all .3s}.admin-module-card:hover .admin-module-arrow{color:#2e7d32;transform:translate(4px)}.admin-quick-actions h3{color:#1a1a2e;margin-bottom:16px;font-size:16px;font-weight:700}.admin-quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.quick-action-btn{color:#1a1a2e;cursor:pointer;background:#fff;border:1px solid #e8ede8;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.quick-action-btn:hover{color:#2e7d32;background:#e8f5e9;border-color:#2e7d32}@media (width<=1024px){.admin-stats-grid{grid-template-columns:repeat(3,1fr)}.admin-modules-grid,.admin-quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.admin-dashboard{padding:16px 12px 40px}.admin-welcome h1{font-size:22px}.admin-header{flex-direction:column;align-items:flex-start}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-modules-grid,.admin-quick-actions-grid{grid-template-columns:1fr}.admin-report-info{flex-direction:column;align-items:flex-start;gap:4px}.admin-report-item{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=480px){.admin-stats-grid{grid-template-columns:1fr}}.stats-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.stats-container{max-width:1200px;margin:0 auto}.stats-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.stats-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.stats-header{margin-bottom:24px}.stats-header h1{color:#1a1a2e;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.stats-subtitle{color:#5a5a6a;margin-top:4px;font-size:16px}.dashboard-stats-grid{grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px;display:grid}.dash-stat-card{background:#fff;border:1px solid #e8ede8;border-radius:10px;align-items:center;gap:14px;padding:16px 18px;transition:all .3s;display:flex}.dash-stat-card:hover{border-color:#2e7d32;box-shadow:0 4px 16px #0000000a}.dash-stat-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.dash-stat-icon.users{background:#2e7d32}.dash-stat-icon.eleves{background:#1565c0}.dash-stat-icon.rapports{background:#f9a825}.dash-stat-icon.filieres{background:#6a1b9a}.dash-stat-icon.metiers{background:#e65100}.dash-stat-icon.etablissements{background:#00695c}.dash-stat-info{flex-direction:column;display:flex}.dash-stat-number{color:#1a1a2e;font-size:20px;font-weight:700}.dash-stat-label{color:#5a5a6a;font-size:12px}.recent-reports{background:#fff;border:1px solid #e8ede8;border-radius:10px;margin-bottom:24px;padding:20px 24px}.recent-reports h3{color:#1a1a2e;margin-bottom:12px;font-size:16px;font-weight:700}.reports-list{flex-direction:column;gap:8px;display:flex}.report-item{background:#f8faf8;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.report-info{align-items:center;gap:16px;display:flex}.report-user{color:#1a1a2e;font-weight:500}.report-date{color:#8a8a9a;font-size:13px}.report-status.read{color:#2e7d32}.report-status.unread{color:#e65100;font-weight:600}.generate-section{background:#fff;border:1px solid #e8ede8;border-radius:10px;margin-bottom:24px;padding:20px 24px}.generate-section h3{color:#1a1a2e;align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.generate-form .form-row{align-items:flex-end;gap:16px;display:flex}.generate-form .form-group{flex:1}.generate-form label{color:#1a1a2e;align-items:center;gap:6px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.generate-form select{cursor:pointer;appearance:none;background:#f8faf8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a9a' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #d8ddd8;border-radius:6px;width:100%;padding:10px 14px;font-size:14px;transition:all .3s}.generate-form select:focus{border-color:#2e7d32;outline:none}.btn-generate{color:#fff;cursor:pointer;white-space:nowrap;background:#2e7d32;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 28px;font-size:15px;font-weight:600;transition:all .3s;display:inline-flex}.btn-generate:hover:not(:disabled){background:#1b5e20}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.spinner-btn{animation:1s linear infinite spin}.stats-list-section{background:#fff;border:1px solid #e8ede8;border-radius:10px;padding:20px 24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h3{color:#1a1a2e;font-size:16px;font-weight:700}.section-count{color:#5a5a6a;font-size:14px}.stats-empty{text-align:center;padding:30px}.stats-empty svg{color:#c8e6c9;font-size:40px}.stats-empty h3{color:#1a1a2e;margin-top:8px;font-size:18px;font-weight:700}.stats-list{flex-direction:column;gap:12px;display:flex}.stat-item{background:#f8faf8;border:1px solid #e8ede8;border-radius:8px;padding:16px 20px;transition:all .3s}.stat-item:hover{border-color:#2e7d32}.stat-item-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stat-item-title{align-items:center;gap:12px;display:flex}.stat-region{color:#1a1a2e;font-size:16px;font-weight:700}.stat-annee{color:#5a5a6a;background:#f0f0f0;border-radius:4px;padding:2px 12px;font-size:14px}.stat-item-actions{gap:8px;display:flex}.btn-view{color:#2e7d32;cursor:pointer;background:0 0;border:1px solid #2e7d32;border-radius:4px;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .3s;display:inline-flex}.btn-view:hover{color:#fff;background:#2e7d32}.stat-item-body{flex-direction:column;gap:6px;display:flex}.stat-meta{color:#5a5a6a;flex-wrap:wrap;gap:20px;font-size:13px;display:flex}.stat-meta span{align-items:center;gap:4px;display:flex}.stat-extract{color:#4a4a5a;font-size:13px}.extract-label{color:#1a1a2e;font-weight:600}.extract-value{color:#2a2a3a}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;padding:32px 36px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:#5a5a6a;background:0 0;border:none;font-size:28px;transition:all .3s;position:absolute;top:16px;right:20px}.modal-close:hover{color:#1a1a2e}.modal-header{margin-bottom:24px;padding-right:32px}.modal-header h2{color:#1a1a2e;font-size:24px;font-weight:800}.modal-annee{color:#5a5a6a;font-size:14px}.modal-body{flex-direction:column;gap:20px;display:flex}.modal-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-grid-item{background:#f8faf8;border-radius:8px;padding:12px 16px}.modal-grid-item h4{color:#5a5a6a;margin-bottom:2px;font-size:12px;font-weight:600}.modal-grid-item p{color:#1a1a2e;font-size:15px;font-weight:600}.modal-section h4{color:#1a1a2e;margin-bottom:4px;font-size:15px;font-weight:700}.modal-section p{color:#4a4a5a;font-size:15px;line-height:1.6}.pagination{border-top:1px solid #e8ede8;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}.page-btn{cursor:pointer;background:0 0;border:1px solid #d8ddd8;border-radius:4px;padding:6px 18px;font-size:14px;transition:all .3s}.page-btn:hover:not(:disabled){color:#2e7d32;border-color:#2e7d32}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{color:#5a5a6a;font-size:14px}@media (width<=1024px){.dashboard-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.stats-page{padding:16px 12px 40px}.stats-header h1{font-size:22px}.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}.generate-form .form-row{flex-direction:column}.btn-generate{justify-content:center;width:100%}.stat-item-header{flex-direction:column;align-items:flex-start;gap:8px}.stat-meta{flex-direction:column;gap:4px}.modal-content{margin:10px;padding:24px 20px}.modal-grid{grid-template-columns:1fr}.recent-reports,.stats-list-section{padding:16px}}@media (width<=480px){.dashboard-stats-grid{grid-template-columns:1fr}}.rapport-detail-page{background:#f8faf8;min-height:100vh;padding:30px 20px 60px}.rapport-detail-container{max-width:900px;margin:0 auto}.rapport-detail-loading{color:#5a5a6a;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.rapport-detail-loading .spinner{color:#2e7d32;font-size:40px;animation:1s linear infinite spin}.rapport-detail-error,.rapport-detail-notfound{justify-content:center;align-items:center;min-height:60vh;padding:20px;display:flex}.error-container,.notfound-container{text-align:center;background:#fff;border:1px solid #e8ede8;border-radius:16px;max-width:500px;padding:48px 40px}.error-icon,.notfound-icon{color:#c62828;margin-bottom:16px;font-size:56px}.notfound-icon{color:#f9a825}.error-container h2,.notfound-container h2{color:#1a1a2e;margin-bottom:8px;font-size:24px;font-weight:700}.error-container p,.notfound-container p{color:#5a5a6a;margin-bottom:20px;font-size:15px}.btn-retry{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;margin-right:10px;padding:10px 28px;font-size:14px;font-weight:600;transition:all .3s;display:inline-block}.btn-retry:hover{background:#1b5e20}.btn-back-error,.btn-back-notfound{color:#5a5a6a;cursor:pointer;background:0 0;border:1px solid #d8ddd8;border-radius:6px;padding:10px 28px;font-size:14px;font-weight:500;transition:all .3s;display:inline-block}.btn-back-error:hover,.btn-back-notfound:hover{background:#f0f0f0}.rapport-detail-header{background:#fff;border:1px solid #e8ede8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.btn-back-rapport{color:#2e7d32;cursor:pointer;background:0 0;border:1px solid #2e7d32;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-back-rapport:hover{background:#e8f5e9}.rapport-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rapport-meta span{color:#5a5a6a;align-items:center;gap:6px;font-size:14px;display:inline-flex}.rapport-status.lu{color:#2e7d32}.rapport-status.non-lu{color:#e65100;font-weight:600}.rapport-summary{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:24px;padding:20px 24px}.rapport-summary h3{color:#1a1a2e;margin-bottom:12px;font-size:16px;font-weight:700}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.summary-item{background:#f8faf8;border-radius:8px;flex-direction:column;padding:12px 16px;display:flex}.summary-icon{color:#2e7d32;margin-bottom:4px;font-size:18px}.summary-label{color:#5a5a6a;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.summary-value{color:#1a1a2e;font-size:14px;font-weight:500}.rapport-detail-content{background:#fff;border:1px solid #e8ede8;border-radius:12px;margin-bottom:24px;padding:40px 48px;line-height:1.8}.rapport-heading{color:#1a1a2e;margin:24px 0 12px;font-weight:700}.rapport-heading:first-child{margin-top:0}.rapport-heading.h1{border-bottom:2px solid #e8ede8;padding-bottom:8px;font-size:24px}.rapport-heading.h2{font-size:20px}.rapport-heading.h3{font-size:18px}.rapport-heading.h4{font-size:16px}.rapport-section-title{color:#1a1a2e;margin:20px 0 10px;font-size:18px;font-weight:700}.rapport-numbered{color:#2a2a3a;margin-bottom:8px;padding-left:4px;font-size:15px}.rapport-paragraph{color:#2a2a3a;margin-bottom:12px;font-size:15px}.rapport-list{margin:8px 0 16px;padding-left:24px}.rapport-list li{color:#2a2a3a;margin-bottom:4px;font-size:15px}.rapport-empty-text{color:#5a5a6a;text-align:center;padding:20px 0;font-size:15px}.rapport-detail-actions{flex-wrap:wrap;gap:16px;display:flex}.btn-download{color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:500;transition:all .3s;display:inline-flex}.btn-download:hover{background:#0d47a1}.btn-delete-rapport{color:#c62828;cursor:pointer;background:0 0;border:1px solid #c62828;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:500;transition:all .3s;display:inline-flex}.btn-delete-rapport:hover{color:#fff;background:#c62828}@media (width<=768px){.rapport-detail-page{padding:16px 12px 40px}.rapport-detail-header{flex-direction:column;align-items:stretch;padding:16px}.rapport-meta{justify-content:flex-start}.rapport-detail-content{padding:24px 20px}.rapport-detail-actions{flex-direction:column}.btn-download,.btn-delete-rapport{justify-content:center;width:100%}.summary-grid{grid-template-columns:1fr}.error-container,.notfound-container{padding:32px 20px}}
