/* ===== GOOGLE FONT ===== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}


/* ===== BODY ===== */

body{

    background:red;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:25px;

}


/* ===== CONTENEDOR ===== */

.container{

    width:100%;

    max-width:650px;

    background:#ffffff;

    border-radius:25px;

    padding:35px;

    box-shadow:
    0 15px 40px rgba(124,58,237,.15);

}


/* ===== HEADER ===== */

header{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:30px;

}


.logo{

    width:65px;

    height:65px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(135deg,#2791F5,#7c3aed);

    color:white;

    font-size:30px;

}


header h1{

    color:#7c3aed;

    font-size:30px;

}


header p{

    color:#8b5cf6;

    margin-top:5px;

}


/* ===== BIENVENIDA ===== */


.welcome{

    margin-bottom:25px;

}


.welcome h2{

    color:#7c3aed;

    margin-bottom:6px;

}


.welcome p{

    color:#a78bfa;

}


/* ===== FORMULARIO ===== */


.task-form{

    display:flex;

    gap:12px;

    margin-bottom:18px;

}


.task-form input{

    flex:1;

    padding:15px 18px;

    border:none;

    border-radius:15px;

    background:#faf5ff;

    outline:none;

    font-size:15px;

    transition:.3s;

}


.task-form input:focus{

    background:white;

    box-shadow:
    0 0 0 3px rgba(139,92,246,.20);

}


.task-form button{

    width:60px;

    border:none;

    border-radius:15px;

    cursor:pointer;

    background:linear-gradient(135deg,#a855f7,#7c3aed);

    color:white;

    font-size:18px;

    transition:.3s;

}


.task-form button:hover{

    background:#6d28d9;

    transform:translateY(-2px);

}


/* ===== BUSCADOR ===== */


.search{

    display:flex;

    align-items:center;

    gap:10px;

    background:#faf5ff;

    padding:14px 18px;

    border-radius:15px;

    margin-bottom:25px;

}


.search i{

    color:#a78bfa;

}


.filter-input{

    width:100%;

    border:none;

    outline:none;

    background:transparent;

    font-size:15px;

}


/* ===== TITULO TAREAS ===== */


.tasks-title{

    margin-bottom:18px;

}


.tasks-title h3{

    color:#6d28d9;

    font-size:18px;

}


/* ===== LISTA ===== */


.task-list{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:14px;

}



/* ===== TARJETAS ===== */


.task-item{

    display:flex;

    align-items:center;

    gap:12px;

    background:#fdfaff;

    padding:16px;

    border-radius:16px;

    transition:.3s;

    border:1px solid #e9d5ff;

}


.task-item:hover{

    transform:translateY(-3px);

    box-shadow:
    0 10px 25px rgba(124,58,237,.15);

}


.task-title{

    flex:1;

    color:#4c1d95;

    font-size:15px;

}



/* ===== COMPLETADA ===== */


.task-item.completed{

    background:#f5f3ff;

}


.task-item.completed .task-title{

    text-decoration:line-through;

    color:#a78bfa;

}



/* ===== BOTONES ===== */


.task-item button{

    border:none;

    background:transparent;

    cursor:pointer;

    width:38px;

    height:38px;

    border-radius:12px;

    transition:.25s;

}



.edit-btn{

    color:#8b5cf6;

}


.edit-btn:hover{

    background:#ede9fe;

}



.delete-btn{

    color:#ec4899;

}


.delete-btn:hover{

    background:#fce7f3;

}



/* ===== MENSAJE VACIO ===== */


.empty-message{

    text-align:center;

    padding:35px 20px;

    color:#a78bfa;

}


.empty-message i{

    font-size:45px;

    margin-bottom:10px;

}



/* ===== RESPONSIVE TABLET ===== */


@media(max-width:700px){


.container{

    padding:25px;

}


header{

    flex-direction:column;

    text-align:center;

}


.logo{

    margin-bottom:5px;

}


.task-form{

    flex-direction:column;

}


.task-form button{

    width:100%;

    height:52px;

}


}



/* ===== RESPONSIVE CELULAR ===== */


@media(max-width:450px){


body{

    padding:15px;

}


.container{

    padding:20px;

    border-radius:20px;

}


header h1{

    font-size:25px;

}


.welcome h2{

    font-size:22px;

}


.task-item{

    padding:14px;

}


}
