:root {
  /* --highlight: #75d6ff; */
  --highlight: #FF751F;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    user-select: none;
}

body {
  background-color: #111827;
  font-family: 'Roboto', sans-serif;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

img {
    display: block;
    margin: auto;
    width: 50%;
}

.logo {
  display: flex;
  align-items: center;
  position: absolute;
  top: 20px;
  left: 20px;
  color: white;
  cursor: pointer;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.logo h3 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 1px;
}

.logo:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 30px rgba(2,6,23,0.6);
}

.orange {
  color: rgb(210, 98, 0);
}


.navbar {
  background: linear-gradient(140deg, rgba(33,141,184,0.1), rgba(255,255,255,0.01));
  display: flex;
  align-items: center;
  gap: 6px;
  width: min(90vw, 500px);
  height: clamp(56px, 10vh, 100px);
  border-radius: clamp(12px, 4vw, 32px);
  margin: 0 auto;
  bottom: 20px;
  position: fixed;
  left: 0;
  right: 0;
  padding: 0 8px;
  transition: transform 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 18px 30px rgba(2,6,23,0.6);
}

.list-item {
  list-style: none;
  flex: 1 1 auto;
  min-height: clamp(48px, 8vh, 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #ffffff;
  transform: translateY(0);
  transition: transform 200ms ease, opacity 200ms ease, color 200ms ease;
  cursor: pointer;
  padding: 6px;
  /* scale: 1.5; */
}

.list-item i {
  font-size: clamp(18px, 3.5vw, 22px);
  line-height: 1;
  display: inline-block;
  pointer-events: none;
}

.list-item-name {
  font-size: clamp(11px, 2vw, 13px);
  font-weight: 500;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 30px);
  transition: transform 200ms ease, opacity 200ms ease;
  opacity: 0;
  white-space: nowrap;
}

.list-item:hover {
  color: var(--highlight);
  transform: translateY(-6px) scale(1.3);
}

.list-item:hover .list-item-name {
  transform: translate(-50%, 20px);
  opacity: 1;
}

@media (max-width: 480px) {
  .navbar {
    width: 94vw;
    height: clamp(48px, 12vh, 80px);
    gap: 4px;
    bottom: 14px;
    padding: 0 6px;
    border-radius: 16px;
  }

  .list-item {
    min-height: 44px;
    padding: 4px;
  }

  .list-item-name {
    font-size: 11px;
    transform: translate(-50%, 40px);
  }

  .list-item:hover {
    transform: translateY(-4px);
  }
}

@media (max-width: 350px) {
  .navbar.vertical {
    flex-direction: column;
    align-items: center;
    max-width: 120px;
    padding-bottom: 20px;
    height: auto;
  }

  .list-item {
    flex-basis: auto;
    width: 100%;
  }
}


.container {
  display: flex;
  gap: 40px;
}

.subjects-panel, .schedule {
  background: white;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.subjects-panel {
  width: 200px;
}

#subjectList {
  list-style: none;
  padding: 0;
  margin-top: 10px;
}

#subjectList li {
  background: #007bff;
  color: white;
  padding: 8px;
  margin-bottom: 5px;
  border-radius: 8px;
  cursor: grab;
}

#subjectList li:active {
  cursor: grabbing;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  border: 1px solid #ddd;
  text-align: center;
  padding: 15px;
  min-width: 100px;
}

td {
  background: #fafafa;
}

td.drop-target {
  background: #dff0d8;
}

td.filled {
  background: #cce5ff;
}