 
 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;600&family=Poppins:wght@400;500;600&family=Source+Sans+Pro:wght@400;600&display=swap');





 /* ---------------- ELEMENTS ---------------- */

        *{
            box-sizing: border-box;
            /* border: rgba(255, 0, 0, 0.139) 1px solid; */

        }

        body{
            margin: 0;
            padding: 0;
            /* font-family: Arial, sans-serif; */

            font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            font-weight: 500;
            color: #e6e6e6; /* for dark mode; change to #222 for light theme */
            letter-spacing: 0.2px;
            line-height: 1.4;

            height: 100vh;
            width: 100vw;
            display: flex;
            flex-direction: column;
            align-items: center;
            /* background: linear-gradient(to bottom, #e2e2e2, #eed1ff); */
            /* background: radial-gradient(circle at top left, #4700ab, #5d0155 70%); */
            background: radial-gradient(circle at top left, #3f3f3f, #767294 70%);
            

            background-attachment: fixed;
            background-repeat: no-repeat;
            background-size: cover;

        }

        h1{

            font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            letter-spacing: 0.2px;
            line-height: 1.4;

            font-size: 1.8rem;
            font-weight: 600;
            color: #f5f5f5;
            margin-bottom: 0.8rem;
        }

        button{
            font-size: 1em;
            padding: 10px;
            border-radius: 10px;
            border: none;
            background: rgb(80, 100, 120);
            color: white;
            cursor: pointer;

            box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;

            transition: transform 0.3s;

            
        }

        button:hover{
            /* background-color: rgb(30, 100, 200); */
            background: linear-gradient(to bottom, #307fff, #1e64c8);
            transform: scale(1.05);

            color: white;

            box-shadow: rgba(255, 255, 255, 0.538) 0px 0px 25px;

            transition: transform 0s;
        }

        textArea{
            border: rgba(0, 0, 0, 0.027) 1px solid;

            padding: 10px 5px 5px 5px;
        }

        

        /* ---------------- CLASSES ---------------- */



        .c-taskTitle{

            margin-left: 20px;
            background: transparent;

            min-height: 40px;
            max-height: 150px;

            overflow-y: auto;
            resize: none;

            flex-grow: 1;


            font-family: 'Poppins', 'Inter', sans-serif;
            font-size: 1.1rem;
            font-weight: 500;
            color: #f1f1f1;
            background: transparent;
            border: none;
            resize: none;
            outline: none;
            /* width: 100%; */
            padding: 4px 6px;
            line-height: 1.3;

        }

        .c-taskTitle::placeholder {
            color: #9b9b9b;
            font-weight: 400;
            }



        .c-tasksPanel{
            display: flex;
            flex-direction: column;
            align-items: center;

            width: 40vw;
            min-width: 700px;
            max-width: 900px;

            height: 70vh;
            min-height: 600px;
            max-height: 1200px;

            
            /* background: #4a0051; */
            box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;

            /* backdrop-filter: blur(3px); */
        }


        .c-panelTitle{
            padding: 10px 0;

            display: flex;
            
            /* justify-content: center; */
            justify-content: space-between;

            width: 100%;
            height: 50px;

            background: rgb(41, 53, 45);

            /* border-radius: 20px; */
        }
        

        .c-taskBoard{
            margin: 10px 0;

            width: 95%;
            
            display: flex;
            flex-direction: column;
            flex-grow: 1;

            background: transparent;

            overflow-y:auto;
            overflow-x: hidden;
            
            /* border-radius: 12px;     */
            /* box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.4); */

            /* border-radius: 20px; */
            /* border: black 3px solid; */

            
            /* box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px; */
            /* box-shadow: rgba(0, 0, 0, 0.56) 0px 22px 70px 4px; */
        }
        

        .c-taskItem{

            margin: 10px 15px;
            padding: 5px;

            display: flex;
            flex-direction: column;
            align-items: center;

            /* background: #323537; */
            background: linear-gradient(150deg,#323537,#17191a);
            border-radius: 12px;


            box-shadow: rgba(0, 0, 0, 0.25) 0px 10px 10px;

            
        }

        /* this will be used later. We will create a nice green taskItem that says DONE and creates confetti, as it animates out. Then we transfar it to the completed Tasks list */
        .c-taskItem .completedView{
            background: linear-gradient(150deg,#0baa23,#08921a);
        }

        .c-taskItem:hover {
            /* margin: 15px 5px; */
            background: #3e4245;
            transform: translateX(-5px);
            /* transform: scale(1.05); */
            }

            .c-taskItem-topRow{
                background: #4d4d4d;
                display: flex;
                align-items: center;
                justify-content: space-between;

                width: 100%;
                
            }

            .c-taskItem-titleRow{
                background: transparent;

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

                width: 100%;
            }

            .c-taskItem-buttonBar{

                width: 70px;
                height: auto;

                width: 150px;

                display: flex;
                flex-wrap: wrap;

                background: transparent;
            }


            /* .c-titleRow-buttonsContainer{

                width: 70px;
                height: 30px;

                width: auto;

                display: flex;

                background: rgb(227, 227, 227);
            } */


            .c-taskItem-bottomRow{
                background: transparent;

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

                width: 100%;
            }

            .hidden{
                display: none;
            }

            .c-taskActionBtn{

                margin: 0;

                width: 35px;
                height: 35px;
                padding: 0; /* Add this - remove default padding */
                display: flex; /* Add this */

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

                background: transparent;
                color: rgb(123, 123, 123);
                /* transition: transform 0.3s; */

                border-radius: 4px;

                box-shadow: none;
            }
            

            .c-taskActionBtn-notes:hover{
    
                /* background: linear-gradient(to bottom, #ff0000, #b80000); */
                background: rgba(0, 47, 255, 0.1);
                color: rgb(1, 35, 226);

                transition: transform 0.2s;
            
                

                /* border: red 1px solid; */
            }

            .c-taskActionBtn-group:hover{
    
                /* background: linear-gradient(to bottom, #ff0000, #b80000); */
                background: rgba(166, 0, 255, 0.15);
                color: rgb(118, 0, 187);

                transition: transform 0.2s;
            
                

                /* border: red 1px solid; */
            }

            .c-taskActionBtn-settings:hover{
    
                /* background: linear-gradient(to bottom, #ff0000, #b80000); */
                background: rgba(21, 0, 255, 0.1);
                color: rgb(0, 155, 183);

                transition: transform 0.2s;
            
                

                /* border: red 1px solid; */
            }

            .c-taskActionBtn-delete:hover{
    
                /* background: linear-gradient(to bottom, #ff0000, #b80000); */
                background: rgba(255, 0, 0, 0.1);
                color: rgb(226, 1, 1);

                transition: transform 0.2s;
            
                

                /* border: red 1px solid; */
            }

            /* .c-taskActionBtn-postpone{} */

            .c-taskActionBtn-postpone:hover{
    
                background: rgba(242, 255, 0, 0.279);
                color: rgb(221, 151, 0);

                transition: transform 0.2s;

            }

            .c-taskActionBtn-doNow:hover {

                background: rgba(0, 255, 238, 0.279);
                color: rgb(255, 251, 0);

                transition: transform 0.2s;

            }

            /* .c-taskActionBtn-complete{} */

            .c-taskActionBtn-complete:hover{
                background: rgba(38, 255, 0, 0.245);
                color: rgb(11, 146, 2);

                transition: transform 0.2s;
            }

            /* .c-taskFoldToggleBtn{} */

            /* .c-taskActionBtn-do{} */
            
            .c-taskActionBtn-do:hover{
                background: rgba(47, 255, 0, 0.1);
                color: rgb(1, 226, 76);

                transition: transform 0.2s;
            }

            .c-taskTextArea{
    
                margin-left: 20px;
                margin-top:10px;
                background: transparent;

                min-height: 60px;

                
                overflow-y: auto;
                resize: vertical;

                flex-grow: 1;

                font-family: 'Source Sans Pro', 'Inter', sans-serif;
                font-size: 1.1rem;
                font-weight: 400;
                color: #b5b5b5;
                /* background-color: rgba(255, 255, 255, 0.05); */
                border: none;
                border-radius: 3px;

                padding: 6px 8px;
                line-height: 1.5;
                transition: background-color 0.2s ease, color 0.2s ease;

                border-top: rgb(107, 107, 107) 1px solid;

                }

            .c-taskTextArea:focus {
                background:#2c2c2c;
                color: #ffffff;
                }

        /* .c-completedTaskItem{} */

            .c-completedTaskTextArea{
                background: #d8ffe9;
            }

        /* .c-postponedTaskItem{} */

            .c-postponedTaskTextArea{
                background:#ffea7e6b
            }
            



        .c-timeInput{
            margin: 0;
            padding: 10px;

            width: 80px;
            height: 40px;

            background: rgba(255, 255, 255, 0.528);
            color: rgb(0, 0, 0);

            border-radius: 10px;
            border: black 1px solid;
            
            font-size: 1em;
            text-align: center;
        }



        /* ---------------- STRUCTURE ---------------- */

        #i-dateText {
            /* text-align: center; */
            margin: 30px;
            padding: 0;

            font-family: 'Courier New', Courier, monospace;
            font-size: 1.5em;
            font-weight: bold;

            color: rgb(48, 131, 255);
        }

        #i-timeText {
            /* text-align: center; */
            margin: 30px;
            padding: 0;

            font-family: 'JetBrains Mono', 'Roboto Mono', monospace;
            font-size: 2.4rem;
            font-weight: 600;
            color: #ffca28; /* warm yellow accent */
            letter-spacing: 1px;
            transition: transform 0.2s ease, opacity 0.2s ease;

        }


        #i-buttonBar{

            display: none;

            margin-top: 30px;
            margin-bottom: 25px;
            padding: 5px 100px;

            /* display: flex; */
            align-items: center;
            /* justify-content: space-between; */
            gap: 20px;

            min-width: 600px;

            background: rgb(251, 255, 1);

            border-radius: 40px;

            /* border :black 3px solid; */
            /* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */

            
            
            

            }

            #i-startFocusTimerBtn{
                margin: 0;
            }

            /* A container lets us group the input and the text next to the input together */
            #i-focusTimerInputContainer{
                margin: 0;
            }

            #i-focusTimerInput{
                margin: 0;
            }

            #i-postponedTasksBtn{
                margin: 0;
                justify-self: flex-end;
            }

    
        #i-mainSection{
            
            display: flex;
            justify-content: center;
            gap: 30px;

            flex-wrap: wrap;

            min-height: 50vh;
            width: 100vw;
    
        }
            
            #i-tasksPanel{
                /* background: rgba(0, 0, 0, 0.657); */
                /* background: rgba(0, 0, 0, 0.355); */
                background: rgb(0, 0, 0);

            }

                #i-tasksPanel-title{
                    position: relative;

                    background: #ffffff;
                }

                #i-addTaskBtn{
                    margin-right: 20px;

                    height: 30px;

                    background:rgb(115, 232, 172);
                    color: black;

                }   

                /* #i-tasksPanel-taskBoard{} */


            #i-completedTasksPanel{
                background: rgba(0, 61, 32, 0.48);
            }

            #i-completedTasksPanel-titleContainer{
                
                position: relative;
                display: flex;
                align-items: center;

                padding: 0;

                display: flex;
                justify-content: center;

                width: 100%;

                background-color: rgb(255, 255, 255);

            }

                #i-completedTasksPanel-title{
                    box-shadow: none;
                    background: none;
                }

                #i-completedTasksPanel-percentInput{
                    position: absolute;
                    right: 20px;

                    margin: 0;
                    padding: 10px;

                    color: rgb(189, 30, 241);

                    border-radius: 10px;
                }

                /* #i-completedTasksPanel-taskBoard{} */



        /* --------- Focus Timer Page --------------- */
        #i-focusTimerPage{
            position: absolute;
            top: 0;
            left: 0;

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

            height: 100vh;
            width: 100vw;

            /* display: none; */

            background: rgba(0, 195, 255, 0.9);

            z-index: 1000;
        }

            /* #i-focusTimerLeftSpace{} */

            /* #i-focusTimerRightSpace{} */

            #i-timerPanel{
                display: flex;
                flex-direction: column;
                justify-content: space-between;

                height: 80vh;
                width: 50vw;
                
                background:#58ffa0
            }

                #i-timerTaskTextarea{
                    margin: 0;
                }

                #i-timerDisplay{
                    display: flex;

                    position: relative;

                    height: 70vh;

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

                    background:#9100cb5a


                }

                    #i-timerCircle{
                        
                        background:#ff0000

                    }

                    #i-timerDisplay-text{
                        margin: 0;
                    }

                    #i-timerDisplay-secondaryText{
                        margin: 0;
                    }

                #i-timerButtonBar{
                    display: flex;
                }
                
                    #i-timerRestartBtn{
                        margin: 0;
                    }

                    #i-timerRestartInput{
                        margin: 0;
                    }

                    #i-timerPlayBtn{
                        margin: 0;
                    }

                    #i-timerCancelBtn{
                        margin: 0;
                    }




        /* --------- Postponed Tasks Page --------------- */
        #i-postponedTasksPanel{
            /* display: flex;
            flex-direction: column; */
            display: none;
        }

            /* #i-postponedTasksPanel-title{} */

            /* #i-postponedTasksPanel-taskBoard{} */

            #i-postponedTasksPanel-doneBtn{
                margin: 0;
            }






