.ticket-workspace{overflow:hidden;border:1px solid #dce6f0;border-radius:4px;background:#fff}.ticket-workspace-bar{min-height:44px;display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid #e3ebf3;background:#f8fbfe;font-size:12px;color:#7b91a7}.ticket-service{color:#b87635}.ticket-service:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:7px}.ticket-service.online{color:#579b7c}.ticket-workspace-tools{margin-left:auto;display:flex;gap:8px}.ticket-workspace-tools a{text-decoration:none}#ticketWorkbench{display:block;border:0;width:100%;height:calc(100vh - 245px);min-height:560px;background:#fff}@media(max-width:800px){.ticket-workspace-bar{flex-wrap:wrap;gap:8px}.ticket-shared{display:none}#ticketWorkbench{min-height:600px;height:calc(100vh - 230px)}}
.ticket-native{overflow:hidden}.ticket-native-tabs{display:flex;gap:22px;align-items:center;padding:0 16px;border-bottom:1px solid #dce6f0;background:#f8fbfe}.ticket-native-tabs button{padding:13px 0;background:none;border:0;color:#7290ad;border-bottom:2px solid transparent;font-size:13px;cursor:pointer}.ticket-native-tabs button.active{color:#4688c1;border-color:#78a5d9}.ticket-native-tabs span{margin-left:auto;font-size:12px;color:#8199ad}.ticket-native-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px}.ticket-native-filter label{display:flex;flex-direction:row;gap:7px;align-items:center;font-size:12px}.ticket-native-filter input,.ticket-native-filter select{height:30px;padding:4px 8px;font-size:12px}.ticket-native-filter input[type=date]{width:140px}.ticket-native-filter input[name=q]{width:205px}.ticket-native-summary{display:flex;gap:22px;padding:0 16px 12px;font-size:12px;color:#7c92a6}.ticket-native-summary strong{color:#567c9e;margin-left:4px;font-weight:500}.ticket-native-summary small{margin-left:auto}.ticket-native table{font-size:12px;min-width:1250px}.ticket-native th,.ticket-native td{padding:8px 10px;height:40px}.ticket-native .table-wrap{border-left:0;border-right:0}.ticket-source{max-width:190px}.ticket-source button{padding:0}.ticket-source small{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;margin-top:4px;color:#8b9eae}.ticket-scenic{max-width:205px;overflow:hidden;text-overflow:ellipsis}.ticket-row-state{min-width:140px;max-width:220px}.ticket-row-state small{display:block;font-size:11px;margin-top:4px;color:#90a0b1;max-width:220px;overflow:hidden;text-overflow:ellipsis}.ticket-state{display:inline-block;padding:3px 7px;font-size:11px;border-radius:3px;background:#f2f5f9;color:#8595a7}.ticket-state.ready{background:#eaf5ee;color:#579578}.ticket-state.booked{background:#edf4fc;color:#5d8fbe}.ticket-state.attention{background:#fcf4e9;color:#ad8547}.ticket-native .ticket-right{position:sticky;right:0;text-align:right;background:#fff;box-shadow:-2px 0 4px #d7e1eb55;min-width:110px;z-index:1}.ticket-native th.ticket-right{background:#edf3fa}.ticket-native-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#8397aa;font-size:12px}.ticket-native-footer>div{display:flex;gap:12px;align-items:center}.ticket-native-note{padding:0 16px 14px;margin:0;color:#91a2b3;font-size:12px;line-height:1.7}.ticket-dialog{padding:16px}.ticket-dialog-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;color:#8297ab}.ticket-dialog-summary strong{font-size:16px;color:#4d718f}.ticket-dialog-summary span{font-size:12px}.ticket-dialog .table-wrap{max-height:330px}.ticket-dialog table{font-size:12px}.ticket-dialog td,.ticket-dialog th{padding:9px}.ticket-dialog .hint{padding:10px 0}.ticket-dialog .dialog-foot{margin:16px -16px -16px}.ticket-warning{padding:10px;background:#fff7eb;color:#aa7a36;font-size:12px;line-height:1.7}.ticket-frame-tools{display:flex;gap:8px;justify-content:flex-end;padding:10px;background:#f5f9fd}.ticket-frame-tools a{text-decoration:none}.ticket-detail-frame{border:0;width:100%;height:70vh;min-height:460px;display:block}@media(max-width:800px){.ticket-native-tabs{gap:13px}.ticket-native-tabs span{display:none}.ticket-native-summary{gap:12px;flex-wrap:wrap}.ticket-native-summary small{width:100%;margin:0}.ticket-native-filter input[name=q]{width:180px}}

.ticket-date-end{display:block;margin-top:5px;color:#8a9daf;font-size:11px}.ticket-groups .ticket-source{max-width:235px}.ticket-journey-scenics{max-width:250px;min-width:160px}.ticket-guest-choices{display:flex;flex-wrap:wrap;gap:8px 16px}.ticket-guest-choices label{display:flex;align-items:center;gap:5px;font-size:12px}.ticket-guest-details{margin-top:16px}.ticket-guest-details summary{cursor:pointer;color:#668aa8;padding:8px 0}.ticket-groups .ticket-right{min-width:185px}

.ticket-pay-dialog{padding:20px}.ticket-pay-heading{display:flex;justify-content:space-between;gap:16px;color:#537996}.ticket-pay-heading span{font-size:12px;color:#8a9daf}.ticket-pay-codes{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;max-height:55vh;overflow:auto}.ticket-pay-card{border:1px solid #e1eaf2;border-radius:6px;padding:16px;text-align:center;width:265px;background:#fff}.ticket-pay-card h3{font-size:14px;color:#577d9d;margin:0 0 8px}.ticket-pay-amount{display:block;font-size:22px;color:#426f96;margin-bottom:10px}.ticket-pay-card img{display:block;width:220px;height:220px;object-fit:contain;margin:auto}.ticket-pay-card p,.ticket-pay-card small{display:block;color:#8a9daf;font-size:12px;margin:8px 0}.ticket-pay-placeholder{height:150px;display:grid;place-items:center;background:#f7fafc;color:#8199ad;font-size:13px;padding:10px}.ticket-pay-notices{border-top:1px solid #e6edf4;margin-top:18px;padding-top:8px}.ticket-pay-notices>div{display:flex;align-items:center;gap:16px;padding:6px 0;color:#6d88a0;font-size:12px}.ticket-pay-notices small{margin-left:auto;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9a8b73}.ticket-pay-dialog>.dialog-foot{margin:18px -20px -20px}.ticket-pay-dialog>.dialog-foot>.hint{margin-right:auto;font-size:12px}@media(max-width:650px){.ticket-pay-heading{flex-direction:column}.ticket-pay-notices>div{align-items:flex-start;flex-direction:column;gap:5px}.ticket-pay-notices small{max-width:100%;margin:0}.ticket-pay-dialog>.dialog-foot{flex-wrap:wrap}}

.ticket-pay-codes{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;align-items:flex-start;padding-bottom:10px;scroll-snap-type:x proximity}.ticket-pay-card{flex:0 0 265px;scroll-snap-align:start}.ticket-pay-card h3{min-height:20px;line-height:1.5;overflow-wrap:anywhere}

/* Group tickets use explicit two-line cells; the shared compact adapter preserves them. */
#app #main .ticket-groups .ticket-group-table{width:100%;min-width:1180px!important;table-layout:fixed!important;border-collapse:collapse;font-size:12px;white-space:normal}
#app #main .ticket-groups table.ticket-group-table th,#app #main .ticket-groups table.ticket-group-table td{box-sizing:border-box;min-width:0;max-width:none;padding:8px 10px;vertical-align:middle;text-align:center;line-height:18px;white-space:normal;overflow-wrap:normal}
#app #main .ticket-groups table.ticket-group-table th{height:34px;padding-top:7px;padding-bottom:7px;background:#edf3fa;color:#54789c;font-weight:400;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table td{height:60px;border-bottom:1px solid #e7eef5}
#app #main .ticket-groups table.ticket-group-table tbody tr:nth-child(even){background:#f8fbfe}
#app #main .ticket-groups table.ticket-group-table tbody tr:hover{background:#f0f6fc}
#app #main .ticket-groups table.ticket-group-table :is(.ticket-source,.ticket-journey-scenics,.ticket-platforms,.ticket-row-state){text-align:left!important}
#app #main .ticket-groups table.ticket-group-table th:nth-child(2),#app #main .ticket-groups table.ticket-group-table th:nth-child(6),#app #main .ticket-groups table.ticket-group-table th:nth-child(7),#app #main .ticket-groups table.ticket-group-table th:nth-child(8){text-align:left!important}
#app #main .ticket-groups table.ticket-group-table .ticket-source .link{display:block;max-width:100%;padding:0;margin:0;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
#app #main .ticket-groups table.ticket-group-table .ticket-source small,#app #main .ticket-groups table.ticket-group-table .ticket-row-state small{display:block;max-width:100%;margin-top:4px;line-height:18px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8195a9}
#app #main .ticket-groups table.ticket-group-table .ticket-date-end{display:block;margin-top:4px;font-size:12px;line-height:18px;white-space:nowrap;color:#8195a9}
#app #main .ticket-groups table.ticket-group-table .ticket-dates,#app #main .ticket-groups table.ticket-group-table .ticket-counts{font-variant-numeric:tabular-nums;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table .ticket-cell-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:36px;overflow:hidden;line-height:18px;overflow-wrap:anywhere}
#app #main .ticket-groups table.ticket-group-table .ticket-state{padding:1px 7px;line-height:18px;font-size:11px;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table .ticket-right{position:sticky;right:0;min-width:0;box-shadow:-1px 0 0 #e7eef5;text-align:center;background:#fff;z-index:1}
#app #main .ticket-groups table.ticket-group-table th.ticket-right{background:#edf3fa}
#app #main .ticket-groups table.ticket-group-table tbody tr:nth-child(even) .ticket-right{background:#f8fbfe}
#app #main .ticket-groups table.ticket-group-table tbody tr:hover .ticket-right{background:#f0f6fc}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions .link{padding:0;line-height:30px;font-size:12px;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions .btn{height:30px;min-width:44px;padding:0 8px;font-size:12px;line-height:28px;white-space:nowrap}
#app #main .ticket-groups table.ticket-group-table td.empty{height:120px;text-align:center}
#app #main .ticket-groups>.table-wrap{overflow-x:auto}

/* Selected ticket checkout */
.ticket-pay-dialog input[type=checkbox],.ticket-refund-dialog input[type=checkbox]{width:16px;height:16px;vertical-align:middle}.ticket-pay-dialog td small,.ticket-refund-dialog td small{display:block;color:#8195a9;margin-top:4px}.ticket-refund-dialog textarea{display:block;width:100%;margin-top:6px}.ticket-pay-card .btn{margin-top:8px}.ticket-pay-dialog .dialog-foot{gap:12px;align-items:center}

/* Refund attention: persistent action and separate modal. */
.ticket-refund-alert{width:min(600px,94vw);max-height:85vh;overflow:auto;padding:0;border:1px solid #dbe4ed;border-radius:6px;background:white;color:#334c66}.ticket-refund-alert section{padding:8px 20px;border-bottom:1px solid #e5edf4;overflow-wrap:anywhere}.ticket-refund-alert>p{padding:0 20px}.ticket-refund-alert .form-error{line-height:1.7;white-space:normal}.ticket-refund-alert .dialog-foot{position:sticky;bottom:0;background:white}.ticket-refund-attention{position:fixed;bottom:22px;right:24px;z-index:1100;border-color:#d79772;background:#fff3e9;color:#a54c27;box-shadow:0 3px 14px #233d5822}.ticket-refund-attention[hidden]{display:none}

/* Dedicated ticket dialogs keep the OA group list in place. */
dialog.ticket-workbench-dialog{width:1120px;max-width:calc(100vw - 32px);overflow:hidden}
.ticket-workbench-dialog .ticket-frame-tools{align-items:center;padding:10px 16px;min-height:48px}
.ticket-workbench-dialog .ticket-frame-tools>span{margin-right:auto;font-size:12px;color:#7b91a5}
.ticket-workbench-dialog .ticket-frame-status{padding:12px 16px;background:#f5f9fd;color:#738ba2;font-size:12px}
.ticket-workbench-dialog .ticket-frame-status[hidden]{display:none}
.ticket-workbench-dialog .ticket-frame-status button{margin-left:12px}
.ticket-workbench-dialog .ticket-detail-frame{height:min(72vh,760px);min-height:280px}
@media(max-width:600px){dialog.ticket-workbench-dialog{max-width:calc(100vw - 16px)}.ticket-workbench-dialog .ticket-frame-tools{padding:8px 12px}.ticket-workbench-dialog .ticket-detail-frame{height:70vh}}

/* Ticket workspaces use the OA content area and keep its navigation visible. */
.ticket-page{padding:0;min-width:0;overflow:hidden;min-height:calc(100vh - 170px)}
/* Ordering stays above the original group list, with its own scrolling area. */
:is(#ticketOrderModal,.ticket-payment-modal){width:min(1100px,calc(100vw - 40px));max-width:calc(100vw - 24px);max-height:90vh;max-height:90dvh;padding:0;border:1px solid #dce6f0;border-radius:10px;background:#fff;box-shadow:0 20px 70px #122b4b40;overflow:hidden}
:is(#ticketOrderModal,.ticket-payment-modal)::backdrop{background:rgba(22,39,60,.42)}
:is(#ticketOrderModal,.ticket-payment-modal)>.ticket-page{display:flex;flex-direction:column;margin:0;border:0;border-radius:0;min-height:0;max-height:90vh;max-height:90dvh}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-head{flex:none;height:auto;min-height:78px;padding:18px 24px;background:linear-gradient(120deg,#f3f8ff,#fff);border-bottom:1px solid #e5edf6}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-head small{display:block;font-size:12px;color:#7f96af;letter-spacing:1px;margin-bottom:5px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-head h2{margin:0;font-size:20px;font-weight:600;color:#254b73}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-modal-close{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:1px solid #dfe8f2;border-radius:8px;background:#fff;color:#6f87a0;font-size:23px;line-height:1;cursor:pointer}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-modal-close:hover{background:#edf4fc;color:#285d92}
:is(#ticketOrderModal,.ticket-payment-modal) button:focus-visible,:is(#ticketOrderModal,.ticket-payment-modal) input:focus-visible{outline:2px solid #468bcd;outline-offset:3px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 20px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-body>.ticket-pay-dialog>.dialog-foot,:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-body>.ticket-dialog>.dialog-foot{margin:18px 0 0;padding:14px 0 4px;bottom:0}
:is(#ticketOrderModal,.ticket-payment-modal) .table-wrap{max-width:100%;overflow:auto}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-codes{max-height:none;overflow:visible}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-heading{align-items:center;background:#f5f8fc;border:1px solid #e6edf5;border-radius:8px;padding:14px 16px;gap:10px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-heading strong{font-size:15px;color:#355c82;overflow-wrap:anywhere}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-dialog>.hint{font-size:13px;line-height:1.7;color:#7a8ea3;margin:12px 0 16px}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketSelectMessage:empty{display:none}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices>.table-wrap{border:1px solid #e2eaf3;border-radius:8px}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices table{width:100%;border-collapse:collapse;font-size:13px}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices th{background:#f2f6fb;color:#68829d;font-size:12px;font-weight:500;white-space:nowrap}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices th,:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices td{padding:13px 16px;border:0;border-bottom:1px solid #edf1f6;text-align:left}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices tr:last-child td{border-bottom:0}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices tbody tr:hover{background:#f8fbff}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices th:first-child,:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices td:first-child{width:50px;text-align:center}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices td:nth-child(3){font-weight:600;color:#355d84;white-space:nowrap;font-variant-numeric:tabular-nums}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices input[type=checkbox]{width:16px;height:16px;accent-color:#548dcc;cursor:pointer}
:is(#ticketOrderModal,.ticket-payment-modal) .dialog-foot{display:flex;align-items:center;gap:10px;background:#fff}
:is(#ticketOrderModal,.ticket-payment-modal) #ticketSelectTotal{margin-right:auto;font-size:14px;color:#355d84}
:is(#ticketOrderModal,.ticket-payment-modal) .dialog-foot .btn{border-radius:6px;min-height:34px;padding:6px 16px}
:is(#ticketOrderModal,.ticket-payment-modal) .dialog-foot .btn.primary{background:#598fce;border-color:#598fce;color:#fff}
:is(#ticketOrderModal,.ticket-payment-modal) .dialog-foot .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){:is(#ticketOrderModal,.ticket-payment-modal){width:calc(100vw - 20px)}:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-head,:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-body{padding:12px}:is(#ticketOrderModal,.ticket-payment-modal) .ticket-page-head h2{font-size:16px}:is(#ticketOrderModal,.ticket-payment-modal) #ticketPayChoices table{min-width:600px}:is(#ticketOrderModal,.ticket-payment-modal) .dialog-foot{flex-wrap:wrap}:is(#ticketOrderModal,.ticket-payment-modal) #ticketSelectTotal{flex:1 0 100%}:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-heading{align-items:flex-start;text-align:left}}
.ticket-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e3eaf3;background:#f7faff}
.ticket-page-head small{color:#71839b;font-size:12px}.ticket-page-head h2{margin:4px 0 0;font-size:18px;color:#344d70}
.ticket-page-body{padding:20px 22px}.ticket-page-body .ticket-dialog,.ticket-page-body .ticket-pay-dialog,.ticket-page-body .ticket-refund-dialog{max-height:none;overflow:visible;padding:0}
.ticket-page-body .dialog-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid #e3eaf3;padding:16px 0;margin-top:20px;z-index:2;flex-wrap:wrap}
.ticket-page-body table small{display:block;color:#8291a6;font-size:12px;margin-top:5px}
.ticket-page-body .ticket-detail-frame{display:block;width:100%;height:calc(100vh - 290px);min-height:520px;border:0;background:#fff}
.ticket-page-body .ticket-frame-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#71839b}
.ticket-page-body .ticket-pay-codes{padding-bottom:14px;gap:20px}.ticket-page-body .ticket-pay-card{flex:0 0 250px}
.ticket-page-body .ticket-refund-dialog textarea{width:100%;max-width:660px;display:block;margin-top:8px}
.ticket-page-body .ticket-pay-notices{margin-top:18px}.ticket-page-body .ticket-pay-notices>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#f7f9fc}
@media(max-width:700px){.ticket-page-head,.ticket-page-body{padding:14px}.ticket-page-head h2{font-size:16px}.ticket-page-body .ticket-detail-frame{min-height:480px}.ticket-page-head{align-items:flex-start}}

.ticket-scenic-select{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-scenic-select .btn{white-space:nowrap;flex-shrink:0;font-size:12px;padding:4px 10px}

.ticket-refund-primary{background:#d94c4c!important;border-color:#d94c4c!important;color:#fff!important}.ticket-refund-primary:hover{background:#c23c3c!important}
.ticket-page-body .ticket-pay-codes,:is(#ticketOrderModal,.ticket-payment-modal) .ticket-pay-codes{display:flex;flex-wrap:nowrap;align-items:stretch;gap:16px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 14px;max-width:100%;scroll-snap-type:x proximity}
.ticket-page-body .ticket-pay-card{box-sizing:border-box;display:flex;flex-direction:column;flex:0 0 260px;width:260px;padding:16px;border:1px solid #dfe8f2;border-radius:10px;scroll-snap-align:start}
.ticket-pay-card h3{height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;margin:0 0 8px;font-size:15px;line-height:22px}
.ticket-pay-card img,.ticket-pay-card .ticket-pay-placeholder{box-sizing:border-box;width:220px;height:220px;flex:0 0 220px;margin:0 auto;background:#fff;border-radius:4px}
.ticket-pay-card .ticket-pay-placeholder{background:#f5f8fc;border:1px dashed #dce6f0}
.ticket-pay-card .ticket-pay-people{font-size:13px;color:#426f96;margin:0 0 8px}
.ticket-pay-card .ticket-pay-order{overflow-wrap:anywhere;min-height:34px;line-height:17px}
.ticket-pay-card .ticket-pay-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px}
.ticket-pay-card .ticket-pay-actions .btn{margin-top:0;width:100%}

/* Keep longer refund labels readable inside the fixed action column. */
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions{flex-wrap:nowrap;gap:8px}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions .btn{flex:0 0 auto;width:auto;max-width:none;overflow:visible;text-overflow:clip}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions .link{flex:0 0 auto}
.ticket-delete-link{color:#c23c3c!important}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-refund-dialog .dialog-foot{margin:18px 0 0;padding:14px 0 4px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-detail-frame{height:65vh;min-height:320px}
.ticket-payment-modal [data-payment-groups]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.ticket-payment-group{flex:0 1 auto;width:max-content;min-width:284px;max-width:100%;box-sizing:border-box;border:1px solid #dce6f0;border-radius:8px}
.ticket-payment-group .ticket-pay-dialog{padding:12px}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-payment-group .ticket-pay-codes{flex-wrap:wrap;gap:12px;overflow:visible}
:is(#ticketOrderModal,.ticket-payment-modal) .ticket-payment-group .ticket-pay-heading{flex-direction:column;align-items:flex-start}
.ticket-payment-group .ticket-pay-dialog>.dialog-foot{flex-wrap:wrap}
.ticket-payment-group .ticket-pay-dialog>.dialog-foot>.hint{flex-basis:100%;max-width:260px}
.ticket-payment-modal .ticket-payment-all-actions{flex:none;margin:0;padding:12px 20px;border-top:1px solid #e5edf6}
.ticket-payment-all-actions>.hint{margin-right:auto}
.ticket-payment-group .ticket-pay-dialog>.dialog-foot{margin:12px 0 0;padding:8px 0}
.ticket-row-actions .ticket-refund-primary:disabled{opacity:1!important;background:#efb1b4!important;border-color:#efb1b4!important;cursor:wait;pointer-events:none}
@media(max-width:380px){.ticket-payment-group{min-width:0;width:100%}.ticket-payment-group .ticket-pay-dialog{padding:6px}.ticket-payment-group .ticket-pay-card{flex:1 1 240px;width:100%;padding:10px}}


/* Compact columns leave room for all actions on one line. */
#app #main .ticket-groups table.ticket-group-table th,#app #main .ticket-groups table.ticket-group-table td{padding-left:6px;padding-right:6px}
#app #main .ticket-groups table.ticket-group-table td{height:52px;padding-top:6px;padding-bottom:6px}
#app #main .ticket-groups table.ticket-group-table .ticket-row-actions{flex-wrap:nowrap;gap:16px}

