.tasks-top{

    height:90px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:0 20px;

    background:
    linear-gradient(
        to bottom,
        #f2ecec,
        #9c9b9b
    );

    border-bottom:
    1px solid #000;
}

.tasks-logo{

    display:flex;
    align-items:center;
    gap:15px;
}

.tasks-logo img{

    width:64px;
    height:64px;
}

.tasks-top button{

    padding:10px 18px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    background:
    linear-gradient(
        to bottom,
        #fff,
        #939393
    );
}

/* TOOLBAR */

.task-toolbar{

    display:flex;
    flex-wrap:wrap;

    gap:10px;

    padding:12px;

    background:
    linear-gradient(
        to bottom,
        #f4fff4,
        #9a9a9a
    );
}

.task-toolbar input,
.task-toolbar select{

    padding:10px;

    border-radius:10px;

    border:1px solid #9ec79e;
}

.task-toolbar button{

    padding:10px 16px;

    border:none;

    border-radius:10px;

    cursor:pointer;

    background:
    linear-gradient(
        to bottom,
        #ffffff,
        #dddddd
    );
}

/* BUSCA */

.search-area{

    padding:15px;
}

.search-area input{

    width:100%;

    padding:12px;

    border-radius:10px;

    border:1px solid #ccc;
}

/* ESTATÍSTICAS */

.stats{

    display:grid;

    grid-template-columns:
    repeat(
        auto-fit,
        minmax(180px,1fr)
    );

    gap:15px;

    padding:15px;
}

.stat-card{

    padding:20px;

    border-radius:18px;

    background:
    linear-gradient( to bottom, #a3ff95, #44f42b );

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8), 0 4px 10px rgba(0, 0, 0, 0.45);
}

/* LISTA */

main{

    padding:15px;
}

.task{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:12px;

    padding:15px;

    border-radius:16px;

    background:
    linear-gradient(
        to bottom,
        #ffffff,
        #eefdee
    );
}

.task.completed{

    opacity:.6;

    text-decoration:line-through;
}

.task-info{

    flex:1;
}

.priority-alta{

    border-left:
    6px solid #ff4d4d;
}

.priority-media{

    border-left:
    6px solid #ffd44d;
}

.priority-baixa{

    border-left:
    6px solid #4dcf6f;
}

/* CALENDÁRIO */

.calendar-modal{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    background:
    rgba(0,0,0,.45);

    backdrop-filter:
    blur(6px);

    z-index:9999;
}

.calendar-modal.show{

    display:flex;
}

.calendar-window{

    width:650px;

    max-width:92vw;

    max-height:90vh;

    overflow-y:auto;

    overflow-x:hidden;

    border-radius:20px;

    background:
    linear-gradient(
        to bottom,
        rgba(255,255,255,.96),
        rgba(225,245,255,.94)
    );

    border:
    1px solid #7eb9d8;

    box-shadow:
    0 12px 30px rgba(0,0,0,.35);
}

.calendar-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:12px 18px;

    color:white;

    background:
    linear-gradient(
        to bottom,
        #8fd9ff,
        #1f8fd9
    );

    position:sticky;

    top:0;

    z-index:20;
}

.calendar-header button{

    border:none;

    width:34px;
    height:34px;

    border-radius:10px;

    cursor:pointer;
}

.calendar-nav{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:10px 18px;

    background:
    linear-gradient(
        to bottom,
        #f7fcff,
        #dcefff
    );

    position:sticky;

    top:58px;

    z-index:19;
}

.calendar-nav button{

    border:none;

    width:36px;
    height:36px;

    border-radius:10px;

    cursor:pointer;
}

.calendar-weekdays{

    display:grid;

    grid-template-columns:
    repeat(7,1fr);

    text-align:center;

    padding:8px;

    font-size:13px;

    font-weight:bold;

    background:
    linear-gradient(
        to bottom,
        #eef9ff,
        #d7ecff
    );
}

.calendar-grid{

    display:grid;

    grid-template-columns:
    repeat(7,1fr);

    gap:6px;

    padding:10px;
}

.calendar-day{

    min-height:55px;

    padding:6px;

    border-radius:12px;

    cursor:pointer;

    position:relative;

    font-size:14px;

    background:
    linear-gradient(
        to bottom,
        white,
        #eef7ff
    );

    border:
    1px solid #c4dff5;

    transition:.15s;
}

.calendar-day:hover{

    transform:
    translateY(-2px);

    background:
    linear-gradient(
        to bottom,
        #fffedb,
        #ffe28f
    );
}

.calendar-day.selected{

    background:
    linear-gradient(
        to bottom,
        #fff0b0,
        #ffb347
    ) !important;

    border:
    1px solid #e38a00;

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 0 10px rgba(255,170,0,.4);
}

.calendar-day.has-event::after{

    content:"";

    position:absolute;

    right:6px;
    bottom:6px;

    width:8px;
    height:8px;

    border-radius:50%;

    background:#3ec93e;
}

.event-editor{

    display:none;

    padding:15px;

    border-top:
    1px solid #b8d8ec;

    background:
    linear-gradient(
        to bottom,
        #fdfefe,
        #e8f5ff
    );
}

.event-editor.show{

    display:block;
}

.event-editor input,
.event-editor textarea{

    width:100%;

    margin-bottom:10px;

    padding:10px;

    border-radius:10px;

    border:
    1px solid #b8d8ec;

    box-sizing:border-box;
}

.event-editor textarea{

    height:80px;

    resize:vertical;
}

.event-buttons{

    display:flex;

    gap:10px;
}

.event-buttons button{

    border:none;

    padding:10px 16px;

    border-radius:10px;

    cursor:pointer;
}

@media(max-width:700px){

    .calendar-window{

        width:95vw;
    }

    .calendar-day{

        min-height:45px;

        font-size:12px;
    }
}
