.calendar{width:max-content;padding:var(--space-2);background:var(--color-secondary);gap:var(--space-2);color:var(--color-text-default);font-family:var(--font-sans);box-shadow:var(--shadow-md);border:1px solid var(--color-border-soft);flex-direction:column;display:flex}.calendar__header{justify-content:space-between;align-items:center;display:flex}.calendar__nav{width:var(--tap-min);height:var(--tap-min);color:var(--color-text-default);transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.calendar__nav:hover{background:var(--color-surface-alt)}.calendar__nav:disabled{opacity:.25;cursor:not-allowed;background:0 0}.calendar__nav:disabled:hover{background:0 0}.calendar__day:disabled{opacity:.2;cursor:not-allowed}.calendar__day:disabled:hover{background:0 0}.calendar__nav svg{width:12px;height:14px}.calendar__title{font-size:var(--text-headline);font-weight:var(--fw-medium);line-height:1}.calendar__weekdays{gap:var(--space-1);grid-template-columns:repeat(7,32px);display:grid}.calendar__weekday{height:20px;font-size:var(--text-caption-2);font-weight:var(--fw-medium);color:var(--color-text-tertiary);letter-spacing:.04em;justify-content:center;align-items:center;display:inline-flex}.calendar__grid{gap:var(--space-1);flex-direction:column;display:flex}.calendar__week{gap:var(--space-1);grid-template-columns:repeat(7,32px);display:grid}.calendar__day{width:32px;height:32px;min-height:32px;font-size:var(--text-footnote);color:var(--color-text-default);transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.calendar__day:not(.calendar__day--active):not([disabled]):hover{background:var(--color-surface-alt)}.calendar__day--active,.calendar__day--active:hover{background:var(--color-kic-yellow);color:var(--color-primary);font-weight:var(--fw-medium)}.calendar__day--today{color:var(--color-kic-yellow)}.calendar__day--outside{color:var(--color-text-tertiary)}.calendar__footer{padding-top:var(--space-1);border-top:1px solid var(--color-border-soft);margin-top:var(--space-1);justify-content:space-between;align-items:center;display:flex}.calendar__today-btn{appearance:none;padding:var(--space-1) var(--space-2);font-family:var(--font-sans);font-size:var(--text-footnote);font-weight:var(--fw-medium);color:var(--color-kic-yellow);cursor:pointer;transition:color var(--duration-base) var(--ease-out);background:0 0;border:0}.calendar__today-btn:disabled,.calendar__today-btn:disabled:hover{opacity:.3;cursor:not-allowed;color:var(--color-text-default)}.calendar__confirm-btn{appearance:none;background:var(--color-kic-yellow);width:32px;height:32px;min-height:32px;color:var(--color-primary);cursor:pointer;transition:opacity var(--duration-base) var(--ease-out);border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.calendar__confirm-btn:hover{opacity:.85}.calendar__confirm-btn svg{width:14px;height:14px}.calendar--dark{background:var(--color-primary);color:var(--color-secondary);border-color:#ffffff14;box-shadow:0 16px 40px #00000059}.calendar--dark .calendar__title{color:var(--color-secondary)}.calendar--dark .calendar__weekday{color:#ffffff8c}.calendar--dark .calendar__day{color:var(--color-secondary)}.calendar--dark .calendar__day--today{color:var(--color-kic-yellow)}.calendar--dark .calendar__day--outside{color:#ffffff4d}.calendar--dark .calendar__footer{border-top-color:#ffffff14}.calendar--dark .calendar__today-btn:disabled,.calendar--dark .calendar__today-btn:disabled:hover{color:var(--color-secondary)}.calendar--dark .calendar__day:not(.calendar__day--active):not([disabled]):hover{background:var(--color-dark-grey)}.calendar--dark .calendar__day--active,.calendar--dark .calendar__day--active:hover{background:var(--color-kic-yellow);color:var(--color-primary)}.calendar--dark .calendar__nav{color:var(--color-secondary)}.calendar--dark .calendar__nav:hover{background:var(--color-dark-grey);color:var(--color-kic-yellow)}
