body {
    font-family: 'Inter', sans-serif;
}
.gradient-bg {
    background: linear-gradient(135deg, #1e3a8a 0%, #38bdf8 100%);
}
.sidebar {
    transition: transform 0.3s ease-in-out;
}
.dashboard-card, .package-card, .exercise-card {
    transition: all 0.3s ease;
}
.dashboard-card:hover, .package-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.exercise-card:hover {
     background-color: #f0f9ff;
     cursor: grab;
}
.modal, .notification {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.notification.hidden {
   opacity: 0;
   transform: translateY(-20px);
}
.dot {
    transition: transform 0.3s ease;
}
input:checked + .block {
    background-color: #2563eb; /* blue-600 */
}
input:checked + .block + .dot {
    transform: translateX(20px);
}
.drop-zone {
    transition: background-color 0.3s ease;
}
.drop-zone.drag-over {
    background-color: #dbeafe;
    border-style: dashed;
}
.calendar-day {
    transition: background-color 0.2s ease;
}
.calendar-day:not(.other-month):hover {
    background-color: #eff6ff;
    cursor: pointer;
}
.has-event {
    position: relative;
}
.has-event::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #2563eb;
}
.today {
    background-color: #3b82f6 !important;
    color: white;
}
@media (max-width: 1023px) {
    .sidebar {
        transform: translateX(-100%);
        position: fixed;
        z-index: 50;
        height: 100vh;
        top: 0;
    }
    .sidebar.active {
        transform: translateX(0);
    }
    .main-content-overlay.active {
        position: fixed;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 40;
    }
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }
