* {
    box-sizing: border-box;
}

body,
html {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: ivory;
    text-align: center;
    margin: 0;
    font-family: 'Handlee', monospace;

    background-color: rgb(16, 16, 16);
}

#filters {
    font-size: 20px;
}

.dashboardlogo {
    margin-left: auto;
    margin-right: auto;
    background-image: url("https://i.ibb.co/qgPg7Wm/26199927.png");
    background-attachment: scroll;
    background-position: top center;
    background-repeat: no-repeat;
    width: 250px;
    height: 140px;
    /* margin-bottom: 8%;*/
    margin-top: 2%;
}

.aboutlogo {
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
    background-image: url("https://i.imgflip.com/4/1itoun.jpg");
    background-attachment: scroll;
    background-position: top center;
    background-repeat: no-repeat;
    width: 250px;
    height: 250px;
}

.birthdaylogo {
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
    background-image: url("https://i.pinimg.com/736x/5c/65/44/5c6544821102721b6ce34aa0cff18c7a.jpg");
    background-attachment: scroll;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 250px;
    height: 250px;
}

.taskslogo {
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
    background-image: url("https://media.makeameme.org/created/tasks-more-tasks.jpg");
    background-attachment: scroll;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 250px;
    height: 250px;
}

.welcomepageslogo {
    margin-top: 12%;
    margin-left: auto;
    margin-right: auto;
    background-image: url("https://i.ibb.co/qgPg7Wm/26199927.png");
    background-attachment: scroll;
    background-position: top center;
    background-repeat: no-repeat;
    width: 250px;
    height: 150px;
}

.bottom {
    margin-top: auto;
    text-align: center;
    width: 100%;
    font-family: 'Cutive Mono', monospace;
    padding: 1em 0;
}

.content {
    flex: 1 0 auto;
    margin: 0 auto;
    width: 50%;
}

.deadline {
    margin: 0 auto;
    width: 100%;
}


table,
th,
td {
    border-bottom: 1px solid ivory;
}

.todo-table {
    width: 95%;
    table-layout: auto;
    border-collapse: collapse;
    margin-left: auto;
    margin-right: auto;
    word-wrap: break-word;
    margin-bottom: 2em;

}

.todo-table th,
.todo-table td {
    padding: 0.5em;
    vertical-align: middle;
    min-width: 32px;
    /* optional, for better alignment */
}


.done-table {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}

.done-table th,
.done-table td {
    padding: 8px;
    vertical-align: middle;
    min-width: 32px;
    /* optional, for better alignment */
}


th.entryDateOfBirth,
th.entryAge,
th.entryDaysLeft,
th.entryActions {
    text-align: left;

}

.birthday-table {
    width: 95%;
    table-layout: auto;
    border-collapse: collapse;
    word-wrap: break-word;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
}

.birthday-table th,
.birthday-table td {
    padding: 8px;
    vertical-align: left;

}




.filter-section {
    flex-direction: column;
    gap: 1em;
    background: #222;
    border: 2px solid #444;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3);
    width: 95%;
    font-family: 'Cutive Mono', monospace;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
}

.filter-flexgrid {
    display: flex;
    flex-wrap: wrap;
    border: none;
    gap: 8px;
    justify-content: center;
    margin: 1em 0;
    font-family: 'Cutive Mono', monospace;
}

a:link,
a:visited,
a:hover {
    text-decoration: none;
}


.filter-link {
    padding: 0.5em 1em;
    border: none;
    background-color: #363636ff;
    /* Light gray background */
    padding: 5px 10px;
    border-radius: 20px;
    /* Makes it pill-shaped */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    /* Optional: subtle shadow */
    border-radius: 6px;
    font-weight: bold;
    transition: background 0.2s;
}

.filter-link:hover {
    background: #7a7a7aff;
}

.filter-link.active {
    background: #7a7a7aff;
    /* Example: red background for active */
    color: #fff;
    /* Example: white text for active */
}



/* th {
    height: 30px;
    color:ivory
} */

.icon-red {
    color: rgb(204, 46, 113);
    /* color:rgb(204, 113, 46); */
    /* color:rgb(177, 29, 29); */
    /* color: #cc2e2e */
}

.taskContentCategory {
    margin: 50% auto;
    padding: 1%;
    text-align: center;
    overflow: hidden;
    border-width: 0;
    border-radius: 2px;
    border-bottom: 1px solid ivory;
}

.category {
    border-radius: 2px;
    padding: 4px 4px;
    font-weight: 600;
    text-transform: lowercase;
    text-shadow: -1px -1px 0 rgba(24, 24, 24, .3), 1px -1px 0 rgba(24, 24, 24, .3), -1px 1px 0 rgba(24, 24, 24, .3), 1px 1px 0 rgba(24, 24, 24, .3);
    color: ivory;
}

.category.activity {
    background-color: rgb(204, 113, 204)
}

.category.coding {
    background-color: rgb(204, 113, 113)
}

.category.general {
    background-color: rgb(204, 204, 113);

}

