:root{--color-primary:#1a6e3e;--color-secondary:#c9a84c;--color-accent:#8b6b3a;--color-success:#27ae60;--color-warning:#f39c12;--color-danger:#e74c3c;--color-info:#3498db;--color-white:#fff;--color-gray:#f8f9fa;--color-border:#dee2e6;--color-dark:#2c2c2c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.btn{cursor:pointer;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-danger{background:var(--color-danger);color:#fff}.text-center{text-align:center}.text-muted{color:#6c757d}.alert{border-radius:8px;max-width:800px;margin:1.5rem auto;padding:1rem 1.5rem;font-size:.95rem;box-shadow:0 2px 8px #0000000d}.alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.alert-warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba}.alert-info{color:#0c5460;background-color:#d1ecf1;border:1px solid #bee5eb}.section-padding-top{padding-top:100px}.btn-sm{border-radius:6px;padding:.35rem .75rem;font-size:.85rem}.btn-success{background:var(--color-success);color:#fff}.btn-warning{background:var(--color-warning);color:#fff}.btn-info{background:var(--color-info);color:#fff}a{color:var(--color-primary);text-decoration:none;transition:color .3s}a:hover{color:var(--color-secondary)}.navbar{background:linear-gradient(135deg, var(--color-primary), #0d4a2a);z-index:1000;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0000004d}.navbar .logo{align-items:center;gap:15px;display:flex}.navbar .logo img{width:auto;height:50px}.navbar .logo h1{color:var(--color-white);font-size:1.2rem;font-weight:700}.navbar .logo h1 span{color:var(--color-secondary)}.navbar .nav-links{gap:.5rem;list-style:none;display:flex}.navbar .nav-links li a{color:#ffffffe6;border-radius:5px;padding:.5rem 1rem;font-size:.95rem;transition:all .3s;position:relative}.navbar .nav-links li a:hover{color:var(--color-white);background:#ffffff26}.navbar .nav-links li a.active{background:var(--color-secondary);color:var(--color-dark)}.navbar .nav-links li a.admin-link{border:1px solid var(--color-secondary);color:var(--color-secondary)}.navbar .nav-links li a.admin-link:hover{background:var(--color-secondary);color:var(--color-dark)}.menu-toggle{cursor:pointer;flex-direction:column;display:none}.menu-toggle span{background:#fff;border-radius:3px;width:25px;height:3px;margin:3px 0;transition:all .3s}.banner{background:linear-gradient(135deg, var(--color-primary), #0d4a2a);text-align:center;color:var(--color-white);padding:120px 2rem 80px;position:relative;overflow:hidden}.banner:before{content:"﷽";opacity:.05;font-size:6rem;position:absolute;top:50%;right:50px;transform:translateY(-50%)}.banner h1{margin-bottom:.5rem;font-size:2.8rem;font-weight:700}.banner h1 span{color:var(--color-secondary)}.banner .devise{color:var(--color-secondary);margin:1rem 0;font-size:1.8rem;font-style:italic;font-weight:300}.banner .devise .arabic{margin-bottom:.5rem;font-size:2rem;display:block}.banner p{opacity:.9;max-width:600px;margin:0 auto;font-size:1.2rem}.section{max-width:1200px;margin:0 auto;padding:4rem 2rem}.section-title{color:var(--color-primary);text-align:center;margin-bottom:.5rem;font-size:2rem}.section-subtitle{text-align:center;color:var(--color-accent);margin-bottom:2rem}.cursus-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.cursus-card{background:var(--color-white);border-top:4px solid var(--color-secondary);border-radius:12px;padding:2rem;transition:all .3s;box-shadow:0 4px 15px #00000014}.cursus-card:hover{transform:translateY(-8px);box-shadow:0 8px 30px #00000026}.cursus-card .icon{margin-bottom:1rem;font-size:3rem}.cursus-card h3{color:var(--color-primary);margin-bottom:.5rem}.cursus-card .badge{border-radius:20px;padding:.2rem 1rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-primaire{color:#fff;background:#27ae60}.badge-college{color:#fff;background:#3498db}.badge-lycee{color:#fff;background:#9b59b6}.filters{flex-wrap:wrap;gap:1rem;margin:2rem 0;display:flex}.filters select{border:2px solid var(--color-border);background:#fff;border-radius:8px;flex:1;min-width:150px;padding:.6rem 1.2rem;font-size:1rem}.epreuves-table{background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 4px 15px #00000014}.epreuves-table table{border-collapse:collapse;width:100%}.epreuves-table th{background:var(--color-primary);color:#fff;text-align:left;padding:1rem}.epreuves-table td{border-bottom:1px solid var(--color-border);padding:1rem}.epreuves-table tr:hover{background:var(--color-light)}.badge-classe,.badge-matiere{color:#fff;border-radius:20px;padding:.2rem .8rem;font-size:.75rem;font-weight:600;display:inline-block}.download-links a{color:#fff;border-radius:5px;margin:.1rem;padding:.3rem .8rem;font-size:.85rem;display:inline-block}.download-links .cours{background:var(--color-primary)}.download-links .corrige{background:var(--color-secondary);color:var(--color-dark)}.form-container{background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:2rem;box-shadow:0 4px 20px #00000014}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--color-dark);margin-bottom:.3rem;font-weight:600;display:block}.form-group .required{color:var(--color-danger)}.form-group input,.form-group select,.form-group textarea{border:2px solid var(--color-border);border-radius:8px;width:100%;padding:.7rem 1rem;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group textarea{resize:vertical;min-height:100px}.btn{cursor:pointer;border:none;border-radius:8px;padding:.7rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#0d4a2a;transform:translateY(-2px);box-shadow:0 4px 15px #1a6e3e4d}.btn-secondary{background:var(--color-secondary);color:var(--color-dark)}.btn-secondary:hover{background:#b8963a;transform:translateY(-2px)}footer{background:var(--color-dark);color:#fffc;margin-top:2rem;padding:3rem 2rem 1rem}footer .footer-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}footer h4{color:var(--color-secondary);margin-bottom:1rem}footer a{color:#ffffffb3}footer a:hover{color:var(--color-secondary)}footer .copyright{text-align:center;border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem;font-size:.9rem}@media (width<=768px){.navbar{flex-wrap:wrap;padding:0 1rem}.navbar .logo h1{font-size:1rem}.menu-toggle{display:flex}.navbar .nav-links{background:var(--color-primary);flex-direction:column;width:100%;padding:1rem;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 4px 10px #0003}.navbar .nav-links.active{display:flex}.navbar .nav-links li{text-align:center}.banner{padding:100px 1rem 60px}.banner h1{font-size:2rem}.banner .devise{font-size:1.2rem}.section{padding:2rem 1rem}.cursus-grid{grid-template-columns:1fr}.epreuves-table{overflow-x:auto}.epreuves-table table{font-size:.85rem}.filters{flex-direction:column}}@media (width<=480px){.cursus-grid{grid-template-columns:1fr}}.login-page-container{background:#f4f4f4;justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.login-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:3rem;box-shadow:0 4px 15px #0000001a}.login-box h2{color:#1a6e3e;margin-bottom:1.5rem;font-size:1.8rem}.login-box input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:15px;padding:12px;font-size:1rem}.login-box button{color:#fff;cursor:pointer;background:#1a6e3e;border:none;border-radius:8px;width:100%;padding:12px;font-size:1rem;font-weight:700;transition:all .3s}.login-box button:hover{background:#145a33}.error-msg{color:#d32f2f;margin-bottom:15px;font-size:.9rem}.login-box .back-link{color:#666;margin-top:15px;font-size:.9rem;text-decoration:none;display:block}.login-box .back-link:hover{color:#1a6e3e}.btn-secondary{background:var(--color-secondary);color:var(--color-dark);border-radius:8px;margin-top:1rem;padding:.5rem 1.5rem;text-decoration:none;display:inline-block}.btn-secondary:hover{background:#b8963a}@media (width<=768px){.eleve-grid{grid-template-columns:1fr}.notes-simple{flex-wrap:wrap;gap:1rem}}.eleve-container{max-width:1200px;margin:100px auto 2rem;padding:0 1.5rem}.eleve-header{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 2px 10px #0000000d}.eleve-header h1{color:var(--color-primary);margin:0}.eleve-badge{color:#555;align-items:center;gap:1rem;font-size:.9rem;display:flex}.eleve-grid{grid-template-columns:1fr 2fr;gap:2rem;display:grid}.eleve-card-side{text-align:center;border-top:4px solid var(--color-primary);background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000000d}.eleve-card-side h3{color:var(--color-primary);margin-bottom:.5rem;font-size:1.1rem}.eleve-card-side p{color:#555}.eleve-card-results{border-top:4px solid var(--color-secondary);background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000000d}.eleve-card-results h2{color:var(--color-primary);align-items:center;gap:10px;margin-bottom:.5rem;font-size:1.5rem;display:flex}.status-ok{color:#27ae60;font-weight:700}.status-warning{color:#f39c12;font-weight:700}.status-danger{color:#e74c3c;font-weight:700}.avertissement-item{text-align:left;background:#fef3f3;border-left:4px solid #e74c3c;border-radius:4px;margin:.5rem 0;padding:.5rem 1rem}.trimestre-block{border-top:1px solid #eee;margin-top:1.5rem;padding-top:1rem}.trimestre-block h4{color:var(--color-secondary);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.matiere-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:.8rem 0;display:flex}.matiere-item:last-child{border-bottom:none}.matiere-nom{color:var(--color-primary);flex:1;font-weight:600}.matiere-coeff{color:var(--color-accent);margin-left:1rem;font-size:.8rem}.notes-simple{gap:2rem;margin-top:.3rem;font-size:.95rem;display:flex}.notes-simple span{color:#555}.notes-simple strong{color:var(--color-dark)}.moyenne-box{border-top:2px solid var(--color-primary);text-align:right;color:var(--color-primary);margin-top:1rem;padding-top:.5rem;font-weight:700}.empty-notes{color:#999;font-size:.9rem;font-style:italic}@media (width<=768px){.eleve-grid{grid-template-columns:1fr}.notes-simple{flex-wrap:wrap;gap:1rem}}.notifications-container{z-index:999;margin-top:80px;padding:0 1rem;position:relative}.notifications-container:empty{margin-top:0}.logout-inline-form{display:inline}.btn-logout-nav{color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:5px;padding:.4rem .8rem;font-size:.85rem}.btn-logout-nav:hover{background:#b71c1c}.error-list{margin:0;padding-left:1.5rem;list-style:outside}.main-content{min-height:calc(100vh - 250px)}.footer-devise{color:var(--color-secondary);margin-top:.5rem;font-style:italic}.footer-links{padding:0;list-style:none}.footer-links li{margin-bottom:.5rem}.logo-link{align-items:center;gap:15px;text-decoration:none;display:flex}.presentation-card{text-align:center;background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:2rem;box-shadow:0 4px 15px #00000014}.presentation-text{font-size:1.1rem;line-height:1.8}.section-alt{background:var(--color-white);padding:4rem 2rem}.cursus-formation-title{margin-top:.5rem}.cursus-debouches{color:var(--color-accent);margin-top:.25rem;font-size:.85rem}.cursus-desc{margin-top:1rem}.cursus-list{text-align:left;margin-top:1rem;padding-left:1.5rem;list-style:outside}.section-cta{text-align:center;margin-top:2.5rem}.section-cta-sm{text-align:center;margin-top:2rem}.empty-table-msg{text-align:center;color:#666;padding:2rem}.btn-download{background:var(--color-gray);border:1px solid var(--color-border);color:var(--color-dark);border-radius:6px;margin-right:.3rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-block}.btn-download:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
