.cancellation-modal-content, .cancellation-modal .cancellation-content { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.cancellation-modal .modal-title { outline: none; }
.cancellation-form { flex: 1; min-height: 0; }
.cancellation-fields { display: grid; gap: 20px; }
.cancellation-fields > p { margin: 0; }
.cancellation-actions .modal-primary-action { width: 100%; }
.cancellation-form #cancellation-kind-dropdown { position: fixed; right: auto; max-height: calc(100dvh - 32px); box-sizing: border-box; }
.cancellation-form .support-contact-message-label { display: grid; gap: 8px; margin: 0; }
.cancellation-form .currency-selector { display: grid; gap: 8px; }
.cancellation-form input[readonly] { cursor: pointer; }
.cancellation-reference { display: flex; align-items: center; }
.cancellation-reference > span { flex-shrink: 0; font-weight: 400; }
.cancellation-form .cancellation-reference input { min-width: 0; height: auto; padding: 0; border: 0; background: transparent; outline: none !important; }
.cancellation-form small { color: #666; line-height: 1.5; }
.cancellation-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.cancellation-content .cancellation-error { color: #b42318; }
.cancellation-summary { margin: 28px 0; }
.cancellation-summary > div { display: grid; grid-template-columns: minmax(130px, 1fr) 2fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e5e5e5; }
.cancellation-summary dt { color: #666; }
.cancellation-summary dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 540px) { .cancellation-summary > div { grid-template-columns: 1fr; gap: 6px; } }

.cancellation-date-field { position: relative; display: grid; gap: 8px; }
.cancellation-date-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; cursor: pointer; }
.cancellation-date-trigger svg { width: 20px; height: 20px; flex-shrink: 0; stroke: currentColor; stroke-width: 1.5; }
.cancellation-calendar.coin-dropdown { position: fixed; top: auto; left: auto; right: auto; width: min(100%, 340px); max-height: calc(100dvh - 32px); box-sizing: border-box; padding: 16px; z-index: 20; }
.cancellation-calendar-header { display: grid; grid-template-columns: 36px 1fr 36px; align-items: center; margin-bottom: 12px; text-align: center; }
.cancellation-calendar button { border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.cancellation-calendar-header button { height: 36px; display: inline-flex; align-items: center; justify-content: center; }
.cancellation-calendar-weekdays, .cancellation-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.cancellation-calendar-weekdays { margin-bottom: 8px; color: var(--color-text-secondary); font-size: 0.75rem; }
.cancellation-calendar-days button { min-width: 0; height: 36px; padding: 0; font-size: 0.9rem; }
.cancellation-calendar button:hover, .cancellation-calendar button:focus-visible { background: var(--color-light); }
.cancellation-calendar button[aria-pressed="true"] { background: var(--color-dark); color: var(--color-white); }
.cancellation-calendar button[aria-current="date"] { box-shadow: inset 0 0 0 1px var(--color-border); }
.cancellation-calendar .cancellation-calendar-clear { width: 100%; margin-top: 12px; padding: 10px; color: var(--color-text-secondary); font-size: 0.85rem; }
@media (max-width: 540px) { .cancellation-fields { gap: 18px; } }