.category.other {
    background-color: rgb(113, 204, 113);
}

.category.work {
    background-color: rgb(113, 204, 204);
}

.category.health {
    background-color: rgb(204, 157, 113);
}



.icon-green {
    color: rgb(46, 204, 113);
    /* color:rgb(29, 177, 29); */
    /* color: #2ecc71 */
}

.icon-orange {
    color: rgb(204, 113, 46);
    /* color:rgb(29, 177, 29); */
    /* color: #2ecc71 */
}

th.taskHeader {
    padding: 4px;
    width: 85%;
    text-align: left;
    font-weight: bolder;
    font-family: 'Cutive Mono', monospace;
    font-size: 24px;
}

th.taskDeadline,
th.taskCategory,
th.taskCompletedDate {
    padding: 4px;
    font-weight: bolder;
    font-size: 24px;
    font-family: 'Cutive Mono', monospace;

}

th.entryName {
    padding: 4px;
    width: 25%;
    text-align: center;
    font-weight: bolder;
    font-family: 'Cutive Mono', monospace;
    font-size: 24px;
}

th.entryDateOfBirth,
th.entryAge,
th.entryDaysLeft,
th.entryActions {
    padding: 4px;
    font-weight: bolder;
    font-size: 24px;
    font-family: 'Cutive Mono', monospace;
    text-align: center;

}

td.entryName,
td.entryDateOfBirth,
td.entryAge,
td.entryDaysLeft,
td.entryActions {
    padding: 4px;
    text-align: center;
    font-family: 'Handlee', monospace;
    font-size: 20px;
}

/* th.taskDeadlineDateComp {
    padding: 4px;
    width: 200px;
    text-align:left;
} */

th.taskCreatedDate {
    padding: 4px;
    width: 170px;
    text-align: center;
    font-size: 24px;
    font-family: 'Cutive Mono', monospace;
}



th.taskActions {
    padding: 8px;
    text-align: right;

}

th.pastDeadline {
    padding: 4px;
    width: 40px;
    text-align: right;
}

h1,
h2,
h3,
h4 {
    text-align: center;
    color: ivory;
}

a {
    padding: 0.5em 0;
    color: ivory;
}

td {
    text-align: left;
    padding: 4px;
    color: ivory
}

.taskContent {
    text-align: left;
    padding: 8px;
    color: ivory;
    font-size: 20px;
    font-weight: 800;
}

.Actions {
    text-align: center;
    padding: 4px;
    width: 16px;

}

form {
    width: 95%;
    margin-top: 1px;
    margin-left: auto;
    margin-right: auto;
}


/* Tablet and up */
@media screen and (max-width: 1000px) {
    .entryForm {
        flex-direction: row;
    }

    .hidden-desktop {
        display: none;

    }

    .content {
        margin: 0 auto;
        width: 80%;
    }
}

/* Mobile */
@media screen and (max-width: 600px) {

    #deadline {
        width: 100%;
    }

    .content {
        margin: 0 auto;
        width: 100%;

    }

    .material-icons {
        font-family: 'Material Icons';
        /* padding: 0px !important; */
        vertical-align: bottom;
    }

    .entryForm {
        width: 95vw;
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .hidden-desktop {
        display: none;
    }

    .category-grid {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        align-items: stretch;
    }

}


.taskContentDeadline {
    font-weight: 600;
    text-align: center;

}

#content,
#deadline {
    resize: none;
    background-color: #363636;
    ;
    font-weight: bold;
    padding: 8px 16px;
}

li {
    list-style-type: none;
}

input[type=text] {
    /* margin-top: 10px; */
    color: ivory;
    padding: 8px 16px;
    border: 1px solid ivory;
    border-radius: 4px;
    background-color: #363636;
    /* width: 90% !important; */
}

input[name=content] {
    /* margin-top: 10px; */
    color: ivory;
    padding: 8px 16px;
    border: 1px solid ivory;
    border-radius: 4px;
    font-size: 16px;
    font-family: 'Handlee', monospace;
    width: 100%
}

textarea {
    /* margin-top: 10px; */
    color: ivory;
    padding: 24px 16px;
    /* border: 2px solid ivory; */
    border: none;
    border-radius: 4px;
    outline: none;
    width: 100%
}

input[type=datetime-local] {
    /* margin-top: 10px; */
    color: ivory;
    background-color: #363636;
    padding: 6px 16px;
    border: 1px solid ivory;
    border-radius: 4px;
    width: 100%;
    font-size: 16px;
}

input[type=password] {
    margin-top: 10px;
    color: ivory;
    border: 1px solid ivory;
    padding: 8px 16px;
    border-radius: 4px;
    background-color: #363636;

}


.alert.error,
.invalid-feedback,
.alert.message {
    color: #ae2727
}

.alert.success {
    color: #27ae60
}


.material-icons {
    font-family: 'Material Icons';
    padding: 2px;
}


/* 
::-webkit-calendar-picker-indicator{
    margin-left: 0px;
    font-size: large;
} */



