.huskical-booking-body,
.huskical-app {
    --huskical-accent: #1f4b3f;
    --huskical-cover-1: #1f4b3f;
    --huskical-cover-2: #1f4b3f;
    --huskical-button-text: #ffffff;
    --huskical-border: #e7e5e4;
    --huskical-title-color: #f8f4ec;
    --huskical-category-color: #d6cec0;
    --huskical-font: "Segoe UI", system-ui, -apple-system, sans-serif;
    --huskical-ink: #1c1917;
    --huskical-muted: #78716c;
}

.huskical-booking-body {
    margin: 0;
    min-height: 100vh;
    background: #f4f1ea;
    color: var(--huskical-ink);
}

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

.huskical-app {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    font-family: var(--huskical-font);
    color: var(--huskical-ink);
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.huskical-app:not(.huskical-app--fullscreen) {
    margin: 24px 0;
}

.huskical-app__frame {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(28, 25, 23, 0.08);
    overflow: hidden;
    min-height: 420px;
    max-height: min(760px, calc(100dvh - 48px));
    display: flex;
    flex-direction: column;
}

.huskical-shell {
    display: grid;
    grid-template-columns: minmax(220px, 280px) 1fr;
    min-height: 0;
    flex: 1;
    overflow: hidden;
}

.huskical-sticky-head {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.huskical-sticky-head .huskical-aside {
    flex: 1;
    min-height: 0;
}

.huskical-stage {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.huskical-stage.is-animating > .huskical-main {
    position: absolute;
    inset: 0;
    width: 100%;
}

.huskical-app__frame.huskical-root--busy {
    pointer-events: none;
    overflow: hidden;
}

.huskical-aside {
    background: linear-gradient(148deg, var(--huskical-cover-1), var(--huskical-cover-2));
    color: var(--huskical-title-color);
    padding: 28px 24px;
    min-height: 0;
    overflow: auto;
}

.huskical-aside h1,
.huskical-aside h2 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.3;
    color: var(--huskical-title-color);
}

.huskical-aside-type {
    margin: 0 0 4px;
}

.huskical-aside-type__summary {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    list-style: none;
}

.huskical-aside-type__summary::-webkit-details-marker,
.huskical-aside-type__summary::marker {
    display: none;
}

.huskical-aside-type__summary h1 {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.huskical-aside-type__chevron {
    flex: 0 0 auto;
    margin-top: 6px;
    opacity: 0.78;
    transition: transform 0.15s ease;
}

.huskical-aside-type[open] .huskical-aside-type__chevron {
    transform: rotate(180deg);
}

.huskical-aside-type__desc {
    margin: 8px 0 8px;
    white-space: pre-wrap;
}

.huskical-aside p {
    margin: 0 0 12px;
    color: color-mix(in srgb, var(--huskical-title-color) 82%, transparent);
}

.huskical-main {
    padding: 24px;
    min-height: 0;
    flex: 1;
    overflow: auto;
    overscroll-behavior: contain;
}

.huskical-main--picker {
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 1;
}

.huskical-picker {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}

.huskical-picker--dates {
    flex: none;
    touch-action: pan-y;
}

.huskical-picker__header {
    flex: 0 0 auto;
    z-index: 2;
    background: #fff;
    padding: 24px 24px 12px;
    box-shadow: 0 10px 12px -12px rgba(28, 25, 23, 0.18);
}

.huskical-step-heading,
.huskical-picker__heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-bottom: 12px;
}

.huskical-step-heading .huskical-step-title,
.huskical-picker__heading .huskical-step-title {
    margin: 0;
    padding: 0 64px;
    text-align: center;
}

.huskical-picker__header .huskical-step-heading {
    margin-bottom: 0;
}

.huskical-picker--dates .huskical-picker__header .huskical-step-heading {
    margin-bottom: 12px;
}

.huskical-back--header,
.huskical-back--header:hover,
.huskical-back--header:focus {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 8px 8px 8px 0;
}

.huskical-picker--dates .huskical-picker__body {
    overflow: visible;
}

.huskical-picker--times .huskical-picker__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.huskical-picker > .huskical-actions--bottom {
    flex: 0 0 auto;
    padding: 0 24px 24px;
    margin-top: 0;
}

.huskical-picker__header .huskical-error {
    margin-bottom: 12px;
}

.huskical-picker__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 4px 24px 24px;
}

.huskical-date-heading {
    display: block;
    width: 100%;
    margin: 0;
    padding: 4px 0 0;
    text-align: left;
    font: inherit;
    color: inherit;
}

.huskical-date-heading strong {
    display: block;
    font-size: 18px;
    line-height: 1.3;
}

.huskical-date-heading span {
    font-size: 13px;
    color: var(--huskical-accent);
    white-space: nowrap;
}

.huskical-powered {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--huskical-muted);
    text-align: center;
    padding: 8px 16px 12px;
    opacity: 0.65;
}

