      body {
          font-family: 'Inter', sans-serif;
      }

      .calendar-day {
          transition: all 0.2s ease;
      }

      .calendar-day:hover:not(.calendar-day-disabled) {
          background-color: #EEF2FF;
          cursor: pointer;
      }

      .calendar-day-disabled {
          opacity: 0.3;
          cursor: not-allowed;
      }

      .subject-card {
          transition: all 0.3s ease;
      }

      .subject-card:hover {
          transform: translateY(-5px);
          box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
      }

      input[type="number"]::-webkit-inner-spin-button,
      input[type="number"]::-webkit-outer-spin-button {
          -webkit-appearance: none;
          margin: 0;
      }

      .custom-checkbox {
          display: inline-block;
          position: relative;
          cursor: pointer;
      }

      .custom-checkbox input {
          position: absolute;
          opacity: 0;
          cursor: pointer;
      }

      .checkmark {
          position: absolute;
          top: 0;
          left: 0;
          height: 20px;
          width: 20px;
          background-color: #fff;
          border: 2px solid #e2e8f0;
          border-radius: 4px;
      }

      .custom-checkbox input:checked~.checkmark {
          background-color: #4F46E5;
          border-color: #4F46E5;
      }

      .checkmark:after {
          content: "";
          position: absolute;
          display: none;
      }

      .custom-checkbox input:checked~.checkmark:after {
          display: block;
      }

      .custom-checkbox .checkmark:after {
          left: 6px;
          top: 2px;
          width: 5px;
          height: 10px;
          border: solid white;
          border-width: 0 2px 2px 0;
          transform: rotate(45deg);
      }

      .custom-switch {
          position: relative;
          display: inline-block;
          width: 44px;
          height: 24px;
      }

      .custom-switch input {
          opacity: 0;
          width: 0;
          height: 0;
      }

      .switch-slider {
          position: absolute;
          cursor: pointer;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-color: #e2e8f0;
          transition: .4s;
          border-radius: 24px;
      }

      .switch-slider:before {
          position: absolute;
          content: "";
          height: 18px;
          width: 18px;
          left: 3px;
          bottom: 3px;
          background-color: white;
          transition: .4s;
          border-radius: 50%;
      }

      input:checked+.switch-slider {
          background-color: #4F46E5;
      }

      input:checked+.switch-slider:before {
          transform: translateX(20px);
      }

      .custom-radio {
          display: inline-block;
          position: relative;
          cursor: pointer;
      }

      .custom-radio input {
          position: absolute;
          opacity: 0;
          cursor: pointer;
      }

      .radio-mark {
          position: absolute;
          top: 0;
          left: 0;
          height: 20px;
          width: 20px;
          background-color: #fff;
          border: 2px solid #e2e8f0;
          border-radius: 50%;
      }

      .custom-radio input:checked~.radio-mark {
          border-color: #4F46E5;
      }

      .radio-mark:after {
          content: "";
          position: absolute;
          display: none;
          top: 4px;
          left: 4px;
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: #4F46E5;
      }

      .custom-radio input:checked~.radio-mark:after {
          display: block;
      }

      .custom-range {
          -webkit-appearance: none;
          width: 100%;
          height: 6px;
          border-radius: 5px;
          background: #e2e8f0;
          outline: none;
      }

      .custom-range::-webkit-slider-thumb {
          -webkit-appearance: none;
          appearance: none;
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #4F46E5;
          cursor: pointer;
      }

      .custom-range::-moz-range-thumb {
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #4F46E5;
          cursor: pointer;
          border: none;
      }

      .hamburger {
          cursor: pointer;
          width: 24px;
          height: 24px;
          transition: all 0.25s;
          position: relative;
      }

      .hamburger-top,
      .hamburger-middle,
      .hamburger-bottom {
          position: absolute;
          width: 24px;
          height: 2px;
          top: 0;
          left: 0;
          background: #1f2937;
          transform: rotate(0);
          transition: all 0.5s;
      }

      .hamburger-middle {
          transform: translateY(7px);
      }

      .hamburger-bottom {
          transform: translateY(14px);
      }

      .open .hamburger-top {
          transform: rotate(45deg) translateY(6px) translateX(6px);
      }

      .open .hamburger-middle {
          display: none;
      }

      .open .hamburger-bottom {
          transform: rotate(-45deg) translateY(6px) translateX(-6px);
      }

      :where([class^="ri-"])::before { content: "\f3c2"; }

      section[id] { scroll-margin-top: 96px; }

      html { scroll-behavior: smooth; }