.layout-topnav-modern .rb-cancellation { max-width: 980px; box-sizing: border-box; }
.layout-topnav-modern .rb-cancellation-shell { max-width: 820px; margin-inline: auto; }
.layout-topnav-modern .rb-cancellation-header { margin-bottom: 32px; }
.layout-topnav-modern .rb-cancellation-header h1 { margin: 14px 0 12px; color: var(--rb-text); font-size: clamp(2rem, 5vw, 3rem); line-height: 1.08; letter-spacing: -.045em; }
.layout-topnav-modern .rb-cancellation-header > p:last-child { max-width: 680px; margin: 0; color: var(--rb-muted); line-height: 1.65; }
.layout-topnav-modern .rb-cancellation-card { padding: clamp(22px, 4vw, 40px); border: 1px solid var(--rb-border); border-radius: var(--rb-radius-lg); background: var(--rb-surface); box-shadow: 0 12px 40px rgba(0,0,0,.035); }
.layout-topnav-modern .rb-cancellation-section + .rb-cancellation-section { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--rb-border); }
.layout-topnav-modern .rb-cancellation-section h2,
.layout-topnav-modern .rb-cancellation-success h2 { margin: 0 0 18px; color: var(--rb-text); font-size: 1.2rem; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: anywhere; }
.layout-topnav-modern .rb-cancellation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.layout-topnav-modern .rb-cancellation-field { min-width: 0; margin-top: 14px; }
.layout-topnav-modern .rb-cancellation-grid .rb-cancellation-field { margin-top: 0; }
.layout-topnav-modern .rb-cancellation-field > label,
.layout-topnav-modern .rb-cancellation-options legend { display: block; margin-bottom: 8px; color: var(--rb-text); font-size: .92rem; font-weight: 600; }
.layout-topnav-modern .rb-cancellation-field input,
.layout-topnav-modern .rb-cancellation-field select,
.layout-topnav-modern .rb-cancellation-field textarea { display: block; width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--rb-border); border-radius: 9px; background: var(--rb-bg); color: var(--rb-text); font: inherit; line-height: 1.35; }
.layout-topnav-modern .rb-cancellation-field textarea { resize: vertical; min-height: 100px; }
.layout-topnav-modern .rb-cancellation-field :is(input,select,textarea):focus-visible,
.layout-topnav-modern .rb-cancellation-options input:focus-visible,
.layout-topnav-modern .rb-cancellation :is(button,a):focus-visible { outline: 2px solid var(--rb-text); outline-offset: 2px; }
.layout-topnav-modern .rb-cancellation-field [aria-invalid="true"] { border-color: #bc3b38; }
.layout-topnav-modern .rb-cancellation-options { min-width: 0; margin: 20px 0 0; padding: 0; border: 0; }
.layout-topnav-modern .rb-cancellation-options label { display: flex; align-items: flex-start; gap: 10px; width: fit-content; margin: 10px 0; color: var(--rb-text); line-height: 1.4; cursor: pointer; }
.layout-topnav-modern .rb-cancellation-options input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--rb-text); flex: none; }
.layout-topnav-modern .rb-cancellation-hint,
.layout-topnav-modern .rb-cancellation-notice { margin: 11px 0 0; color: var(--rb-muted); font-size: .88rem; line-height: 1.55; }
.layout-topnav-modern .rb-cancellation-notice { margin: 28px 0 18px; }
.layout-topnav-modern .rb-cancellation-error { margin: 7px 0 0; color: #a52724; font-size: .85rem; line-height: 1.4; }
.layout-topnav-modern .rb-cancellation-alert { margin: 0 0 24px; padding: 13px 15px; border: 1px solid #e4b2af; border-radius: 9px; background: #fff2f0; color: #8a2420; line-height: 1.5; }
.layout-topnav-modern .rb-cancellation-submit,
.layout-topnav-modern .rb-cancellation-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 20px; border: 1px solid var(--rb-text); border-radius: 9px; background: var(--rb-text); color: var(--rb-bg); font: inherit; font-weight: 700; line-height: 1.3; cursor: pointer; }
.layout-topnav-modern .rb-cancellation-secondary { background: transparent; color: var(--rb-text); }
.layout-topnav-modern .rb-cancellation-submit:hover { opacity: .85; }
.layout-topnav-modern .rb-cancellation-secondary:hover { background: var(--rb-surface-soft); }
.layout-topnav-modern .rb-cancellation-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.layout-topnav-modern .rb-cancellation [hidden] { display: none !important; }
.layout-topnav-modern .rb-cancellation-success { border-color: var(--rb-border); }
.layout-topnav-modern .rb-cancellation-status-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 15px; border-radius: 50%; background: var(--rb-surface-soft); color: var(--rb-text); font-size: 23px; }
.layout-topnav-modern .rb-cancellation-success p { color: var(--rb-muted); line-height: 1.55; }
.layout-topnav-modern .rb-cancellation-success strong { color: var(--rb-text); }
.layout-topnav-modern .rb-cancellation-receipt { margin: 22px 0; padding: 16px; overflow-x: auto; border: 1px solid var(--rb-border); border-radius: 9px; background: var(--rb-bg); }
.layout-topnav-modern .rb-cancellation-receipt pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--rb-text); font: 13px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
@media (max-width: 640px) {
  .layout-topnav-modern .rb-cancellation { padding-inline: 20px; }
  .layout-topnav-modern .rb-cancellation-grid { grid-template-columns: 1fr; gap: 14px; }
  .layout-topnav-modern .rb-cancellation-submit,
  .layout-topnav-modern .rb-cancellation-secondary { width: 100%; }
}
