body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    background: #f1f5f9;
    min-height: 100vh;
    margin: 0;
    color: #0f172a;
}
.view-section { display: none; }
.view-section.active { display: block !important; animation: slideUp 0.4s ease-out; }
#view-login {
    background: linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none; 
}
#view-login.active { display: flex !important; }
.blob-login {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    border-radius: 40px;
    padding: 40px;
    width: 90%;
    max-width: 380px;
    text-align: center;
}
@keyframes slideUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
.premium-card { background: #ffffff; border-radius: 24px; border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 4px 12px rgba(0,0,0,0.03); }
.btn-premium { background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%); }
.week-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 768px) {
    .week-grid {
        grid-template-columns: repeat(7, 1fr);
        gap: 8px;
    }
}
.day-column {
    min-height: 100px;
    background: #ffffff;
    border-radius: 18px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.01);
}
@media (min-width: 768px) {
    .day-column {
        min-height: 480px;
        padding: 10px;
    }
}
.day-column:hover { background: #f8fafc; border-color: #cbd5e1; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.day-column.today { background: #e0f2fe; border-color: #bae6fd; }
.mini-task { font-size: 13px; padding: 8px 10px; border-radius: 10px; color: white; font-weight: 700; line-height: 1.25; box-shadow: 0 1px 3px rgba(0,0,0,0.05); word-break: break-all; }
.profile-img { width: 45px; height: 45px; border-radius: 50%; object-fit: cover; border: 2px solid white; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.task-done { opacity: 0.5; filter: grayscale(1); text-decoration: line-through; }
.cat-btn.active-cat { border-color: #0284c7 !important; background: #f0f9ff !important; transform: scale(1.05); }

.month-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.month-day {
    min-height: 60px;
    background: #ffffff;
    border-radius: 12px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    transition: all 0.25s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.01);
}
@media (min-width: 768px) {
    .month-day {
        min-height: 140px;
        border-radius: 16px;
        padding: 8px;
        justify-content: flex-start;
        align-items: stretch;
    }
}
.month-day:hover { background: #f8fafc; border-color: #cbd5e1; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.month-day.today { background: #e0f2fe; border-color: #bae6fd; }
.month-day.other-month { background: rgba(241, 245, 249, 0.4); opacity: 0.6; }
.month-day-number {
    font-weight: 900;
    font-size: 14px;
    color: #334155;
    text-align: center;
}
@media (min-width: 768px) {
    .month-day-number {
        font-size: 16px;
        margin-bottom: 8px;
    }
}
.month-more-indicator { font-size: 7px; font-weight: 800; color: #0284c7; text-align: center; margin-top: 1px; }

#today-tasks-container::-webkit-scrollbar {
    width: 6px;
}
#today-tasks-container::-webkit-scrollbar-track {
    background: transparent;
}
#today-tasks-container::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
#today-tasks-container::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.scrollbar-none::-webkit-scrollbar { display: none; }
.scrollbar-none { -ms-overflow-style: none; scrollbar-width: none; }
