/* Спільні стилі застосунку. Підключається в views/layouts/layout.hbs.
   Правила, специфічні для однієї сторінки, лишаються в її шаблоні. */

:root {
  /* Кольори клітинок матриці зайнятості дашборда (views/dashboard.hbs) —
     оголошені один раз, щоб свотч легенди фізично не міг розійтися з
     правилом клітинки (розсинхрон стався двічі, коли колір жив у двох місцях). */
  --slot-in-room-bg: #cfe2ff;
  --slot-in-room-fg: #0a3678;
  --slot-in-room-accent: #00aaff;
  --slot-online-bg: #d1e7dd;
  --slot-online-fg: #0a3622;
  --slot-online-accent: #198754;
  --slot-conflict-bg: #b23c00;
  --slot-conflict-fg: #fff;
  --slot-conflict-accent: #7a2e00;
}

.logo {
  width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.schedule-table th, .schedule-table td {
  vertical-align: middle;
  text-align: center;
  padding: 8px;
}

.schedule-table th {
  background-color: #f8f9fa;
}

.card-header {
  background-color: #007bff;
  color: white;
}

.lesson-type-lecture,
.lesson-type-facultative,
.lesson-type-rector_control {
  background-color: #e7f3fe;
}

.lesson-type-lab {
  background-color: #fdecea;
}

.alert {
  padding: 15px;
  margin-bottom: 10px;
  border: 1px solid transparent;
  border-radius: 5px;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.pagination {
  margin-top: 1rem;
  margin-bottom: 2rem;
  position: relative;
}

.nav-link {
  position: relative;
  font-weight: 600;
  font-size: 0.98rem;
  padding: 0.45rem 0.9rem !important;
  border-radius: 0.35rem;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.09s;
  color: #1a237e !important;
  margin: 0 0.12rem;
  z-index: 1;
}

.nav-link:hover, .nav-link:focus {
  background: linear-gradient(90deg, #e3f2fd 0%, #f8fafd 100%);
  color: #0d6efd !important;
  box-shadow: 0 2px 12px rgba(0, 123, 255, 0.10);
  text-decoration: none;
  transform: translateY(-1px) scale(1.03);
}

.nav-link.active, .nav-link.router-link-exact-active {
  background: #0d6efd;
  /* Було #abb0d1 — на синьому тлі контраст ~2:1, підпис активного пункту
     читався гірше за неактивні. */
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0, 123, 255, 0.13);
  border-radius: 0.35rem;
  font-weight: 700;
}

.navbar-nav .nav-item {
  margin-bottom: 0.05rem;
}

@media (max-width: 800px) {
  .nav-link {
    font-size: 0.93rem;
    padding: 0.55rem 0.8rem !important;
    margin: 0.08rem 0;
    border-radius: 0.28rem;
  }
}

/* --- Тости (заміна нативному alert) --- */
#appToastContainer {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1080; /* вище за модалку Bootstrap (1055) */
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: min(90vw, 420px);
}

#appToastContainer .app-toast {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