.huskical-timezone {
    display: grid;
    gap: 8px;
    font-size: 14px;
    margin-top: 16px;
}

.huskical-timezone__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.huskical-timezone__name {
    color: var(--huskical-ink);
}

.huskical-timezone__now {
    color: var(--huskical-muted);
}

.huskical-timezone__now::before {
    content: " (";
}

.huskical-timezone__now::after {
    content: ")";
}

.huskical-timezone__other {
    display: grid;
    gap: 6px;
}

.huskical-timezone__other-label {
    font-size: 13px;
}

.huskical-timezone__other-row {
    display: flex;
    align-items: stretch;
    gap: 6px;
}

.huskical-timezone__clock {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    border: 1px solid var(--huskical-border);
    border-radius: 10px;
    padding: 0 8px;
    background: #fff;
    gap: 2px;
}

.huskical-timezone__clock input {
    width: 2.25em;
    border: 0;
    margin: 0;
    padding: 10px 0;
    text-align: center;
    font: inherit;
    background: transparent;
    color: inherit;
}

.huskical-timezone__clock input::placeholder {
    color: var(--huskical-muted);
}

.huskical-timezone__clock span {
    color: var(--huskical-muted);
}

.huskical-timezone__other-row select.huskical-timezone__meridiem {
    width: auto;
    flex: 0 0 auto;
    min-width: 4.75em;
}

.huskical-timezone__go {
    flex: 0 0 auto;
    margin: 0;
    padding: 0 14px;
    border: 0;
    border-radius: 10px;
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
    font: inherit;
    cursor: pointer;
    min-height: 42px;
}

.huskical-timezone__toggle {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--huskical-accent);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}

.huskical-timezone__picker {
    display: grid;
    gap: 6px;
}

.huskical-summary {
    display: grid;
    gap: 4px;
}

.huskical-summary strong {
    font-size: 18px;
    line-height: 1.3;
}

.huskical-summary__meta {
    font-size: 13px;
    color: var(--huskical-muted);
}

.huskical-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--huskical-accent);
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.huskical-back__icon {
    display: block;
    flex: 0 0 auto;
}

.huskical-duration {
    display: grid;
    gap: 8px;
    font-size: 14px;
    margin-bottom: 12px;
}

.huskical-duration__options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.huskical-duration__option {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 3.25em;
    min-height: 44px;
    margin: 0;
    padding: 10px 2px;
    border: 1px solid var(--huskical-border);
    border-radius: 12px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
}

.huskical-duration__option.is-selected {
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
    border-color: var(--huskical-accent);
}

.huskical-picker__header .huskical-calendar-nav,
.huskical-picker__header .huskical-summary {
    margin-bottom: 0;
}

.huskical-host-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0 0 12px;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}

.huskical-host-heading strong {
    display: block;
    font-size: 16px;
    line-height: 1.3;
}

.huskical-host-heading span {
    font-size: 13px;
    color: var(--huskical-accent);
    white-space: nowrap;
}

