* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
  }
  
  :root {
    --slate-gray: #dadde6;
    --yellow: #eab308;
    --sky: #0ea5e9;
    --indigo: #8b5cf6;
    --lime: #84cc16;
    --dark-grey: darkgrey;
    --blue: #126ffe;
  }
  
  body {
    font-family: "Poppins", sans-serif;
    background-color: rgb(55, 60, 79);
  }
  
  /* Scale down the calendar container and align to the left */
  .calendar-container {
    background-color: rgb(255, 255, 255);
    padding: 0px; /* Reduced padding */
    max-width: 100%; /* Limit the max width of the calendar */
    transform: scale(1); /* Scale down the calendar */
    margin-left: 0; /* Align to left */
    margin-right: 0; /* Ensure no right margin */
  }
  
  
  .toolbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  .toolbar-header div {
    display: flex;
    align-items: center;
  }
  
  .current-date {
    color: rgb(32, 38, 62);
    font-size: 1.5em; /* Slightly smaller font */
    font-weight: 500;
  }
  
  .today-button {
    color: rgb(60, 64, 67);
    background-color: white;
    font-size: 13px; /* Smaller font size */
    margin-left: 10px;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(218, 220, 224);
    border-image: initial;
    padding: 6px 12px; /* Reduced padding */
    border-radius: 5px;
  }
  
  .today-button:hover {
    background-color: rgb(249, 249, 249);
  }
  
  .holidays-button {
    color: #ffffff;
    background-image: linear-gradient(340deg, #045de9 0%, #09c6f9 100%);
    font-size: 13px; /* Smaller font size */
    margin-left: 10px;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(218, 220, 224);
    border-image: initial;
    padding: 6px 12px; /* Reduced padding */
    border-radius: 5px;
  }
  
  .select-country {
    display: flex;
    justify-content: flex-end;
  }
  
  .month-navigation {
    display: flex;
    margin-left: 15px;
  }
  
  .month-navigation button:hover {
    background-color: rgb(208, 225, 251);
  }
  
  .previous-month,
  .next-month {
    background-color: rgb(229, 239, 254);
    color: var(--blue);
    font-size: 13px; /* Smaller font size */
    margin-right: 10px;
    cursor: pointer;
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
  }
  
  .calendar-body {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    background-color: var(--slate-gray);
    margin-top: 15px; /* Reduced margin */
    grid-column-gap: 1px;
    grid-row-gap: 1px;
    border: 1px solid var(--slate-gray);
    border-radius: 8px; /* Slightly reduced radius */
  }
  
  .calendar-body .cell {
    height: 10rem; /* Smaller cells */
    background-color: white;
    cursor: pointer;
    padding: 0.5rem;
    overflow: auto;
  }
  
  .calendar-body .cell:hover {
    background-color: rgb(242, 242, 255);
  }
  
  .calendar-body .day {
    display: flex;
    justify-content: space-between;
    font-size: 14px; /* Smaller text inside cells */
  }
  
  .monthday {
    font-weight: 500;
    pointer-events: none;
  }
  
  .not-current {
    color: rgb(139, 147, 172);
  }
  
  .weekday {
    color: rgb(139, 147, 172);
    font-weight: 500;
    pointer-events: none;
  }
  
  .circle {
    display: flex;
    width: 25px;
    height: 25px;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
  }
  
  .today {
    background-color: var(--blue);
    color: rgb(255, 255, 255);
    animation: pulse 0.4s ease;
  }
  
  .task-list .task {
    font-size: 15px; /* Smaller task text */
    border-radius: 15px;
    margin-top: 5px;
    padding: 4px 4px; /* Reduced padding */
    color: #fff;
  }
  
  .cell .task-list .task:nth-child(n + 3) {
    display: none;
  }
  
  .more-tasks {
    color: #0064fe;
    text-align: center;
  }
  
  .colors .active {
    box-shadow: inset 0 0 0 0.1em #007bff;
  }
  
  .select-color {
    position: relative;
    display: table-cell;
    align-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
  }
  
  .select-color:hover {
    box-shadow: inset 0 0 0 0.1em #007bff;
  }
  
  .select-color .item {
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0.25em;
    cursor: pointer;
    border-radius: 50%;
  }
  
  .modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    z-index: 10;
    background-color: white;
    width: 450px; /* Smaller modal */
    max-width: 80%;
    transition: all 200ms ease-in-out 0s;
    border-radius: 0.5rem;
  }
  
  .modal.active {
    transform: translate(-50%, -50%) scale(1);
  }
  
  .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid rgb(229, 231, 235);
  }
  
  .modal-header .title {
    font-size: 1.1rem; /* Smaller modal title */
  }
  
  .modal-header .close-button svg {
    width: 1.25rem;
    height: 1.25rem;
  }
  
  .modal-header .close-button {
    cursor: pointer;
    color: rgb(156, 163, 175);
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    outline: none;
    background: none;
    padding: 0.375rem;
    border-radius: 0.5rem;
  }
  
  .modal-header .close-button:hover {
    color: rgb(17, 24, 39);
    background-color: rgb(229, 231, 235);
  }
  
  .modal-body {
    padding: 10px 15px;
  }
  
  .modal input {
    width: 100%;
    height: 40px;
    border-top-width: initial;
    border-right-width: initial;
    border-left-width: initial;
    border-top-color: initial;
    border-right-color: initial;
    border-left-color: initial;
    font-size: 0.9rem; /* Smaller input text */
    font-weight: 400;
    color: rgb(55, 60, 79);
    outline: none;
    border-style: none none solid;
    border-image: initial;
    border-bottom: 1px solid rgb(245, 245, 245);
    padding: 0px 10px;
  }
  
  .modal input:focus {
    border-bottom: 1px solid rgb(26, 115, 232);
  }
  
  .modal .error {
    color: rgb(203 77 77);
    margin-top: 10px;
  }
  
  .modal-footer {
    display: flex;
    justify-content: space-between;
    padding: 10px 15px;
    border-top: 1px solid rgb(229, 231, 235);
  }
  
  .modal-footer button {
    font-size: 13px; /* Smaller footer button text */
    cursor: pointer;
    padding: 5px 10px; /* Reduced padding */
    border-radius: 0.5rem;
  }
  
  .button-save,
  .button-add {
    background-color: rgb(26, 86, 219);
    color: rgb(255, 255, 255);
    font-size: 14px; /* Smaller button text */
    padding: 6px 12px; /* Smaller padding */
  }
  
  .button-save:hover,
  .button-add:hover {
    background-color: rgb(30, 66, 159);
  }
  
  .button-cancel {
    margin-left: 10px;
    background-color: rgb(255, 255, 255);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(229, 231, 235);
    border-image: initial;
  }
  
  .button-cancel:hover {
    background-color: rgb(243, 244, 246);
  }
  
  .button-delete {
    background-color: rgb(224 36 36);
    color: rgb(255, 255, 255);
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
  }
  
  .button-delete:hover {
    background-color: rgb(155 28 28);
  }
  
  .alert-danger {
    background-color: rgb(253 242 242);
    color: rgb(155 28 28);
    font-size: 0.875rem;
    line-height: 1.25rem;
  
    border-radius: 0.5rem;
    margin-top: 10px;
  
    max-height: 0;
    transition: max-height 3s ease-out, padding 0.1s ease-out;
    overflow: hidden;
    padding: 0;
  }
  
  .alert-danger .title {
    font-weight: 500;
  }
  
  .alert-danger.active {
    padding: 10px;
    max-height: 1500px;
  }
  
  #overlay {
    position: fixed;
    opacity: 0;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    pointer-events: none;
    transition: all 200ms ease-in-out 0s;
  }
  
  #overlay.active {
    opacity: 1;
    pointer-events: all;
  }
  
  .holidays span {
    font-weight: 600;
  }
  
  .toggle {
    position: relative;
    width: 2.5rem; /* Smaller toggle button */
    height: 1.4rem;
    border-radius: 100px;
    background-color: rgb(229, 231, 235);
    cursor: pointer;
    margin-left: 15px;
  }
  
  .toggle::before {
    content: "";
    position: absolute;
    height: 1.4rem;
    width: 1.4rem;
    background: #ffffff;
    border-radius: 50%;
    top: 50%;
    left: 1px;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
  }
  
  .toggle.active::before {
    left: calc(100% - 1.4rem);
  }
  
  .toggle.active {
    background-color: #1c64f2;
  }
  
  .yellow {
    background-color: var(--yellow);
  }
  
  .sky {
    background-color: var(--sky);
  }
  
  .indigo {
    background-color: var(--indigo);
  }
  
  .lime {
    background-color: var(--lime);
  }
  
  .hide {
    display: none;
  }
  
  /* Adjust mobile view */
  @media (max-width: 600px) {
    body {
      font-size: 12px;
    }
    .circle {
      width: 25px;
      height: 25px;
    }
    .today-button,
    .previous-month,
    .next-month {
      font-size: 12px;
    }
    .current-date {
      font-size: 1.3em; /* Smaller font */
    }
    .toggle {
      margin-left: 0px;
      transform: scale(0.6);
    }
    .task-list .task {
      padding: 0px 5px;
      font-size: 13;
    }
  }
  