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

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');


/* ===========================
   CSS RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


/* ===========================
   ROOT VARIABLES
=========================== */

:root{

    --primary:#4F46E5;
    --secondary:#6366F1;

    --success:#16A34A;
    --danger:#DC2626;
    --warning:#F59E0B;

    --white:#FFFFFF;

    --bg:#F5F7FB;

    --card:#FFFFFF;

    --text:#1F2937;

    --border:#E5E7EB;

    --radius:12px;

    --shadow:0 5px 15px rgba(0,0,0,.08);

}


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

body{

    font-family:'Poppins',sans-serif;

    background:var(--bg);

    color:var(--text);

    min-height:100vh;

}


/* ===========================
   CONTAINER
=========================== */

.container{

    width:min(1200px,90%);

    margin:auto;

}

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

#header{

    margin:30px 0;

    background:var(--card);

    border-radius:var(--radius);

    padding:25px;

    box-shadow:var(--shadow);

}

.header-content{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.header-content h1{

    color:var(--primary);

}

.header-info{

    display:flex;

    flex-direction:column;

    gap:5px;

    color:#6B7280;

}

/* ===========================
   DASHBOARD
=========================== */

#dashboard{

    margin-bottom:30px;

}

#dashboard h2{

    margin-bottom:20px;

    color:var(--text);

}

.dashboard-container{

    display:grid;

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

    gap:20px;

}

.summary-card{

    background:var(--card);

    border-radius:var(--radius);

    padding:20px;

    box-shadow:var(--shadow);

    transition:.3s;

    cursor:default;

}

.summary-card:hover{

    transform:translateY(-5px);

}

.summary-title{

    color:#6B7280;

    margin-bottom:10px;

    font-size:.95rem;

}

.summary-value{

    font-size:2rem;

    color:var(--primary);

}

/* ===========================
   QUICK ACTIONS
=========================== */

#quick-actions{

    background:var(--card);

    padding:25px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    margin-bottom:30px;

}

.quick-actions-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}

.quick-actions-header h2{

    color:var(--text);

}

.quick-actions-header button{

    background:var(--primary);

    color:white;

    border:none;

    padding:12px 18px;

    border-radius:8px;

    cursor:pointer;

    font-weight:600;

}

.quick-actions-header button:hover{

    background:var(--secondary);

}

fieldset{

    border:1px solid var(--border);

    padding:20px;

    border-radius:10px;

    margin-bottom:20px;

}

legend{

    padding:0 10px;

    font-weight:600;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-bottom:15px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

input{

    padding:12px;

    border:1px solid var(--border);

    border-radius:8px;

    outline:none;

}

input:focus{

    border-color:var(--primary);

}

.task-form{

    display:flex;

    gap:15px;

    margin-bottom:20px;

    flex-wrap:wrap;

}

.task-form input{

    flex:1;

}

.task-form button{

    background:var(--success);

    color:white;

    border:none;

    padding:12px 20px;

    border-radius:8px;

    cursor:pointer;

}

#save-mission-btn{

    width:100%;

    padding:15px;

    border:none;

    background:var(--primary);

    color:white;

    border-radius:10px;

    cursor:pointer;

    font-size:1rem;

    font-weight:600;

}

#save-mission-btn:hover{

    background:var(--secondary);

}

/* ===========================
   MISSION LIST
=========================== */

#missions{

    margin:30px 0;

}

#missions h2{

    margin-bottom:20px;

}

#missions-container{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/* ===========================
   MISSION CARD
=========================== */

.mission-card{

    background:var(--card);

    border-radius:var(--radius);

    padding:20px;

    box-shadow:var(--shadow);

}

.mission-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:20px;

}

.mission-info h3{

    margin-bottom:10px;

    color:var(--primary);

}

.mission-info p{

    margin-bottom:8px;

    color:#666;

}

/* ===========================
   STATUS
=========================== */

.status{

    font-weight:600;

    padding:4px 10px;

    border-radius:20px;

    font-size:.85rem;

}

.pending{

    background:#FEF3C7;

    color:#92400E;

}

.in-progress{

    background:#DBEAFE;

    color:#1E40AF;

}

.completed{

    background:#DCFCE7;

    color:#166534;

}

/* ===========================
   BUTTONS
=========================== */

.mission-actions{

    display:flex;

    gap:10px;

}

.mission-actions button,
.additional-task-form button,
.task-actions button{

    border:none;

    padding:10px 14px;

    border-radius:8px;

    cursor:pointer;

    font-weight:500;

}

.details-btn{

    background:var(--primary);

    color:white;

}

.delete-mission-btn{

    background:var(--danger);

    color:white;

}

.show-task-form-btn{

    background:var(--success);

    color:white;

    border:none;

    padding:10px 15px;

    border-radius:8px;

    cursor:pointer;

    margin:15px 0;

}

/* ===========================
   MISSION DETAILS
=========================== */

.mission-details{

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid var(--border);

}

.mission-progress{

    margin-bottom:20px;

    font-weight:600;

}

/* ===========================
   ADD TASK FORM
=========================== */

.additional-task-form{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:20px;

}

.additional-task-form input{

    flex:1;

}

.additional-task-form button{

    background:var(--success);

    color:white;

}

/* ===========================
   TASK CARD
=========================== */

.tasks-container{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.task-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px;

    border:1px solid var(--border);

    border-radius:10px;

    background:#FAFAFA;

}

.task-info p{

    font-weight:500;

    margin-bottom:5px;

}

.task-info small{

    color:#666;

}

.task-actions{

    display:flex;

    gap:10px;

}

.complete-task-btn{

    background:var(--success);

    color:white;

}

.delete-task-btn{

    background:var(--danger);

    color:white;

}

/* ===========================
   TEMP TASK LIST
=========================== */

#temp-task-list{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-top:15px;

}

.task-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:10px 15px;

    background:#EEF2FF;

    border-radius:8px;

}

.task-item button{

    background:transparent;

    border:none;

    cursor:pointer;

    font-size:18px;

}

/* ===========================
   FOOTER
=========================== */

footer{

    margin:40px 0;

    text-align:center;

    color:#777;

}

/* ===========================
   UTILITIES
=========================== */

.hidden{

    display:none;

}

button{

    transition:.3s;

}

button:hover{

    opacity:.9;

}

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

@media(max-width:768px){

    .form-row{

        grid-template-columns:1fr;

    }

    .mission-header{

        flex-direction:column;

    }

    .mission-actions{

        width:100%;

        justify-content:flex-start;

        flex-wrap:wrap;

    }

    .task-form,
    .additional-task-form{

        flex-direction:column;

    }

    .dashboard-container{

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

    }

}

@media(max-width:480px){

    .dashboard-container{

        grid-template-columns:1fr;

    }

    .quick-actions-header{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

}

/* ===========================
   TO HIDE FORMS
=========================== */
.hidden{

    display:none !important;

}
/* ===========================
   Daily Notes
=========================== */

#daily-notes{

    background:var(--card);

    padding:25px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    margin-bottom:30px;

}

textarea{

    width:100%;

    padding:12px;

    border:1px solid var(--border);

    border-radius:8px;

    resize:vertical;

    font-family:inherit;

    outline:none;

}

textarea:focus{

    border-color:var(--primary);

}

#empty-state{

    text-align:center;

    padding:40px;

    color:#6B7280;

    background:white;

    border-radius:12px;

    box-shadow:var(--shadow);

}