.huskical-step-title,
.huskical-host-pick__title {
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
}

.huskical-host-pick .huskical-type-card .huskical-host__photo {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.huskical-host-pick .huskical-type-card .huskical-host__name {
    font-size: 15px;
    font-weight: 600;
}

.huskical-timezone select,
.huskical-timezone__picker select {
    width: 100%;
    border: 1px solid var(--huskical-border);
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    background: #fff;
}

.huskical-types {
    display: grid;
    gap: 10px;
}

.huskical-type-card,
.huskical-slot,
.huskical-day,
.huskical-duration__option,
.huskical-location-btn,
.huskical-btn,
.huskical-back,
.huskical-timezone__toggle,
.huskical-calendar-nav__btn {
    transition: background-color 0.28s ease, color 0.28s ease, border-color 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease, opacity 0.28s ease;
}

.huskical-type-card,
.huskical-slot,
.huskical-day {
    border: 1px solid var(--huskical-border);
    background: #fff;
    border-radius: 12px;
    padding: 12px 14px;
    text-align: left;
    cursor: pointer;
    width: 100%;
}

.huskical-type-card:hover,
.huskical-slot:hover,
.huskical-day.is-available:hover {
    border-color: var(--huskical-accent);
}

.huskical-type-card strong,
.huskical-day strong {
    display: block;
}

.huskical-muted {
    color: var(--huskical-muted);
    font-size: 13px;
}

.huskical-calendar-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    gap: 8px;
}

.huskical-calendar-nav strong {
    font-size: 16px;
    text-align: center;
}

.huskical-calendar-nav__spacer {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
}

.huskical-calendar-nav__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--huskical-ink);
    cursor: pointer;
}

.huskical-calendar-nav__btn:hover,
.huskical-calendar-nav__btn:focus {
    color: var(--huskical-accent);
}

.huskical-calendar-nav__icon {
    display: block;
}

.huskical-calendar {
    position: relative;
}

.huskical-calendar__viewport {
    position: relative;
    overflow: hidden;
    transition: opacity 0.32s ease;
}

.huskical-calendar.is-loading .huskical-calendar__viewport {
    opacity: 0.38;
    pointer-events: none;
    transition: none;
}

.huskical-calendar__status {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: none;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 16px;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.42);
}

.huskical-calendar.is-loading .huskical-calendar__status {
    display: flex;
    pointer-events: auto;
}

.huskical-calendar__status span {
    max-width: 15.5em;
    padding: 10px 14px;
    border: 1px solid var(--huskical-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28, 25, 23, 0.12);
    color: var(--huskical-ink);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
}

.huskical-calendar__viewport.is-animating {
    display: grid;
}

.huskical-calendar__viewport.is-animating > .huskical-grid {
    grid-area: 1 / 1;
}