/* ANIMATIONS */
@keyframes popIn {
  0%   { transform: scale(0.2); opacity: 0; }
  60%  { transform: scale(1.1); opacity: 1; }
  80%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}

@keyframes popOut {
  0%   { transform: scale(1); opacity: 1; }
  20%  { transform: scale(1.05); } /* tiny bump before vanishing */
  100% { transform: scale(0.5); opacity: 0; }
}

@keyframes completeTask {
  0% {transform: scale(1);box-shadow: 0 0 0 rgba(0, 255, 100, 0);opacity: 1;
  }
  25% {transform: scale(1.15);box-shadow: 0 0 20px rgba(0, 255, 100, 0.8);
  }
  50% {transform: scale(0.9);box-shadow: 0 0 10px rgba(0, 255, 100, 0.5);
  }
  75% {transform: scale(1.05);box-shadow: 0 0 15px rgba(0, 255, 100, 0.3);
  }
  100% {transform: scale(1);box-shadow: 0 0 0 rgba(0, 255, 100, 0);opacity: 0.9;
  }
}



/* =========================
   MOBILE OPTIMIZATION
   ========================= */

@media (max-width: 768px) {

    /* Prevent sideways scroll */
    body {
        overflow-x: hidden;
    }

    /* Main layout: stack vertically */
    #i-mainSection {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100vw;
    }

    /* Task panels: full-width cards */
    .c-tasksPanel {
        width: 95vw;
        min-width: unset;
        max-width: unset;

        height: auto;
        min-height: unset;
        max-height: unset;
    }

    /* Reduce header spacing */
    h1 {
        font-size: 1.4rem;
        margin-bottom: 0.5rem;
    }

    #i-dateText {
        margin: 16px 0 6px 0;
        font-size: 1.2rem;
    }

    #i-timeText {
        margin: 6px 0 16px 0;
        font-size: 2rem;
    }

    /* Task item spacing */
    .c-taskItem {
        margin: 8px 8px;
        padding: 6px;
    }

    /* Title + notes text size */
    .c-taskTitle,
    .c-taskTextArea {
        font-size: 1rem;
    }

    /* Button bar: allow wrap and spacing */
    .c-taskItem-buttonBar {
        width: auto;
        gap: 6px;
    }

    /* Touch-friendly buttons */
    .c-taskActionBtn {
        width: 40px;
        height: 40px;
    }

    /* Panels padding */
    .c-panelTitle {
        padding: 10px 12px;
        font-size: 1rem;
    }

    /* Completed tasks percent input */
    #i-completedTasksPanel-percentInput {
        right: 10px;
        padding: 6px;
        font-size: 0.9rem;
    }

    /* Task boards */
    .c-taskBoard {
        width: 100%;
        margin: 8px 0;
    }

    /* Focus timer page */
    #i-timerPanel {
        width: 95vw;
        height: 90vh;
    }

    #i-timerDisplay {
        height: auto;
        flex-grow: 1;
    }

    /* Button bar on timer */
    #i-timerButtonBar {
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
    }
}
















/* TOP NAV BAR */
.app-toolbar {
    position: relative;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    z-index: 100;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.toolbar-left {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.app-name {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 700;
    color: #111;
}

.toolbar-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.toolbar-btn {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: white;
    font-weight: 500;
    cursor: pointer;
    transition: all 150ms;
    white-space: nowrap;
}

.toolbar-btn:hover {
    border-color: #999;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.login-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-color: transparent;
}

.login-btn:hover {
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.logout-btn,
.settings-btn {
    background: #f8f9fa;
    color: #555;
    font-size: 0.9rem;
}

.user-profile {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 20px;
    background: #f8f9fa;
    cursor: pointer;
    transition: background 150ms;
}

.user-profile:hover {
    background: #e9ecef;
}

.profile-pic {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea, #764ba2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 0.85rem;
}

.display-name {
    font-weight: 500;
    color: #333;
    font-size: 0.95rem;
}