*:before,*:after,*{box-sizing:border-box;margin:0;padding:0}body{width:100%;height:100%;background-color:#162a35;font-family:Raleway,sans-serif;color:#fff}.app{width:100%;height:100%;display:grid;grid-template-columns:1fr}.header{display:flex;flex-direction:row;justify-content:space-between;position:fixed;top:0;width:100%;height:60px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #2a4e61;z-index:3;padding:0 1rem}.logo{display:flex;align-items:center;justify-content:center;max-width:60px;max-height:60px}.logo img{width:100%;height:100%;object-fit:contain}.navigation{display:flex;align-items:center;justify-content:center}.navigation ul{display:flex;flex-direction:row;align-items:center;justify-content:center;list-style:none}.navigation li{display:flex;align-items:center;justify-content:center}.navigation a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600;transition:color .3s ease;margin:0 .7rem;transition:all .2s ease-in-out}.navigation a:hover{color:#4c8eae;text-decoration:underline;transform:scale(1.1);transition:all .2s ease-in-out}.hamburger-menu{display:none;cursor:pointer;padding:.5rem}.hamburger-menu span{display:block;width:24px;height:4px;background-color:#4c8eae;margin:5px 0;transition:all .3s ease}.mobile-menu{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#4c8eae;z-index:1000;padding:1rem}.mobile-menu .close-button{position:absolute;top:1rem;right:1rem;cursor:pointer;padding:.5rem}.mobile-menu .close-button span{display:block;width:24px;height:4px;background-color:#fff;margin:5px 0;transition:all .3s ease}.mobile-menu .close-button span:first-child{transform:rotate(45deg) translate(5px,2px)}.mobile-menu .close-button span:last-child{transform:rotate(-45deg) translate(5px,-2px)}.mobile-menu ul{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:2rem;list-style:none}.mobile-menu ul li{margin:2rem}.mobile-menu ul li a{text-decoration:none;padding:.8rem 2.7rem;border:3px solid #fff;border-radius:10px;color:#fff;font-size:1.5rem;font-weight:600;margin:3rem;transition:all .2s ease-in-out}.mobile-menu ul li a:hover,.mobile-menu ul li a:active{background-color:#fff;color:#4c8eae;transition:all .2s ease-in-out}.page{position:relative;top:100px}.back-button{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:1.2rem;margin-bottom:2rem;transition:all .2s ease-in-out}.back-button:hover{color:#7fc0e0;transform:translate(-5px)}.back-button svg{font-size:1.5rem}.hero{padding:2rem}.hero h1{font-size:4.5rem;font-weight:600;margin-bottom:1rem}.hero p{font-size:1.5rem;font-weight:400;margin-bottom:1rem}.hero .button-container{display:flex;align-items:center;justify-content:center;width:100%;margin:2rem auto}.button{background-color:#4c8eae;color:#fff;padding:.8rem 2rem;border:none;border-radius:8px;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:1.5rem;transition:all .2s ease-in-out}.button:hover{background-color:#7fc0e0;transition:all .2s ease-in-out}.centered{display:flex;align-items:center;justify-content:center}.headline{display:grid;grid-template-columns:1fr;padding:2rem}.headline h2{font-size:3rem;font-weight:600;margin-bottom:1rem}.headline p{font-size:1.5rem}.headline-content{display:grid;grid-template-columns:1fr 1fr}.headline-button{margin-top:2rem}.headline-image{width:350px}.headline-image img{width:100%;height:100%;object-fit:cover}.gallery{padding:2rem}.gallery .gallery-container{max-width:1400px;margin:0 auto}.gallery .gallery-container h1{font-size:4.5rem;font-weight:600;margin-bottom:1rem;color:#4c8eae}.gallery .gallery-container p{font-family:IBM Plex Mono,monospace;font-size:1.5rem;margin-bottom:3rem;color:#4c8eae}.gallery .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;padding:1rem}.gallery .gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 4px 6px #0000001a}.gallery .gallery-item:hover{transform:translateY(-5px);box-shadow:0 8px 12px #0003}.gallery .gallery-item:hover img{transform:scale(1.05)}.gallery .gallery-item img{width:100%;height:100%;object-fit:cover;transition:all .2s ease-in-out}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal .modal-content{position:relative;max-width:90%;max-height:90vh;display:flex;justify-content:center;align-items:center}.modal .modal-content img{max-width:100%;max-height:90vh;object-fit:contain}.modal .modal-content .close-button{position:absolute;top:-40px;right:0;color:#fff;font-size:2.5rem;cursor:pointer;transition:all .2s ease-in-out}.modal .modal-content .close-button:hover{color:#7fc0e0}.contact{padding:2rem}.contact .contact-container{max-width:800px;margin:0 auto}.contact .contact-container h1{font-size:4.5rem;font-weight:600;margin-bottom:1rem;color:#4c8eae}.contact .contact-container p{font-family:IBM Plex Mono,monospace;font-size:1.5rem;margin-bottom:3rem;color:#4c8eae}.contact .contact-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a}.contact .contact-form .form-group{margin-bottom:1.5rem}.contact .contact-form .form-group label{display:block;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;color:#4c8eae;font-size:1rem}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{width:100%;padding:.8rem;border:2px solid #4C8EAE;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:1rem;transition:all .2s ease-in-out}.contact .contact-form .form-group input:focus,.contact .contact-form .form-group textarea:focus{outline:none;border-color:#7fc0e0;box-shadow:0 0 0 2px #4c8eae33}.contact .contact-form .form-group textarea{resize:vertical;min-height:120px}.contact .contact-form .button{width:100%;margin-top:1rem;text-align:center}.contact .contact-form .button:hover{background-color:#7fc0e0}.sign-in-container{padding:2rem}.sign-in-container form{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.sign-in-container form input{padding:.8rem}.sign-in-container form button{padding:.8rem 2rem;border:none;border-radius:8px;text-decoration:none;font-family:IBM Plex Mono,monospace;cursor:pointer;transition:all .2s ease-in-out}.sign-in-container form button:hover{background-color:#7fc0e0;transition:all .2s ease-in-out}.error-message{color:#d34949;font-family:IBM Plex Mono,monospace;font-size:1rem;margin-bottom:1rem}.sidebar{position:fixed;top:60px;left:0;width:300px;height:100%;padding:2rem;border-right:1px solid #2a4e61;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#7fc0e0 #2a4e61}.sidebar ul{list-style:none;margin-bottom:2rem}.sidebar li{margin-bottom:2rem}.sidebar a{text-decoration:none;color:#fff;font-family:IBM Plex Mono,monospace;font-size:1.2rem;transition:all .2s ease-in-out;padding:.5rem;border-radius:4px}.sidebar a:hover{background-color:#2a4e61;transition:all .2s ease-in-out}.icon{font-size:1.5rem;margin-right:.5rem}.student-dashboard{padding:2rem;width:calc(100% - 300px);position:relative;left:300px}.article{padding:2rem;background-color:#4c8eae;color:#fff}.article-title-container h1{font-size:4rem;font-weight:700}.paragraph-heading{margin:2rem 0}.paragraph-heading h2{font-size:2rem;font-weight:700}.student-dashboard{padding:2rem;background-color:#162a35;min-height:100vh}.student-dashboard h1{color:#fff;margin-bottom:2rem;font-size:2rem}.student-dashboard .dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;margin-top:2rem}.student-dashboard .dashboard-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.student-dashboard .dashboard-card:hover{transform:translateY(-5px)}.student-dashboard .dashboard-card h2{color:#34495e;font-size:1.25rem;margin-bottom:1rem}.student-dashboard .upcoming-events .event-list{list-style:none;padding:0}.student-dashboard .upcoming-events .event-list li{padding:.75rem 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.student-dashboard .upcoming-events .event-list li:last-child{border-bottom:none}.student-dashboard .upcoming-events .event-list li .event-date{color:#7f8c8d;font-size:.9rem}.student-dashboard .progress-section .progress-bar{height:8px;background-color:#ecf0f1;border-radius:4px;margin:.5rem 0;overflow:hidden}.student-dashboard .progress-section .progress-bar .progress-fill{height:100%;background-color:#3498db;border-radius:4px;transition:width .3s ease}.student-dashboard .progress-section .progress-label{display:flex;justify-content:space-between;margin-bottom:.25rem;color:#7f8c8d;font-size:.9rem}.student-dashboard .quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.student-dashboard .quick-actions .action-button{padding:1rem;background-color:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.5rem}.student-dashboard .quick-actions .action-button:hover{background-color:#2980b9}.student-dashboard .quick-actions .action-button i{font-size:1.5rem}.student-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem}.student-dashboard .stats-grid .stat-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;transition:transform .2s ease}.student-dashboard .stats-grid .stat-item:hover{transform:translateY(-2px)}.student-dashboard .stats-grid .stat-item i{font-size:2rem;color:#3498db}.student-dashboard .stats-grid .stat-item div h3{margin:0;font-size:1.5rem;color:#2c3e50}.student-dashboard .stats-grid .stat-item div p{margin:0;font-size:.9rem;color:#7f8c8d}.student-profile{width:calc(100% - 300px);position:relative;left:300px;padding:2rem;background-color:#162a35;min-height:100vh}.student-profile__header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.student-profile__header:hover{transform:translateY(-5px)}.student-profile__header .profile-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #3498db;box-shadow:0 2px 4px #0000001a}.student-profile__header .profile-info h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.student-profile__header .profile-info .student-id{color:#7f8c8d;font-size:1.1rem}.student-profile__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.student-profile__details .detail-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.student-profile__details .detail-section:hover{transform:translateY(-5px)}.student-profile__details .detail-section h2{color:#34495e;font-size:1.25rem;margin-bottom:1rem}.student-profile__details .detail-section .detail-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #eee}.student-profile__details .detail-section .detail-item:last-child{border-bottom:none}.student-profile__details .detail-section .detail-item .label{color:#7f8c8d;font-size:.9rem}.student-profile__details .detail-section .detail-item .value{color:#2c3e50;font-weight:500}.student-profile__actions{display:flex;gap:1rem;margin-top:2rem}.student-profile__actions .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s ease;cursor:pointer}.student-profile__actions .btn--primary{background:#3498db;color:#fff;border:none}.student-profile__actions .btn--primary:hover{background:#2980b9;transform:translateY(-2px)}.student-profile__actions .btn--secondary{background:transparent;color:#3498db;border:2px solid #3498db}.student-profile__actions .btn--secondary:hover{background:#ecf0f1;transform:translateY(-2px)}@media (max-width: 768px){.student-profile{padding:1rem}.student-profile__header{flex-direction:column;text-align:center;gap:1rem}.student-profile__details{grid-template-columns:1fr}.student-profile__actions{flex-direction:column}}.edit-profile{padding:2rem;max-width:1200px;margin:0 auto}.edit-profile h1{margin-bottom:2rem;color:#fff;font-size:2rem}.edit-profile__header{background:#ffffff1a;padding:2rem;border-radius:8px;margin-bottom:2rem;display:flex;align-items:center;gap:2rem}.edit-profile__header .profile-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #fff}.edit-profile__header .profile-info h1{margin:0;font-size:1.8rem}.edit-profile__header .profile-info .student-id{color:#ffffffb3;font-size:1.1rem;margin-top:.5rem}.edit-profile__form{display:grid;gap:2rem}.edit-profile__form .form-section{background:#ffffff0d;padding:2rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.edit-profile__form .form-section h2{color:#fff;margin-bottom:1.5rem;font-size:1.5rem}.edit-profile__form .form-group{margin-bottom:1.5rem}.edit-profile__form .form-group:last-child{margin-bottom:0}.edit-profile__form .form-group label{display:block;margin-bottom:.5rem;color:#fffc;font-weight:500}.edit-profile__form .form-group input,.edit-profile__form .form-group select{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#fff;font-size:1rem;transition:all .3s ease}.edit-profile__form .form-group input:focus,.edit-profile__form .form-group select:focus{outline:none;border-color:#fff;background:#ffffff1a}.edit-profile__form .form-group input::placeholder,.edit-profile__form .form-group select::placeholder{color:#ffffff80}.edit-profile__form .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8.825L1.175 4 2.238 2.938 6 6.7l3.763-3.763L10.825 4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.edit-profile__form .form-actions{display:flex;gap:1rem;margin-top:2rem}.edit-profile__form .form-actions .btn{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.edit-profile__form .form-actions .btn--primary{background:#fff;color:#162a35;border:none}.edit-profile__form .form-actions .btn--primary:hover{background:#e6e6e6}.edit-profile__form .form-actions .btn--secondary{background:transparent;color:#fff;border:1px solid #fff}.edit-profile__form .form-actions .btn--secondary:hover{background:#ffffff1a}@media (max-width: 768px){.edit-profile{padding:1rem}.edit-profile__header{flex-direction:column;text-align:center;padding:1.5rem}.edit-profile__form .form-section{padding:1.5rem}}@media (max-width: 480px){.edit-profile__header,.edit-profile__form .form-section{padding:1rem}.edit-profile__form .form-actions{flex-direction:column}.edit-profile__form .form-actions .btn{width:100%}}.academic-history{width:calc(100% - 300px);position:relative;left:300px;padding:2rem;background-color:#162a35;min-height:100vh}.academic-history h1{color:#fff;margin-bottom:2rem;font-size:2rem}.academic-history .academic-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.academic-history .academic-summary .summary-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;display:flex;align-items:center;gap:1rem;transition:transform .2s ease}.academic-history .academic-summary .summary-card:hover{transform:translateY(-5px)}.academic-history .academic-summary .summary-card i{font-size:2rem;color:#3498db}.academic-history .academic-summary .summary-card div h3{margin:0;font-size:1rem;color:#7f8c8d}.academic-history .academic-summary .summary-card div p{margin:0;font-size:1.5rem;color:#2c3e50;font-weight:700}.academic-history .academic-timeline{display:flex;flex-direction:column;gap:2rem}.academic-history .academic-timeline .year-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.academic-history .academic-timeline .year-card .year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.academic-history .academic-timeline .year-card .year-header h2{color:#34495e;margin:0;font-size:1.5rem}.academic-history .academic-timeline .year-card .year-header .grade-badge{background-color:#3498db;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.academic-history .academic-timeline .year-card .subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.academic-history .academic-timeline .year-card .subjects-grid .subject-card{background-color:#f8f9fa;padding:1rem;border-radius:8px}.academic-history .academic-timeline .year-card .subjects-grid .subject-card h3{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem}.academic-history .academic-timeline .year-card .subjects-grid .subject-card .grade-info{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#7f8c8d;font-size:.9rem}.academic-history .academic-timeline .year-card .subjects-grid .subject-card .grade-info .grade{font-weight:700;color:#2c3e50}.academic-history .academic-timeline .year-card .subjects-grid .subject-card .progress-bar{height:6px;background-color:#ecf0f1;border-radius:3px;overflow:hidden}.academic-history .academic-timeline .year-card .subjects-grid .subject-card .progress-bar .progress-fill{height:100%;background-color:#3498db;border-radius:3px;transition:width .3s ease}.academic-history .academic-timeline .year-card .achievements h3{color:#34495e;margin:0 0 1rem;font-size:1.1rem}.academic-history .academic-timeline .year-card .achievements ul{list-style:none;padding:0;margin:0}.academic-history .academic-timeline .year-card .achievements ul li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:#2c3e50}.academic-history .academic-timeline .year-card .achievements ul li .achievement-icon{color:#f1c40f}.student-notifications{width:calc(100% - 300px);position:relative;left:300px;padding:2rem;background-color:#162a35;min-height:100vh}.student-notifications h1{color:#fff;margin-bottom:2rem;font-size:2rem}.student-notifications .notifications-container{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.student-notifications .notification-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease;position:relative}.student-notifications .notification-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.student-notifications .notification-card.unread{border-left:4px solid #fff}.student-notifications .notification-card.read{opacity:.8}.student-notifications .notification-card .notification-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.student-notifications .notification-card .notification-header h3{margin:0;color:#34495e;font-size:1.25rem;flex:1}.student-notifications .notification-card .notification-header .notification-date{color:#7f8c8d;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.student-notifications .notification-card .notification-message{color:#2c3e50;margin:0;line-height:1.5}.student-notifications .notification-card .notification-icon{font-size:1.5rem}.student-notifications .notification-card .notification-icon.info{color:#3498db}.student-notifications .notification-card .notification-icon.warning{color:#f1c40f}.student-notifications .notification-card .notification-icon.alert{color:#e74c3c}.student-notifications .notification-card .unread-badge{position:absolute;top:1rem;right:1rem;background-color:#fff;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.subjects-container{width:calc(100% - 300px);position:relative;max-width:1200px;left:300px;padding:2rem}.subjects-container .subjects-header{text-align:center;margin-bottom:3rem}.subjects-container .subjects-header h1{font-size:2.5rem;color:#fff;margin-bottom:.5rem}.subjects-container .subjects-header p{color:#fff;font-size:1.1rem}.subjects-container .subjects-grid{display:grid;grid-template-columns:1fr}.subjects-container .subject-card{width:80%;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease;margin:2rem auto}.subjects-container .subject-card:hover{transform:translateY(-5px)}.subjects-container .subject-card .subject-header{display:flex;align-items:center;margin-bottom:1rem}.subjects-container .subject-card .subject-header .subject-icon{font-size:2rem;color:#3498db;margin-right:1rem}.subjects-container .subject-card .subject-header h2{font-size:1.5rem;color:#2c3e50;margin:0}.subjects-container .subject-card .subject-header .subject-code{color:#7f8c8d;font-size:.9rem}.subjects-container .subject-card .subject-description{color:#34495e;margin-bottom:1.5rem;line-height:1.6}.subjects-container .subject-card .subject-details{display:flex;gap:1.5rem;margin-bottom:1.5rem}.subjects-container .subject-card .subject-details .detail-item{display:flex;align-items:center;gap:.5rem;color:#7f8c8d}.subjects-container .subject-card .subject-details .detail-item svg{color:#3498db}.subjects-container .subject-card .subject-topics h3{color:#2c3e50;margin-bottom:.8rem;font-size:1.1rem}.subjects-container .subject-card .subject-topics ul{list-style:none;padding:0;margin:0}.subjects-container .subject-card .subject-topics ul li{color:#34495e;padding:.5rem 0;border-bottom:1px solid #ecf0f1}.subjects-container .subject-card .subject-topics ul li:last-child{border-bottom:none}@media (max-width: 768px){.subjects-container{padding:1rem}.subjects-container .subjects-header h1{font-size:2rem}.subjects-container .subjects-grid{grid-template-columns:1fr}}.assignments-page{width:calc(100% - 300px);position:relative;max-width:1200px;left:300px;padding:2rem}.assignments-page .assignments-container{width:100%;max-width:1200px;margin:2rem auto;padding:0 1rem}.assignments-page .loading-spinner{text-align:center;padding:2rem;font-size:1.2rem;color:#777}.assignments-page .error-message{background-color:#fff5f5;color:#e53e3e;padding:1rem;border-radius:8px;border-left:4px solid #e53e3e;margin:1rem 0}.assignments-page .no-assignments{background-color:#f7fafc;padding:2rem;border-radius:8px;text-align:center;color:#4a5568;box-shadow:0 2px 4px #0000000d}.assignments-page .assignments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.assignments-page .assignment-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer}.assignments-page .assignment-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.assignments-page .assignment-card.overdue{border-left:4px solid #e53e3e}.assignments-page .assignment-card.overdue:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 45px 45px 0;border-color:transparent #e53e3e transparent transparent}.assignments-page .assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.assignments-page .assignment-header h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0;padding-right:1rem}.assignments-page .subject-badge{background-color:#ebf4ff;color:#3182ce;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;white-space:nowrap}.assignments-page .assignment-description{color:#4a5568;margin-bottom:1.5rem;line-height:1.5;flex-grow:1}.assignments-page .assignment-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid #e2e8f0;padding-top:1rem}.assignments-page .due-date{color:#718096;font-size:.875rem}.assignments-page .time-status{font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;background-color:#e6fffa;color:#319795}.assignments-page .time-status.overdue-status{background-color:#fff5f5;color:#e53e3e}@media (max-width: 768px){.assignments-page .assignments-list{grid-template-columns:1fr}.assignments-page .assignment-card{margin-bottom:1rem}}.grades-page{width:calc(100% - 300px);position:relative;max-width:1200px;left:300px;padding:2rem}.grades-page .grades-container{width:100%;max-width:1200px;margin:2rem auto;padding:0 1rem}.grades-page .loading-spinner{text-align:center;padding:2rem;font-size:1.2rem;color:#777}.grades-page .error-message{background-color:#fff5f5;color:#e53e3e;padding:1rem;border-radius:8px;border-left:4px solid #e53e3e;margin:1rem 0}.grades-page .no-grades{background-color:#f7fafc;padding:2rem;border-radius:8px;text-align:center;color:#4a5568;box-shadow:0 2px 4px #0000000d}.grades-page .grades-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.grades-page .grades-header .semester-selector{display:flex;gap:.5rem}.grades-page .grades-header .semester-selector button{background-color:#f7fafc;border:1px solid #e2e8f0;color:#4a5568;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.grades-page .grades-header .semester-selector button:hover{background-color:#edf2f7}.grades-page .grades-header .semester-selector button.active{background-color:#3182ce;color:#fff;border-color:#3182ce}.grades-page .gpa-display .gpa-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:1.25rem;text-align:center;width:200px}.grades-page .gpa-display .gpa-card h3{font-size:1rem;color:#4a5568;margin:0 0 .5rem}.grades-page .gpa-display .gpa-card .gpa-value{font-size:2.5rem;font-weight:700;color:#3182ce}.grades-page .gpa-display .gpa-card .gpa-scale{font-size:.875rem;color:#718096;margin-top:.25rem}.grades-page .grades-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.grades-page .grade-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:transform .2s,box-shadow .2s}.grades-page .grade-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a}.grades-page .grade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.grades-page .grade-header h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0}.grades-page .grade-badge{padding:.35rem .75rem;border-radius:6px;font-weight:600;font-size:1rem}.grades-page .grade-details h4{font-size:1rem;color:#4a5568;margin:0 0 1rem;font-weight:500}.grades-page .grade-assignments{display:flex;flex-direction:column;gap:1rem}.grades-page .assignment-item{padding:.75rem;background-color:#f7fafc;border-radius:6px}.grades-page .assignment-info{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.5rem;color:#4a5568}.grades-page .assignment-info .assignment-score{font-weight:600}.grades-page .score-bar{width:100%;height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.grades-page .score-bar .score-fill{height:100%;border-radius:4px}.grades-page .assignment-weight{font-size:.8rem;color:#718096;text-align:right}@media (max-width: 992px){.grades-page .grades-header{flex-direction:column;align-items:flex-start}}@media (max-width: 768px){.grades-page{width:100%;left:0;padding:1rem}.grades-page .grades-list{grid-template-columns:1fr}.grades-page .grade-card{margin-bottom:1rem}}@media screen and (max-width: 768px){.page{top:80px}.hero{padding:1.5rem}.hero h1{font-size:3.5rem}.hero p{font-size:1.2rem}.headline{padding:1.5rem}.headline h2{font-size:2.5rem}.headline p{font-size:1.2rem}.headline-content{gap:2rem}.headline-image{width:300px}.gallery{padding:1.5rem}.gallery .gallery-container h1{font-size:3.5rem}.gallery .gallery-container p{font-size:1.2rem}.gallery .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.contact{padding:1.5rem}.contact .contact-container h1{font-size:3.5rem}.contact .contact-container p{font-size:1.2rem}.contact .contact-form{padding:1.5rem}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{font-size:.9rem}.modal{padding:1rem}.modal .modal-content .close-button{font-size:2rem;top:-35px}}@media screen and (max-width: 540px){.page{top:60px}.navigation{display:none}.hamburger-menu,.mobile-menu.active{display:block}.hero{padding:1rem}.hero h1{font-size:2.5rem}.hero p{font-size:1rem}.headline{padding:1rem}.headline h2{font-size:2rem}.headline p{font-size:1rem}.headline-content{display:grid;grid-template-columns:1fr;gap:1.5rem}.headline-image{width:100%;max-width:300px;margin:0 auto}.headline-button{text-align:center}.gallery{padding:1rem}.gallery .gallery-container h1{font-size:2.5rem}.gallery .gallery-container p{font-size:1rem}.gallery .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;padding:.5rem}.contact{padding:1rem}.contact .contact-container h1{font-size:2.5rem}.contact .contact-container p{font-size:1rem}.contact .contact-form{padding:1rem}.contact .contact-form .form-group{margin-bottom:1rem}.contact .contact-form .form-group label{font-size:.9rem}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{padding:.6rem;font-size:.9rem}.contact .contact-form .form-group textarea{min-height:100px}.contact .contact-form .button{padding:.6rem 1.5rem;font-size:1.2rem}.modal{padding:.5rem}.modal .modal-content .close-button{font-size:1.8rem;top:-30px}.back-button{font-size:1rem;margin-bottom:1.5rem}.back-button svg{font-size:1.2rem}}
