.kcm-subscription { font: inherit; color: inherit; background: transparent; }
.kcm-subscription [hidden] { display: none !important; }
.kcm-subscription label { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; margin: .6em 0; }
.kcm-subscription select, .kcm-subscription input[type="url"] { font: inherit; color: inherit; max-width: 100%; padding: .5em; border: 1px solid currentColor; border-radius: .25em; background: transparent; }
.kcm-subscription input[type="url"] { width: 100%; }
.kcm-subscription-actions { display: flex; flex-wrap: wrap; gap: .75em; align-items: center; margin: 1em 0; }
.kcm-subscription .kcm-subscription-actions a, .kcm-subscription button { display: inline-flex; align-items: center; min-height: 44px; padding: .5em .8em; border: 1px solid currentColor; border-radius: .25em; color: inherit; background: transparent; font: inherit; cursor: pointer; text-decoration: none; }
.kcm-subscription [aria-disabled="true"], .kcm-subscription button:disabled { opacity: .5; cursor: default; }
.kcm-subscription summary { cursor: pointer; }
.kcm-subscription :is(a,button,select,input,summary):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.kcm-event-download { display: block; font-size: .8em; margin-top: .35em; }

.kcm-subscription-calendars { border: 0; padding: 0; margin: 0; min-width: 0; }
.kcm-subscription-calendars legend { font: inherit; color: inherit; padding: 0; margin-bottom: .5em; }
.kcm-subscription-choice input { flex-shrink: 0; accent-color: currentColor; }
.kcm-subscription-choice:has(input:disabled) { opacity: .6; }
.kcm-subscription-calendar-title { margin: .5em 0; }

.kcm-subscription-dialog { position: fixed; inset: 0; margin: auto; box-sizing: border-box; width: min(620px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.5rem; border: 1px solid currentColor; border-radius: .75rem; background: #fff; color: inherit; font: inherit; }
.kcm-subscription-dialog:not([open]) { display: none; }
.kcm-subscription-dialog::backdrop { background: rgb(0 0 0 / .5); }
.kcm-subscription-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.kcm-subscription-dialog h3 { font: inherit; font-size: 1.25em; font-weight: 700; color: inherit; margin: 0; }
.kcm-subscription-dialog .kcm-subscription-actions { align-items: stretch; }
.kcm-subscription-dialog input { min-width: 0; box-sizing: border-box; }
@media (max-width: 480px) {
 .kcm-subscription-dialog { padding: 1rem; }
 .kcm-subscription-dialog .kcm-subscription-actions > * { width: 100%; box-sizing: border-box; justify-content: center; }
}
