body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:700;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.form-actions{margin-top:1rem}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-right:.5rem;padding:.5rem 1rem}.form-actions button[type=submit]{background-color:#007bff;color:#fff}.form-actions button[type=button]{background-color:#6c757d;color:#fff}.login-form{border:1px solid #ddd;border-radius:8px;margin:2rem auto;max-width:400px}.login-form,.top-page{padding:2rem}.dashboard-content{margin-top:2rem}.announcements-section{background:#f8f9fa;border-radius:8px;padding:1.5rem}.announcement-list{margin-top:1rem}.announcement-item{background:#fff;border-left:4px solid #007bff;border-radius:4px;margin-bottom:1rem;padding:1rem}.announcement-date,.announcement-meta{color:#6c757d;font-size:.9rem}.announcement-meta{margin-top:.5rem}.notification-popup-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.notification-popup{background:#fff;border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem}.popup-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.close-button{background:none;border:none;cursor:pointer;font-size:1.5rem}.user-table{border-collapse:collapse;margin-top:1rem;width:100%}.user-table td,.user-table th{border-bottom:1px solid #ddd;padding:.75rem;text-align:left}.user-table th{background-color:#f8f9fa;font-weight:700}.my-page{padding:2rem}.profile-section{background:#f8f9fa;border-radius:8px;margin-top:1rem;padding:1.5rem}.profile-info{margin-bottom:1rem}.info-item{display:flex;margin-bottom:.5rem}.info-item label{font-weight:700;width:150px}.readonly-field{color:#6c757d;font-style:italic}.profile-actions button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:.5rem;padding:.5rem 1rem}.admin-route-loading{align-items:center;display:flex;justify-content:center;min-height:50vh}.loading-spinner{color:#666;font-size:1.2rem}.admin-route-unauthorized{align-items:center;display:flex;justify-content:center;min-height:50vh;padding:2rem}.unauthorized-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:500px;padding:3rem;text-align:center}.unauthorized-content h2{color:#dc3545;font-size:1.8rem;margin-bottom:1rem}.unauthorized-content p{color:#666;font-size:1.1rem;margin-bottom:2rem}.unauthorized-content button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background .3s ease}.unauthorized-content button:hover{background:#5a6fd8}