.huskical-grid--leave.huskical-grid--forward {
    animation: huskical-slide-out-left 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-grid--enter.huskical-grid--forward {
    animation: huskical-slide-in-right 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-grid--leave.huskical-grid--back {
    animation: huskical-slide-out-right 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-grid--enter.huskical-grid--back {
    animation: huskical-slide-in-left 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-grid--fade-in {
    animation: huskical-soft-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
}

.huskical-dow {
    min-width: 0;
    text-align: center;
    font-size: 11px;
    color: var(--huskical-muted);
    text-transform: uppercase;
}

.huskical-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    min-height: 42px;
    padding: 6px 0 8px;
    text-align: center;
}

.huskical-day:not(.is-empty)::after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: transparent;
}

.huskical-day.is-today::after {
    background: var(--huskical-accent);
}

.huskical-day.is-selected.is-today::after {
    background: var(--huskical-button-text);
}

.huskical-day.is-empty,
.huskical-day:disabled {
    border-color: transparent;
    background: transparent;
    cursor: default;
    color: #a8a29e;
}

.huskical-day.is-selected {
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
    border-color: var(--huskical-accent);
}

.huskical-slots {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.huskical-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    min-height: 52px;
    padding: 0 14px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.huskical-slot.is-selected {
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
    border-color: var(--huskical-accent);
}

.huskical-form {
    display: grid;
    gap: 12px;
}

.huskical-form .huskical-step-title {
    margin-bottom: 0;
}

.huskical-identity,
.huskical-invitee {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: end;
}

.huskical-invitee {
    grid-template-columns: 1fr 1fr auto;
}

.huskical-invitees {
    display: grid;
    gap: 12px;
}

.huskical-invitees__note {
    margin: 0;
    color: #78716c;
    font-size: 13px;
}

.huskical-invitee__add,
.huskical-invitee__remove {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--huskical-accent);
    font: inherit;
    font-size: 14px;
    padding: 0;
    cursor: pointer;
    text-align: left;
}

.huskical-invitee__remove {
    align-self: end;
    margin-bottom: 12px;
    color: #78716c;
}

.huskical-form label {
    display: grid;
    gap: 6px;
    font-size: 14px;
}

.huskical-app .huskical-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.huskical-app .huskical-form textarea,
.huskical-app .huskical-form select {
    display: block;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--huskical-border);
    border-radius: 10px;
    padding: 10px 12px !important;
    font: inherit;
    font-size: inherit !important;
    line-height: 1.25;
    background-color: #fff;
    color: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.huskical-app .huskical-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.huskical-app .huskical-form select {
    height: 46px !important;
    min-height: 46px !important;
}

.huskical-app .huskical-form input[type="date"] {
    -webkit-appearance: auto;
    appearance: auto;
}

.huskical-app .huskical-form textarea {
    height: auto !important;
    min-height: 88px;
    resize: vertical;
}

.huskical-location {
    display: grid;
    gap: 8px;
}

.huskical-location__label {
    font-size: 14px;
}

.huskical-location-buttons {
    display: grid;
    gap: 8px;
}

.huskical-location-btn {
    display: grid;
    gap: 4px;
    border: 1px solid var(--huskical-border);
    border-radius: 12px;
    padding: 12px 14px;
    cursor: pointer;
}

.huskical-location-btn input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.huskical-location-btn.is-selected,
.huskical-location-btn:hover {
    border-color: var(--huskical-accent);
}

.huskical-location-btn.is-selected {
    background: color-mix(in srgb, var(--huskical-accent) 8%, #fff);
}

.huskical-location__details {
    display: grid;
    gap: 4px;
}

.huskical-location__description {
    margin: 0;
    color: #57534e;
    font-size: 13px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.huskical-location__other {
    margin-top: 4px;
}

.huskical-policy {
    display: grid;
    gap: 6px;
    margin-top: 4px;
}

.huskical-policy__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--huskical-ink);
}

.huskical-policy__body {
    font-size: 13px;
    line-height: 1.5;
    color: #57534e;
    background: #fafaf9;
    border: 1px solid var(--huskical-border);
    border-radius: 10px;
    padding: 12px 14px;
}

.huskical-policy__body > *:first-child {
    margin-top: 0;
}

.huskical-policy__body > *:last-child {
    margin-bottom: 0;
}

.huskical-policy__body p,
.huskical-policy__body ul,
.huskical-policy__body ol {
    margin: 0 0 8px;
}

.huskical-policy__body a {
    color: var(--huskical-accent);
}

.huskical-extra-field {
    display: grid;
    gap: 6px;
}

.huskical-extra-field__label {
    font-size: 14px;
}

.huskical-extra-field__required {
    color: #b45309;
}

.huskical-extra-field__description {
    color: #57534e;
    font-size: 13px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.huskical-extra-field__choices {
    display: grid;
    gap: 8px;
}

.huskical-form label.huskical-extra-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: flex-start;
    font-size: 14px;
}

.huskical-form label.huskical-extra-choice input {
    width: auto;
    margin: 3px 0 0;
    accent-color: var(--huskical-accent);
}

.huskical-consents {
    display: grid;
    gap: 10px;
}

.huskical-form .huskical-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.45;
    color: #44403c;
}

.huskical-form .huskical-consent input[type="checkbox"] {
    width: auto;
    margin: 3px 0 0;
    accent-color: var(--huskical-accent);
}

.huskical-consent a {
    color: var(--huskical-accent);
}

.huskical-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.huskical-actions--top {
    margin: 0 0 12px;
}

.huskical-actions--bottom {
    margin-top: 16px;
}

.huskical-form .huskical-summary {
    margin-bottom: 4px;
}

.huskical-form .huskical-actions--bottom {
    justify-content: flex-start;
    align-items: center;
}

.huskical-btn {
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    cursor: pointer;
    font: inherit;
}

.huskical-btn--primary {
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
}

.huskical-btn--ghost {
    background: transparent;
    color: var(--huskical-accent);
}

.huskical-btn--danger {
    background: #991b1b;
    color: #fff;
}

.huskical-btn[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
}

.huskical-error {
    background: #fef2f2;
    color: #991b1b;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 12px;
}

.huskical-retry {
    display: inline;
    margin-left: 6px;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.huskical-confirm {
    padding: 12px 0;
}

.huskical-meet-link {
    color: var(--huskical-accent, #1f4b3f);
    font-weight: 600;
}

.huskical-hosts {
    margin: 16px 0 0;
}

.huskical-hosts__label {
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 8px;
    opacity: 0.8;
}

.huskical-hosts__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.huskical-host {
    display: flex;
    align-items: center;
    gap: 10px;
}

.huskical-host__photo {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    flex: 0 0 auto;
    background: color-mix(in srgb, var(--huskical-title-color) 16%, transparent);
}

.huskical-host__photo--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--huskical-title-color);
}

.huskical-host__name {
    font-size: 14px;
}

.huskical-hosts--meeting {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.huskical-hosts--meeting .huskical-hosts__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
}

.huskical-hosts--meeting .huskical-host {
    gap: 0;
}

.huskical-hosts--meeting .huskical-host:not(:first-child) {
    margin-left: -8px;
}

.huskical-hosts--meeting .huskical-host__photo {
    width: 36px;
    height: 36px;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--huskical-cover-1) 70%, #000);
}

