/* Classi custom non coperte da Tailwind utility */

/* Progress bars semantiche */
.progress { background: #e2e8f0; border-radius: 99px; height: 8px; overflow: hidden; }
.progress-bar { height: 100%; border-radius: 99px; transition: width 0.4s ease; }
.progress-bar.safe    { background: #10b981; }
.progress-bar.warning { background: #f59e0b; }
.progress-bar.danger  { background: #ef4444; }

/* Multiselect assenze */
.multiselect-list { border: 1px solid #e2e8f0; border-radius: 8px; max-height: 280px; overflow-y: auto; background: #fff; }
.multiselect-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #f1f5f9; transition: background 0.15s; font-size: 0.875rem; }
.multiselect-item:last-child { border-bottom: none; }
.multiselect-item:hover { background: #f8fafc; }
.multiselect-item.checked { background: #eef2ff; }
.multiselect-item input[type=checkbox] { accent-color: #4f46e5; width: 16px; height: 16px; flex-shrink: 0; }

/* Pct display studente */
.pct-display { font-size: 4rem; font-weight: 800; line-height: 1; }
.pct-display.safe    { color: #10b981; }
.pct-display.warning { color: #f59e0b; }
.pct-display.danger  { color: #ef4444; }

/* Donut SVG student card (usato nella admin dashboard) */
.student-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; transition: box-shadow 0.2s; }
.student-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }

/* Alert inline */
.alert-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; color: #991b1b; font-size: 0.875rem; }

/* Sidebar active state (usato nel layout) */
.nav-active { border-left: 3px solid #6366f1; background: rgba(99,102,241,0.1); color: #fff !important; }

/* Calendar chip colors (mantenute per compatibilità) */
.chip-0 { background: #e0e7ff; color: #3730a3; }
.chip-1 { background: #d1fae5; color: #065f46; }
.chip-2 { background: #fef3c7; color: #92400e; }
.chip-3 { background: #fee2e2; color: #991b1b; }
.chip-4 { background: #ede9fe; color: #5b21b6; }
.chip-5 { background: #fce7f3; color: #9d174d; }

.lesson-chip {
    display: block;
    font-size: .7rem;
    padding: 2px 6px;
    border-radius: 4px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.calendar-cell.has-lessons::after { content: '●'; font-size: .6rem; color: #4f46e5; }

@keyframes slideDown {
  from { transform: translateY(-8px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
