:root { --primary: #003366; --accent: #005a9e; --bg: #f8f9fa; }
body { font-family: 'Segoe UI', Arial, sans-serif; background: var(--bg); margin: 0; padding: 0; }

header { background: #fff; padding: 15px 5%; display: flex; justify-content: space-between; align-items: center; border-bottom: 3px solid var(--primary); box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.logos { display: flex; align-items: center; gap: 20px; }
.logos img { height: 45px; transition: transform 0.3s; }
.logos img:hover { transform: scale(1.1); }
.uni-logo { font-weight: bold; font-size: 1.4rem; color: var(--primary); border-left: 2px solid #ccc; padding-left: 15px; }

.container { width: 90%; max-width: 1200px; margin: 30px auto; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin-bottom: 40px; }
.card { background: #fff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); animation: fadeIn 0.6s ease-out; }
.card h3 { margin-top: 0; color: var(--primary); border-bottom: 1px solid #eee; padding-bottom: 10px; }

table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 0 20px rgba(0,0,0,0.05); }
th { background: var(--primary); color: #fff; padding: 15px; text-align: left; text-decoration: none; }
th a { color: #fff; text-decoration: none; display: block; width: 100%; }
td { padding: 12px 15px; border-bottom: 1px solid #eee; }
tr:hover { background-color: #f1f5f9; }

.search-bar { margin-bottom: 20px; display: flex; gap: 10px; }
input[type="text"], input[type="password"] { padding: 12px; border: 1px solid #ddd; border-radius: 6px; flex-grow: 1; }
button { padding: 12px 25px; background: var(--primary); color: #fff; border: none; border-radius: 6px; cursor: pointer; transition: 0.3s; }
button:hover { background: var(--accent); }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) { .header { flex-direction: column; text-align: center; gap: 15px; } }