.huskical-hosts__meeting {
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
}

.huskical-aside-picks {
    margin: 16px 0 0;
    padding: 0;
    display: grid;
    gap: 8px;
    font-size: 14px;
    line-height: 1.4;
    color: color-mix(in srgb, var(--huskical-title-color) 88%, transparent);
}

.huskical-aside--refresh .huskical-aside-picks__item {
    animation: huskical-pick-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-aside--refresh .huskical-aside-picks__item:nth-child(2) {
    animation-delay: 0.05s;
}

.huskical-aside--refresh .huskical-aside-picks__item:nth-child(3) {
    animation-delay: 0.1s;
}

.huskical-aside-picks__item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.huskical-aside-picks__item span {
    min-width: 0;
}

.huskical-aside-picks__icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: currentColor;
}

.huskical-aside-picks__when {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 14px;
}

.huskical-confirm .huskical-hosts {
    margin-top: 16px;
}

.huskical-confirm .huskical-host__photo--initials {
    background: color-mix(in srgb, var(--huskical-accent) 12%, #fff);
    color: var(--huskical-accent);
}

.huskical-confirm .huskical-hosts--meeting .huskical-host__photo,
.huskical-type-card .huskical-hosts--meeting .huskical-host__photo {
    box-shadow: 0 0 0 2px #fff;
}

.huskical-type-card .huskical-hosts {
    margin-top: 8px;
}

.huskical-type-card .huskical-hosts__list {
    flex-direction: row;
    flex-wrap: wrap;
}

.huskical-type-card .huskical-host__photo {
    width: 28px;
    height: 28px;
    border-radius: 8px;
}

.huskical-type-card .huskical-hosts--meeting .huskical-host__photo {
    width: 28px;
    height: 28px;
}

.huskical-type-card .huskical-host__name,
.huskical-type-card .huskical-hosts__meeting {
    font-size: 13px;
}

.huskical-aside p.huskical-hosts__meeting {
    margin: 0;
    color: color-mix(in srgb, var(--huskical-title-color) 88%, transparent);
}

.huskical-type-card.is-chosen,
.huskical-slot.is-chosen,
.huskical-duration__option.is-chosen,
.huskical-day.is-chosen {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--huskical-accent);
    color: var(--huskical-button-text);
    border-color: var(--huskical-accent);
    overflow: hidden;
}