/* Add to main.css */
.entryForm-container {
    display: block;
    margin-bottom: 1em;
    align-items: center;
    justify-content: center;
}

.entryForm {
    display: none;
    flex-direction: column;
    gap: 1em;
    background: #222;
    border: 2px solid #444;
    border-radius: 12px;
    padding: 1em;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3);
    width: 100%;
    margin-top: 1em;
    /* space below the button */
}

.entryFormUpdate {
    display: flex;
    flex-direction: column;
    gap: 1em;
    background: #222;
    border: 2px solid #444;
    border-radius: 12px;
    padding: 1em;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3);
    width: 100%;
    margin-top: 1em;
    /* space below the button */
}

.entryForm.expanded {
    display: flex;
}

::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgb(128, 128, 120);
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: ivory;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: ivory;
}

.toggle-link {
    cursor: pointer;
    text-decoration: underline;
    display: inline-block;
    font-family: 'Cutive Mono', monospace;
}


/* Container */
.ts-wrapper {
    width: 100% !important;
}

/* Shared option and selected item base */
.ts-wrapper.single.input-active .ts-control,
.ts-wrapper.single .ts-control {
    background-color: #363636 !important;
    border: 1px solid ivory !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    font-size: 16px !important;
    color: ivory !important;
    font-weight: bold !important;
    box-shadow: none !important;
}

.ts-control input {
    font-size: 16px !important;
    font-weight: bold !important;
}

.ts-dropdown .ts-option,
.ts-control .item {
    display: inline-block !important;
    /* make background wrap text */
    background-color: #363636 !important;
    color: ivory !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    margin: 2px 6px !important;
    font-weight: 600 !important;
    text-transform: lowercase;
    text-shadow: -1px -1px 0 rgba(24, 24, 24, .3),
        1px -1px 0 rgba(24, 24, 24, .3),
        -1px 1px 0 rgba(24, 24, 24, .3),
        1px 1px 0 rgba(24, 24, 24, .3);
}

/* Individual category colors (dropdown + selected) */
.ts-dropdown .ts-option[data-value="coding"],
.ts-control .item[data-value="coding"] {
    background-color: rgb(204, 113, 113) !important;
    color: ivory !important;
}

.ts-dropdown .ts-option[data-value="activity"],
.ts-control .item[data-value="activity"] {
    background-color: rgb(204, 113, 204) !important;
    color: ivory !important;
}

.ts-dropdown .ts-option[data-value="general"],
.ts-control .item[data-value="general"] {
    background-color: rgb(204, 204, 113) !important;
    color: ivory !important;
}

.ts-dropdown .ts-option[data-value="other"],
.ts-control .item[data-value="other"] {
    background-color: rgb(113, 204, 113) !important;
    color: ivory !important;
}

.ts-dropdown .ts-option[data-value="work"],
.ts-control .item[data-value="work"] {
    background-color: rgb(113, 204, 204) !important;
    color: ivory !important;
}

/* Remove white highlight on hover/selected */
.ts-dropdown .ts-option:hover,
.ts-dropdown .ts-option.active,
.ts-dropdown .ts-option.selected {
    filter: brightness(0.9) !important;
    box-shadow: none !important;
    color: ivory !important;
}

.ts-dropdown {
    background-color: #363636 !important;
    color: ivory !important;
    font-size: 16px !important;
}


.calendar-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 1em;
}

.category-grid {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.category-grid .category {
    border: 2px solid transparent;
    cursor: pointer;
    border: none;
    outline: none;
    font-family: 'Handlee', monospace;
    border-radius: 4px;
    font-weight: 600;
    padding: 4px;
    text-transform: lowercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: filter 0.2s;
    font-size: 16px;
}


.category-grid .category.selected {
    filter: brightness(0.8);
    border: 2px solid ivory;
}


.deadline-grid {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.deadline-filter {
    border: 2px solid transparent;
    cursor: pointer;
    font-size: 16px;
    font-family: 'Handlee', monospace;
    border-radius: 4px;
    font-weight: 600;
    padding: 4px 12px;
    background: #363636;
    color: ivory;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: filter 0.2s;
}

.deadline-filter.selected {
    border: 2px solid ivory;
    filter: brightness(0.8);
}

.deadline-input {
    color: ivory;
    background-color: #363636;
    padding: 6px 16px;
    border: 1px solid ivory;
    border-radius: 4px;
    width: 100%;
    font-size: 16px;
    box-sizing: border-box;
    appearance: none;
}

.about-section {
    flex-direction: column;
    gap: 1em;
    background: #222;
    border: 2px solid #444;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3);
    width: 95%;
    font-family: 'Cutive Mono', monospace;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    padding: 1em;
}

.filter-link.highlight-red {
    color: #ae2727;
    font-weight: bold;
}

.filter-link.highlight-green {
    color: #27ae60;
    font-weight: bold;
}

.label {
    font-size: 18px;
    font-weight: bold;
    margin-top: 8px;
    font-family: 'Cutive Mono', monospace;
}