.idi-reservation-confirmation { display: flex; align-items: flex-start; gap: .8rem; margin: 1rem 0; padding: 1rem; border: 1px solid #dce4ef; border-left: 4px solid #0c1c31; border-radius: 14px; color: #0c1c31; background: #fff; min-width: 0; overflow-wrap: anywhere; }
.idi-reservation-confirmation-symbol { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #0c1c31; background: #eef2f7; font-size: 1.15rem; font-weight: 700; }
.idi-reservation-confirmation-content { flex: 1 1 auto; min-width: 0; }
.idi-reservation-confirmation-content h3 { font-size: 1rem; font-weight: 700; line-height: 1.4; margin: 0 0 .35rem; color: #0c1c31; }
.idi-reservation-confirmation-content p { font-size: .9rem; line-height: 1.5; margin: 0 0 .4rem; }
.idi-reservation-confirmation-note { display: block; color: #57687e; font-size: .82rem; line-height: 1.5; }
.idi-reservation-confirmation-date { display: block; font-weight: 600; font-size: .9rem; line-height: 1.5; margin: .3rem 0 .5rem; }
.idi-reservation-confirmation-date span { color: #57687e; font-size: .8rem; font-weight: 400; }
.idi-reservation-confirmed { border-left-color: #91ca22; background: #f5faeb; }
.idi-reservation-confirmed .idi-reservation-confirmation-symbol { background: #bbfa3c; }
.idi-reservation-needs_review { border-left-color: #2864a8; background: #f1f6fc; }
.idi-reservation-needs_review .idi-reservation-confirmation-symbol { background: #dfebfa; }
.idi-reservation-unrecorded, .idi-reservation-cancelled { border-left-color: #8897a8; background: #f7f9fc; }
.idi-reservation-confirmation-action { flex: 0 1 auto; min-width: 0; min-height: 44px; font-size: .9rem; white-space: normal; text-align: center; align-self: center; }
.idi-reservation-compact { padding: .65rem .75rem; gap: .6rem; margin: .5rem 0; border-radius: 10px; }
.idi-reservation-compact .idi-reservation-confirmation-symbol { flex-basis: 28px; width: 28px; height: 28px; font-size: 1rem; }
.idi-reservation-compact .idi-reservation-confirmation-content h3 { font-size: .88rem; margin-bottom: 0; }
.idi-reservation-compact .idi-reservation-confirmation-date { font-size: .8rem; margin: .25rem 0 0; }
.idi-reservation-compact .idi-reservation-confirmation-date span { font-size: .75rem; }
.idi-reservation-confirmation-form-summary { display: grid; gap: .55rem; min-width: 0; padding: 1rem; margin: 1rem 0; border: 1px solid #dce4ef; border-radius: 14px; color: #0c1c31; background: #f5f8fc; overflow-wrap: anywhere; line-height: 1.5; }
.idi-reservation-confirmation-form-summary > strong, .idi-reservation-confirmation-form-summary time { display: block; font-weight: 700; }
.idi-reservation-confirmation-form-summary p { margin: 0; }
.idi-reservation-confirmation-form-summary dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .4rem .7rem; margin: 0; }
.idi-reservation-confirmation-form-summary dt, .idi-reservation-confirmation-form-summary dd { min-width: 0; margin: 0; }
.idi-reservation-confirmation-consent { display: flex; align-items: flex-start; gap: .7rem; box-sizing: border-box; min-height: 44px; min-width: 0; margin: 1rem 0; padding: .8rem; border: 1px solid #dce4ef; border-radius: 12px; background: #fff; cursor: pointer; color: #0c1c31; line-height: 1.5; overflow-wrap: anywhere; }
.idi-reservation-confirmation-consent input[type=checkbox] { flex: 0 0 24px; width: 24px; min-width: 24px; height: 24px; min-height: 24px; margin: .12rem 0 0; accent-color: #0c1c31; }
.idi-reservation-confirmation-consent span { flex: 1 1 auto; min-width: 0; }
.idi-reservation-confirmation-consent:focus-within { outline: 3px solid #2864a8; outline-offset: 2px; }
@media (max-width: 700px) {
  .idi-reservation-confirmation { flex-wrap: wrap; gap: .6rem; padding: .9rem; }
  .idi-reservation-confirmation-content { flex-basis: calc(100% - 45px); }
  .idi-reservation-confirmation-action { width: 100%; flex-basis: 100%; margin-top: .35rem; }
  .idi-reservation-compact { padding: .65rem .75rem; }
  .idi-reservation-compact .idi-reservation-confirmation-content { flex-basis: calc(100% - 39px); }
  .idi-reservation-confirmation-form-summary { padding: .85rem; }
  .idi-reservation-confirmation-form-summary dl { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .idi-reservation-confirmation-form-summary dd { margin-bottom: .45rem; }
}
