:root{
   --default-color: #000000;
   --transparent-default-color: #6e6790;
}

.lightpick {
   --ns-border-orbit-angle: 0deg;
   position: absolute;
   z-index: 2147479500;
   width: min(368px, calc(100vw - 24px));
   padding: 0;
   overflow: visible;
   isolation: isolate;
   border-radius: 18px;
   background:
      radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 12%, transparent), transparent 38%),
      radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--ns-accent, #49c3ff) 8%, transparent), transparent 42%),
      color-mix(in srgb, var(--ns-surface-raised, #202020) 94%, transparent);
   box-shadow: 0 24px 68px color-mix(in srgb, #000 40%, transparent), inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
   color: var(--ns-text, #f4f4f5);
   font-family: system-ui, Roboto, Helvetica, Arial, sans-serif;
   line-height: 1;
   border: 1px solid color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 46%, var(--ns-border, #4a4a4a));
   margin-top: 7px;
   backdrop-filter: blur(22px) saturate(140%);
   -webkit-backdrop-filter: blur(22px) saturate(140%);
   animation: nsika-datepicker-enter 190ms cubic-bezier(.22, 1, .36, 1) both;
}

.lightpick--inlined {
   position: relative;
   display: inline-block;
}

.lightpick,
.lightpick *,
.lightpick::after,
.lightpick::before {
   box-sizing: border-box;
}

.lightpick::before {
   content: "";
   position: absolute;
   z-index: 5;
   inset: -1px;
   padding: 1px;
   border-radius: inherit;
   pointer-events: none;
   background: conic-gradient(from calc(315deg + var(--ns-border-orbit-angle)), transparent 0deg 272deg, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 38%, transparent) 292deg, var(--ns-brand-secondary, #49c3ff) 318deg, var(--ns-accent, #49c3ff) 338deg, transparent 360deg);
   -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
   -webkit-mask-composite: xor;
   mask-composite: exclude;
   animation: nsika-datepicker-border 2.8s linear infinite;
}

.lightpick > * {
   position: relative;
   z-index: 6;
}

.lightpick.is-hidden {
   display: none;
}

@keyframes nsika-datepicker-enter {
   from { opacity: 0; transform: translateY(-6px) scale(.97); }
   to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes nsika-datepicker-border {
   to { --ns-border-orbit-angle: 360deg; }
}

.lightpick__inner {
   background: transparent;
   overflow: hidden;
   border-radius: inherit;
}

.nsika-date-picker-header {
   display: flex;
   min-height: 54px;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   padding: 11px 14px 11px 16px;
   border-bottom: 1px solid color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 18%, var(--ns-border, #3a3a3a));
   background:
      linear-gradient(180deg, color-mix(in srgb, var(--ns-surface-raised, #242424) 88%, #fff 4%), color-mix(in srgb, var(--ns-surface-raised, #242424) 78%, transparent));
   box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 7%, transparent);
   backdrop-filter: blur(18px) saturate(132%);
   -webkit-backdrop-filter: blur(18px) saturate(132%);
}

.nsika-date-picker-current {
   min-width: 0;
   overflow: hidden;
   color: color-mix(in srgb, var(--ns-text, #f4f4f5) 84%, transparent);
   font-size: 15px;
   font-weight: 560;
   line-height: 1.2;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.nsika-date-picker-mode-toggle {
   display: grid;
   width: 30px;
   height: 30px;
   flex: 0 0 auto;
   place-items: center;
   border: 1px solid color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 28%, var(--ns-border, #4a4a4a));
   border-radius: 9px;
   color: color-mix(in srgb, var(--ns-text, #f4f4f5) 82%, transparent);
   background: color-mix(in srgb, var(--ns-surface-muted, #2d2d2d) 72%, transparent);
   box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 7%, transparent);
   transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.nsika-date-picker-mode-toggle:hover {
   color: var(--ns-text, #f4f4f5);
   border-color: var(--ns-brand-secondary, #49c3ff);
   background: var(--ns-accent-soft, color-mix(in srgb, #49c3ff 16%, transparent));
   transform: translateY(-1px);
}

.nsika-date-picker-mode-toggle .material-symbols-outlined {
   font-size: 20px;
}

.lightpick__months {
   display: grid;
   background-color: transparent;
   grid-template-columns: auto;
   grid-gap: 0;
}

.lightpick--2-columns .lightpick__months {
   grid-template-columns: auto auto;
}

.lightpick--3-columns .lightpick__months {
   grid-template-columns: auto auto auto;
}

.lightpick--4-columns .lightpick__months {
   grid-template-columns: auto auto auto auto;
}

.lightpick--5-columns .lightpick__months {
   grid-template-columns: auto auto auto auto auto;
}

.lightpick__month {
   width: auto;
   min-width: 0;
   padding: 16px 16px 15px;
   background-color: transparent;
}

.lightpick__month-title-bar {
   display: flex;
   min-height: 30px;
   margin-bottom: 14px;
   justify-content: space-between;
   align-items: center;
   border-bottom: 0;
}

.lightpick__month-title {
   position: relative;
   display: inline-flex;
   align-items: center;
   gap: 4px;
   margin: 0;
   padding: 0;
   color: var(--ns-text, #f4f4f5);
   font-size: 15px;
   font-weight: 760;
   line-height: 1.2;
   cursor: default;
   border-radius: 8px;
}

.lightpick__month-title::after {
   content: "";
   position: absolute;
   inset: -8px -10px;
   border-radius: 9px;
}

.lightpick__month-title:hover {
   color: var(--ns-brand-secondary, #49c3ff);
}

.lightpick__month-title > .lightpick__select {
   border: none;
   background-color: transparent;
   outline: none;
   color: inherit;
   cursor: pointer;
}
.lightpick__month-title > .lightpick__select:disabled {
   color: var(--ns-text, #f4f4f5);
}

.lightpick__month-title > .lightpick__select-months {
   font-weight: bold;
   font-size: 1em;
   margin-right: .2em;
}

.lightpick__toolbar {
   display: flex;
   text-align: right;
   justify-content: flex-end;
   align-items: center;
   gap: 14px;
}

.lightpick__previous-action,
.lightpick__next-action,
.lightpick__close-action {
   display: grid;
   width: 24px;
   height: 24px;
   margin: 0;
   place-items: center;
   outline: none;
   border: none;
   border-radius: 50%;
   color: color-mix(in srgb, var(--ns-text-muted, #9ca3af) 86%, transparent);
   background-color: transparent;
   font-family: "Material Symbols Outlined";
   font-size: 20px;
   font-weight: normal;
   line-height: 1;
   transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.lightpick__previous-action:hover,
.lightpick__next-action:hover {
   color: var(--ns-text, #f4f4f5);
   background: color-mix(in srgb, var(--ns-surface-muted, #333) 58%, transparent);
   transform: translateY(-1px);
}

.lightpick__close-action {
   font-size: 18px;
}

.lightpick__previous-action:active,
.lightpick__next-action:active,
.lightpick__close-action:active {
   color: inherit;
}

.lightpick__days-of-the-week {
   display: grid;
   grid-template-columns: repeat(7, 1fr);
   background-color: transparent;
   border-radius: 0;
   padding: 0;
   gap: 0;
}

.lightpick__day-of-the-week {
   display: flex;
   height: 25px;
   color: color-mix(in srgb, var(--ns-text-muted, #9ca3af) 78%, var(--ns-text, #fff) 12%);
   font-size: 12px;
   font-weight: 720;
   justify-content: center;
   align-items: center;
}

.lightpick__days {
   margin-top: 6px;
   display: grid;
   grid-template-columns: repeat(7, 1fr);
   row-gap: 4px;
}

.lightpick__day {
   display: flex;
   width: 34px;
   height: 34px;
   justify-self: center;
   background-position: center center;
   background-size: contain;
   background-repeat: no-repeat;
   border: 1px solid transparent;
   border-radius: 999px;
   color: color-mix(in srgb, var(--ns-text, #f4f4f5) 88%, transparent);
   font-size: 14px;
   font-weight: 520;
   justify-content: center;
   align-items: center;
   cursor: default;
   transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.lightpick__day.is-today {
   background-color: color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 12%, var(--ns-surface-muted, #343434));
   background-position: center bottom;
   color: var(--ns-text, #f4f4f5);
   border-color: color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 34%, transparent);
   font-weight: 680;
}

.lightpick__day:not(.is-disabled):hover {
   background-size: contain;
   background-color: color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 11%, var(--ns-surface-muted, #363636));
   cursor: pointer;
   transform: scale(1.04);
}

.lightpick__day.is-disabled {
   opacity: 1;
   color: color-mix(in srgb, var(--ns-text-muted, #8b8b8b) 58%, transparent);
   pointer-events: none;
}

.lightpick__day.disabled-tooltip {
   pointer-events: auto;
}

.lightpick__day.is-disabled.is-forward-selected {
   opacity: 1;
}
.lightpick__day.is-disabled.is-forward-selected:not(.is-start-date) {
   background-color: var(--transparent-default-color);
   background-image: none;
}

.lightpick__day.is-previous-month,
.lightpick__day.is-next-month {
   opacity: 1;
   color: color-mix(in srgb, var(--ns-text-muted, #8b8b8b) 64%, transparent);
}

.lightpick__day.lightpick__day.is-in-range:not(.is-disabled) {
   opacity: 1;
}

.lightpick__day.is-in-range {
   border-radius: 999px;
   background-color: color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 14%, transparent);
   background-image: none;
}

.lightpick__day.is-in-range:hover {
   /* background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle fill='rgba(38, 139, 210, 0.5)' cx='16' cy='16' r='16'/%3E%3C/svg%3E"); */
}

.lightpick__day.is-start-date.is-in-range,
.lightpick__day.is-end-date.is-in-range.is-flipped {
   border-radius: 999px;
   background: linear-gradient(180deg, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 92%, #fff 10%), var(--ns-brand-secondary, #49c3ff));
   background-image: none;
}

.lightpick__day.is-end-date.is-in-range,
.lightpick__day.is-start-date.is-in-range.is-flipped {
   border-radius: 999px;
   background: linear-gradient(180deg, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 92%, #fff 10%), var(--ns-brand-secondary, #49c3ff));
   background-image: none;
}

.lightpick__day.is-start-date.is-end-date {
   background-color: transparent;
   /* background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle fill='%23268BD2' cx='16' cy='16' r='16'/%3E%3C/svg%3E"); */
}

.lightpick__day.is-start-date,
.lightpick__day.is-end-date,
.lightpick__day.is-start-date:hover,
.lightpick__day.is-end-date:hover {
   background: linear-gradient(180deg, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 92%, #fff 10%), var(--ns-brand-secondary, #49c3ff));
   border-radius: 999px;
   background-size: auto;
   background-position: center;
   color: var(--ns-brand-on-secondary, #071018);
   font-weight: 720;
   box-shadow: 0 8px 18px color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 24%, transparent);
   transform: none;
}

.lightpick__tooltip {
   position: absolute;
   margin-top: -4px;
   padding: 7px 10px;
   border-radius: 8px;
   background-color: var(--ns-surface-raised, #262626);
   color: var(--ns-text, #f4f4f5);
   box-shadow: 0 12px 28px color-mix(in srgb, #000 34%, transparent);
   white-space: nowrap;
   font-size: 11px;
   pointer-events: none;
}

.lightpick__tooltip::before {
   position: absolute;
   bottom: -5px;
   left: calc(50% - 5px);
   border-top: 5px solid rgba(0, 0, 0, 0.12);
   border-right: 5px solid transparent;
   border-left: 5px solid transparent;
   content: "";
}

.lightpick__tooltip::after {
   position: absolute;
   bottom: -4px;
   left: calc(50% - 4px);
   border-top: 4px solid var(--ns-surface-raised, #262626);
   border-right: 4px solid transparent;
   border-left: 4px solid transparent;
   content: "";
}
.lightpick__footer {
   display: flex;
   justify-content: space-between;
   padding: 14px 18px;
   border-top: 1px solid color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 18%, var(--ns-border, #3a3a3a));
   background: color-mix(in srgb, var(--ns-surface-raised, #202020) 74%, transparent);
}
.lightpick__reset-action,
.lightpick__apply-action {
   min-height: 38px;
   padding-inline: 14px;
   border-radius: 10px;
   font-size: 13px;
   font-weight: 720;
   border: 1px solid var(--ns-border, #3a3a3a);
   transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.lightpick__reset-action {
   color: var(--ns-text, #f4f4f5);
   background-color: var(--ns-surface-muted, #343434);
}
.lightpick__reset-action:hover {
   border-color: var(--ns-brand-secondary, #49c3ff);
   background: var(--ns-accent-soft, color-mix(in srgb, #49c3ff 16%, transparent));
   transform: translateY(-1px);
}
.lightpick__apply-action {
   color: var(--ns-brand-on-secondary, #071018);
   background-color: var(--ns-brand-secondary, #49c3ff);
   border-color: var(--ns-brand-secondary, #49c3ff);
   box-shadow: var(--ns-brand-glow, 0 8px 22px color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 25%, transparent));
}
.lightpick__apply-action:hover {
   transform: translateY(-1px);
   box-shadow: 0 16px 34px color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 30%, transparent);
}

.lightpick__day.is-available.is-today.is-start-date{
   background-color: var(--ns-brand-secondary, #49c3ff);
}

.lightpick__select{
   background-image: none !important;
   cursor: pointer;
   font-size: 15px;
   font-weight: 760;
   color: var(--ns-text, #f4f4f5);
}
.lightpick__select.lightpick__select-years{
   color: var(--ns-text, #f4f4f5);
}

.nsika-date-picker-month-panel,
.nsika-date-picker-year-panel {
   position: absolute;
   inset: 55px 0 0;
   z-index: 4;
   display: flex;
   flex-direction: column;
   padding: 18px 22px 20px;
   background:
      radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 10%, transparent), transparent 36%),
      color-mix(in srgb, var(--ns-surface-raised, #202020) 94%, transparent);
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transform: translateY(-6px) scale(.97);
   box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 7%, transparent);
   backdrop-filter: blur(20px) saturate(136%);
   -webkit-backdrop-filter: blur(20px) saturate(136%);
   transition: opacity 190ms ease, visibility 190ms ease, transform 190ms cubic-bezier(.22, 1, .36, 1);
}

.lightpick.is-choosing-month .nsika-date-picker-month-panel,
.lightpick.is-choosing-year .nsika-date-picker-year-panel {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
   transform: translateY(0) scale(1);
}

.nsika-date-picker-month-panel-head,
.nsika-date-picker-year-panel-head {
   display: flex;
   min-height: 30px;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 14px;
}

.nsika-date-picker-month-year,
.nsika-date-picker-year-panel-head strong {
   border: 0;
   color: var(--ns-text, #f4f4f5);
   background: transparent;
   font-size: 16px;
   font-weight: 760;
}

.nsika-date-picker-month-year {
   padding: 0;
   cursor: pointer;
}

.nsika-date-picker-month-year:hover {
   color: var(--ns-brand-secondary, #49c3ff);
}

.nsika-date-picker-year-panel-head > div {
   display: inline-flex;
   gap: 12px;
}

.nsika-date-picker-decade-action {
   display: grid;
   width: 24px;
   height: 24px;
   place-items: center;
   border: 0;
   border-radius: 999px;
   color: color-mix(in srgb, var(--ns-text, #f4f4f5) 68%, transparent);
   background: transparent;
   transition: color 150ms ease, background 150ms ease, transform 150ms ease;
}

.nsika-date-picker-decade-action:hover {
   color: var(--ns-text, #f4f4f5);
   background: color-mix(in srgb, var(--ns-surface-muted, #333) 76%, transparent);
   transform: translateY(-1px);
}

.nsika-date-picker-decade-action .material-symbols-outlined {
   font-size: 21px;
}

.nsika-date-picker-month-grid,
.nsika-date-picker-year-grid {
   display: grid;
   flex: 1 1 auto;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 10px 12px;
   align-content: start;
}

.nsika-date-picker-month-option,
.nsika-date-picker-year-option {
   display: grid;
   width: 52px;
   height: 52px;
   justify-self: center;
   place-items: center;
   border: 0;
   border-radius: 999px;
   color: var(--ns-text, #f4f4f5);
   background: transparent;
   font-size: 14px;
   font-weight: 560;
   transition: background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.nsika-date-picker-year-option {
   width: 60px;
   border-radius: 16px;
}

.nsika-date-picker-month-option:hover,
.nsika-date-picker-year-option:hover {
   color: var(--ns-accent-strong, var(--ns-brand-secondary, #49c3ff));
   background: color-mix(in srgb, var(--ns-accent-soft, #49c3ff) 64%, transparent);
   box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 18%, transparent);
   transform: translateY(-1px);
}

.nsika-date-picker-month-option.is-selected,
.nsika-date-picker-year-option.is-selected {
   color: var(--ns-brand-on-secondary, #071018);
   background: linear-gradient(180deg, color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 92%, #fff 10%), var(--ns-brand-secondary, #49c3ff));
   box-shadow: var(--ns-brand-glow, 0 10px 22px color-mix(in srgb, var(--ns-brand-secondary, #49c3ff) 24%, transparent));
}

.nsika-date-picker-year-option.is-muted {
   color: color-mix(in srgb, var(--ns-text-muted, #8b8b8b) 70%, transparent);
}

@media (max-width: 560px) {
   .lightpick {
      width: calc(100vw - 20px);
   }
   .nsika-date-picker-header {
      min-height: 56px;
      padding: 12px 14px;
   }
   .nsika-date-picker-current {
      font-size: 15px;
   }
   .lightpick__month {
      padding: 16px 12px 14px;
   }
   .lightpick__day {
      width: 34px;
      height: 34px;
      font-size: 14px;
   }
   .lightpick__day-of-the-week {
      font-size: 14px;
   }
   .nsika-date-picker-month-panel,
   .nsika-date-picker-year-panel {
      top: 57px;
      padding: 18px 16px;
   }
   .nsika-date-picker-month-grid,
   .nsika-date-picker-year-grid {
      gap: 10px 8px;
   }
   .nsika-date-picker-month-option,
   .nsika-date-picker-year-option {
      width: 52px;
      height: 52px;
      font-size: 14px;
   }
   .nsika-date-picker-year-option {
      width: 60px;
      border-radius: 16px;
   }
}

@media (prefers-reduced-motion: reduce) {
   .lightpick,
   .lightpick__day,
   .lightpick__previous-action,
   .lightpick__next-action,
   .lightpick::before {
      animation: none !important;
      transition: none !important;
   }
}
