body { font-family: Arial, sans-serif; margin: 30px; background: #f7f7f7; }
h1 { color: #2c3e50; }
.year-block { background: #fff; margin-bottom: 32px; padding: 18px; border-radius: 10px; box-shadow: 0 2px 8px #ccc; }
.year-header { display: flex; align-items: center; margin-bottom: 10px; }
.year-header input { margin-right: 8px; }
.semester-block { background: #f9f9f9; margin-bottom: 18px; padding: 12px; border-radius: 8px; box-shadow: 0 1px 4px #eee; }
.semester-header { display: flex; align-items: center; margin-bottom: 6px; }
.semester-header input { margin-right: 8px; }
table { border-collapse: collapse; width: 100%; margin-bottom: 10px; }
th, td { border: 1px solid #ccc; padding: 8px; text-align: center; }
th { background: #eaeaea; }
input[type="text"], input[type="number"], select { width: 90%; padding: 4px; }
.add-btn, .calc-btn { padding: 8px 16px; margin: 10px 0; background: #3498db; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.add-btn:hover, .calc-btn:hover { background: #2980b9; }
.remove-btn { background: #e74c3c; color: #fff; border: none; border-radius: 4px; padding: 4px 10px; cursor: pointer; }
.remove-btn:hover { background: #c0392b; }
.output { background: #fff; padding: 16px; border-radius: 8px; box-shadow: 0 2px 8px #ccc; }
#languageSelect {
  font-size: 13px;
  padding: 1px 4px;
  height: 22px;
  border-radius: 4px;
  max-width: 80px;
} 