.huskical-day.is-chosen::after {
    display: none;
}

.huskical-choice-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--huskical-button-text);
}

.huskical-choice-check svg {
    display: block;
    width: 20px;
    height: 20px;
}

.huskical-duration__option .huskical-choice-check,
.huskical-day .huskical-choice-check {
    width: 16px;
    height: 16px;
}

.huskical-duration__option .huskical-choice-check svg,
.huskical-day .huskical-choice-check svg {
    width: 16px;
    height: 16px;
}

.huskical-choice-check path {
    stroke-dasharray: 28;
    stroke-dashoffset: 28;
    animation: huskical-check-draw 0.28s ease 0.04s forwards;
}

.huskical-timezone__picker,
.huskical-timezone__other {
    animation: huskical-reveal 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-main.is-soft-in {
    animation: huskical-soft-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-stage--forward > .huskical-pane--leave {
    animation: huskical-slide-out-left 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-stage--forward > .huskical-pane--enter {
    animation: huskical-slide-in-right 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-stage--back > .huskical-pane--leave {
    animation: huskical-slide-out-right 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.huskical-stage--back > .huskical-pane--enter {
    animation: huskical-slide-in-left 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes huskical-check-draw {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes huskical-reveal {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes huskical-soft-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes huskical-pick-in {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes huskical-slide-out-left {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(-24%);
    }
}

@keyframes huskical-slide-in-right {
    from {
        opacity: 0;
        transform: translateX(24%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes huskical-slide-out-right {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(24%);
    }
}

@keyframes huskical-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-24%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 720px) {
    .huskical-identity,
    .huskical-invitee {
        grid-template-columns: 1fr;
    }

    .huskical-invitee__remove {
        margin-bottom: 0;
    }
}

@media (max-width: 720px) {
    .huskical-app__frame {
        min-height: 0;
        max-height: none;
        height: auto;
        overflow: visible;
    }

    .huskical-shell {
        display: flex;
        flex-direction: column;
        grid-template-columns: 1fr;
        flex: none;
        min-height: 0;
        overflow: visible;
    }

    .huskical-stage {
        flex: none;
        overflow: visible;
    }

    .huskical-stage.is-animating {
        overflow: hidden;
    }

    .huskical-aside {
        flex: 0 0 auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
        border-radius: 18px 18px 0 0;
    }

    .huskical-app__frame.huskical-root--times {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .huskical-app__frame.huskical-root--times.huskical-root--busy {
        overflow: hidden;
    }

    .huskical-root--times .huskical-shell {
        flex: none;
        overflow: visible;
    }

    .huskical-sticky-head {
        overflow: visible;
        flex: 0 0 auto;
    }

    .huskical-root--times .huskical-sticky-head {
        position: sticky;
        top: var(--wp-admin--admin-bar--height, 0px);
        z-index: 5;
        overflow: hidden;
        background: #fff;
        border-radius: 18px 18px 0 0;
    }

    .huskical-root--times-short .huskical-sticky-head {
        position: static;
        top: auto;
        border-radius: 0;
    }

    .huskical-root--times .huskical-aside {
        position: static;
        top: auto;
        z-index: auto;
        overflow: hidden;
        flex: 0 0 auto;
        border-radius: 18px 18px 0 0;
    }

    .huskical-root--times .huskical-picker--times .huskical-picker__header,
    .huskical-root--times .huskical-sticky-head .huskical-picker__header {
        position: static;
        top: auto;
        z-index: auto;
        background: #fff;
    }

    .huskical-root--times .huskical-picker--times .huskical-picker__body {
        flex: none;
        overflow: visible;
        position: relative;
        z-index: 1;
    }

    .huskical-main,
    .huskical-main--picker {
        flex: none;
        min-height: 0;
        overflow: visible;
    }

    .huskical-picker {
        flex: none;
        min-height: 0;
    }

    .huskical-picker--dates .huskical-picker__header {
        position: static;
    }

    .huskical-picker--times .huskical-picker__body {
        overflow: visible;
        flex: none;
    }

    .huskical-picker__body {
        flex: none;
        min-height: 0;
        overflow: visible;
    }

    .huskical-powered {
        border-radius: 0 0 18px 18px;
    }

}

.huskical-app--fullscreen {
    max-width: none;
    width: 100%;
    margin: 0;
}

.huskical-app--fullscreen .huskical-app__frame {
    height: auto;
    max-height: none;
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
}

.huskical-app--fullscreen .huskical-shell,
.huskical-app--fullscreen .huskical-stage,
.huskical-app--fullscreen .huskical-sticky-head,
.huskical-app--fullscreen .huskical-aside,
.huskical-app--fullscreen .huskical-main,
.huskical-app--fullscreen .huskical-main--picker,
.huskical-app--fullscreen .huskical-picker,
.huskical-app--fullscreen .huskical-picker__body,
.huskical-app--fullscreen .huskical-picker--times .huskical-picker__body {
    flex: none;
    height: auto;
    max-height: none;
    min-height: auto;
    overflow: visible;
}

.huskical-app--fullscreen .huskical-stage.is-animating,
.huskical-app--fullscreen .huskical-app__frame.huskical-root--busy {
    overflow: hidden;
}

.huskical-app--fullscreen .huskical-aside,
.huskical-app--fullscreen .huskical-powered,
.huskical-app--fullscreen .huskical-root--times .huskical-sticky-head,
.huskical-app--fullscreen .huskical-root--times .huskical-aside {
    border-radius: 0;
}

body.huskical-booking-body {
    margin: 0;
    min-height: 100dvh;
    background: #fff;
}

body.huskical-booking-body > :not(.huskical-app):not(#wpadminbar) {
    display: none;
}

body.huskical-booking-body .huskical-app--fullscreen {
    min-height: 100dvh;
}

@media (min-width: 721px) {
    body.huskical-booking-body .huskical-app--fullscreen .huskical-app__frame {
        height: auto;
        min-height: 100dvh;
        max-height: none;
        overflow: visible;
    }

    body.admin-bar.huskical-booking-body .huskical-app--fullscreen .huskical-app__frame {
        height: auto;
        min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
        max-height: none;
        overflow: visible;
    }

    .huskical-app--fullscreen .huskical-shell {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    }

    body.huskical-booking-body .huskical-app--fullscreen .huskical-main {
        width: min(100%, 960px);
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
        align-self: center;
    }
}

@media (max-width: 720px) {
    body.huskical-booking-body .huskical-app--fullscreen .huskical-app__frame {
        height: auto;
        min-height: 100dvh;
        max-height: none;
        overflow: visible;
    }

    body.huskical-booking-body .huskical-app--fullscreen .huskical-app__frame.huskical-root--busy {
        overflow: hidden;
    }
}

@media (prefers-reduced-motion: reduce) {
    .huskical-app *,
    .huskical-app *::before,
    .huskical-app *::after {
        animation-duration: 0.01ms !important;
        animation-delay: 0s !important;
        transition-duration: 0.01ms !important;
    }
}
