.cancellations-main { max-width: 1280px; }
.cancellations-heading, .cancellations-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cancellations-heading { margin-bottom: 22px; }
.cancellations-heading h1 { margin: 0; font-size: 23px; }
.cancellations-toolbar { flex-wrap: wrap; justify-content: flex-start; padding-bottom: 18px; border-bottom: 1px solid #e1e7e4; }
.cancellations-toolbar label { display: flex; align-items: center; gap: 8px; color: #607168; font-size: 13px; }
.cancellations-toolbar select, .cancellations-toolbar input { padding: 9px 10px; border: 1px solid #d6e0d9; border-radius: 5px; background: #fff; color: #30453a; font: inherit; }
.cancellations-toolbar input { width: 220px; }
.cancellations-count { color: #738079; font-size: 13px; }
.cancellations-table { min-width: 760px; }
.cancellations-table th, .cancellations-table td { vertical-align: top; }
.cancellations-table td { overflow-wrap: anywhere; }
.cancellations-table small { display: block; margin-top: 5px; color: #87928b; font-size: 11px; }
.cancellation-reasons { white-space: pre-wrap; max-width: 340px; line-height: 1.7; }
.cancellation-state { display: inline-block; padding: 4px 7px; border-radius: 4px; background: #fff2d7; color: #92631a; white-space: nowrap; font-size: 12px; }
.cancellation-state.approved { background: #e9f5e8; color: #39713e; }
.cancellation-state.rejected { background: #f1f2f4; color: #657069; }
.cancellation-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.cancellation-tools .btn, .cancellations-heading .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 5px; }
.cancellation-tools svg, .cancellations-heading svg { width: 16px; height: 16px; }
.cancellations-empty { padding: 40px !important; color: #87948c; text-align: center; }
.cancellations-status { min-height: 22px; color: #ad3946; font-size: 13px; }
.cancellation-dialog { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100% - 28px)); max-height: calc(100dvh - 32px); padding: 24px; box-sizing: border-box; overflow: auto; border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; color: #263d2f; box-shadow: 0 16px 60px #20332630; font: inherit; }
.cancellation-dialog::backdrop { background: #1a252160; }
.cancellation-dialog header, .cancellation-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cancellation-dialog h2 { margin: 0; font-size: 20px; }
.cancellation-close { display: inline-grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; padding: 0; border: 1px solid #dce4de; border-radius: 5px; background: #fff; color: #617367; cursor: pointer; }
.cancellation-close svg { width: 17px; height: 17px; }
.cancellation-target { margin: 14px 0; color: #6f7f75; overflow-wrap: anywhere; }
.cancellation-warning { padding: 12px; border-left: 3px solid #c56b4c; background: #fff4ed; color: #914634; font-size: 13px; line-height: 1.7; }
.cancellation-dialog label { display: grid; gap: 9px; margin-top: 18px; font-size: 13px; }
.cancellation-dialog textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 112px; padding: 12px; border: 1px solid #d3ded7; border-radius: 5px; color: #2d4436; background: #fff; font: inherit; }
.cancellation-original { padding-top: 12px; border-top: 1px solid #e3e9e5; font-size: 13px; }
.cancellation-original p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.cancellation-error { min-height: 20px; color: #b33f4d; font-size: 13px; }
.cancellation-dialog footer { justify-content: flex-end; padding-top: 16px; border-top: 1px solid #e4e9e6; }
.cancellation-dialog footer .btn { min-height: 44px; padding-inline: 18px; border-radius: 5px; }
@media (max-width: 700px) { .cancellations-heading { align-items: flex-start; flex-direction: column; } .cancellations-toolbar { align-items: stretch; flex-direction: column; } .cancellations-toolbar input { flex: 1; min-width: 0; } .cancellation-dialog { padding: 18px; } }
