#reservations.unified-sales{background:linear-gradient(145deg,#e8f6ff,#f8fbff 45%,#eaf6ff);border:1px solid #d6eaff;border-radius:25px;padding:18px;box-shadow:0 8px 30px #1468b00b}
#reservations .reservation-head{background:none;padding:0;margin-bottom:15px;align-items:center}#reservations .reservation-head h2{font-size:25px}#reservations .reservation-head p{margin:4px 0;font-size:12px}#reservations .reservation-head .button{border-radius:13px;padding:10px;font-size:12px}#reservations svg,.sale-detail-dialog svg{width:21px;height:21px;flex-shrink:0}
.sale-raffle{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #d9e8f8;border-radius:17px;padding:9px;box-shadow:0 4px 8px #163b7210}.sale-raffle>img{width:31%;height:84px;object-fit:contain;border-radius:12px;background:#f4f9ff}.sale-raffle label{flex:1;min-width:0;font-size:10px;font-weight:700;color:#0863d6;letter-spacing:.4px}.sale-raffle select{border:0;background:transparent;padding:6px 0;width:100%;font-size:15px;font-weight:750;color:#102941}.sale-raffle small{font-size:11px;color:#526b89;font-weight:400}.sale-photo-fallback{display:grid;place-items:center;background:#e8f5ff;border-radius:12px;padding:18px;color:#0863d6}
.sale-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.sale-metric{display:flex;align-items:center;gap:9px;padding:15px 12px;border:1px solid #cce5f8;border-radius:17px;min-width:0;color:#103452;background:#fff;text-align:left;box-shadow:0 5px 9px #1b4b7110}.sale-metric>svg:first-child{width:40px!important;height:40px!important;background:#ffffff7a;border:1px solid #ffffffc4;border-radius:50%;padding:9px;box-sizing:border-box}.sale-metric>svg:last-child{margin-left:auto;width:15px!important}.sale-metric span{display:grid;gap:2px}.sale-metric b{font-size:24px;line-height:1.1}.sale-metric small{font-size:11px}.sale-metric.revenue{background:linear-gradient(115deg,#159eff,#0863e8);color:#fff}.sale-metric.pendiente{background:linear-gradient(110deg,#fff5e3,#ffe9c3);color:#814511}.sale-metric.confirmado{background:linear-gradient(110deg,#dffcf1,#c3f3e5);color:#075c42}.sale-metric.cobrar{background:linear-gradient(110deg,#fff1f1,#ffdddd);color:#942f3f}
#reservations .whatsapp-raffle-tools{background:#fff;border-color:#dceaf8;margin:12px 0;font-size:12px}#reservations .sales-search label{display:none}#reservations .sales-search input{border-radius:14px;border:1px solid #d0e4f8;background:#fff;padding:13px 15px;font-size:13px}#reservations .sales-filter-chips{display:flex;gap:7px;overflow:visible;margin:10px 0}#reservations .sales-filter-chips button{flex:1;min-width:0;border-radius:13px;padding:10px 4px;font-size:11px;border:1px solid #d6e7f5;background:#fff;color:#385776;white-space:normal}#reservations .sales-filter-chips button.active{background:linear-gradient(120deg,#0986fa,#0051da);color:white;box-shadow:0 4px 8px #0863d620}#reservations .sales-filter-chips b{background:#ffffff44;border-radius:7px;padding:2px 5px;margin-left:3px}#reservations .sales-payment-filter{background:#fff;border:1px solid #d7e7f6;border-radius:13px;padding:9px 12px;margin:0 0 16px}#reservations .sales-payment-filter>label{display:none}#reservations .sales-payment-filter select{border:0;padding:2px;font-size:13px}#reservations .reservation-result{margin:12px 0;font-size:16px;color:#102941}#reservations .reservation-result>span{display:none}
.sale-movement{display:block;width:100%;border:1px solid #d8e7f7;border-left:6px solid #198cff;border-radius:17px;padding:12px 13px;background:linear-gradient(130deg,#fff,#f7fbff);text-align:left;color:#102941;box-shadow:0 4px 9px #1c4e7b0c;cursor:pointer;margin-bottom:11px}.sale-movement.collect{border-left-color:#ffbd57}.sale-person{display:flex;align-items:center;gap:9px}.sale-avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:linear-gradient(120deg,#d9f4ff,#85bcff);color:#0863d6;font-size:17px;font-weight:750;box-shadow:inset 0 0 0 1px #c9e5fb}.sale-person>span:nth-child(2){min-width:0;flex:1}.sale-person strong{display:block;font-size:15px;overflow-wrap:anywhere}.sale-person small{display:block;font-size:11px;color:#546b88;margin-top:3px}.sale-status{display:flex;align-items:center;gap:4px;border-radius:20px;padding:5px 7px;font-size:9px;max-width:43%;line-height:1.3}.sale-status svg{width:13px!important;height:13px!important}.confirmed{--sale-bg:#dff9ee;--sale-fg:#087348}.review{--sale-bg:#e2efff;--sale-fg:#075bce}.collect{--sale-bg:#fff0d2;--sale-fg:#9b5500}.sale-status{background:var(--sale-bg);color:var(--sale-fg)}.sale-amount{display:flex;justify-content:space-between;align-items:center;margin:9px 0}.sale-amount>strong{font-size:22px}.sale-chips{display:flex;flex-wrap:wrap;gap:5px}.sale-chips b{display:grid;place-items:center;min-width:34px;padding:3px 9px;background:linear-gradient(125deg,#0787ff,#0057d9);color:#fff;border-radius:4px;font-size:18px;clip-path:polygon(0 0,95% 0,100% 12%,95% 24%,100% 36%,95% 48%,100% 60%,95% 72%,100% 84%,95% 100%,0 100%,3% 84%,0 72%,3% 60%,0 48%,3% 36%,0 24%,3% 12%)}.sale-origin-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#edf6ff;border-radius:9px;padding:6px 8px;font-size:10px;color:#315981}.sale-origin-row svg{width:15px!important;height:15px!important}.sale-origin-row>span{display:flex;align-items:center;gap:4px;margin-left:auto}.sale-bottom{display:flex;align-items:center;gap:7px;border-top:1px solid #e0edf8;margin-top:7px;padding-top:7px;font-size:10px;color:#496486}.sale-bottom>span{flex:1}.sale-bottom i{display:grid;place-items:center;padding:5px;border-radius:8px;background:linear-gradient(140deg,#0988ff,#0055df);color:#fff}.sale-bottom i svg{width:16px!important;height:16px!important}.sale-bottom.cash-delivery{background:#fff1d6;border-radius:8px;border:0;padding:5px 6px;color:#925100}
dialog.sale-detail-dialog{width:min(480px,calc(100vw - 20px));max-width:none;max-height:none;height:auto;padding:0;border:1px solid #b9ddff;border-radius:21px;overflow:visible;background:#fff;color:#102941;box-shadow:0 20px 80px #001a4444}dialog.sale-detail-dialog::backdrop{background:#061c32ad;backdrop-filter:blur(4px)}.sale-detail-dialog .participant-dialog-head{background:linear-gradient(120deg,#087aff,#0349cf);padding:14px 18px;border-radius:20px 20px 0 0;align-items:center;color:#fff}.sale-detail-dialog .participant-dialog-head .eyebrow{display:none}.sale-detail-dialog .participant-dialog-head h2{font-size:19px;margin:0;color:#fff}.sale-detail-dialog #closeParticipantDialog{background:none;color:#fff;border:0;font-size:28px;padding:0}.sale-detail-dialog #participantDialogBody{padding:13px 16px 15px}.sale-detail-person{display:flex;gap:10px;align-items:center;margin-bottom:10px}.sale-detail-person h3{margin:0;font-size:19px}.sale-detail-person small{font-size:11px;color:#607691}.sale-detail-hero{display:grid;grid-template-columns:1.6fr 1fr;background:linear-gradient(100deg,#e4f8ff,#d6f5ff);border-radius:13px;padding:10px 13px;margin-bottom:8px;gap:10px}.sale-detail-hero>div:last-child{border-left:1px solid #a4d5ee;padding-left:13px}.sale-detail-hero small{display:block;font-size:11px;margin-bottom:6px}.sale-detail-hero strong{font-size:30px}.sale-detail-hero .sale-chips b{font-size:26px;min-width:40px}.sale-detail-raffle{display:flex;align-items:center;gap:10px;border:1px solid #e0ecf6;border-radius:11px;font-size:13px;margin-bottom:9px;padding:4px}.sale-detail-raffle img{width:76px;height:43px;object-fit:contain;border-radius:8px;background:#f5f9ff}.sale-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 0 10px;border-bottom:1px solid #e1edf8}.sale-detail-facts>div{display:flex;gap:8px;min-width:0;align-items:center}.sale-detail-facts svg{color:#0c4d94;width:19px;height:19px}.sale-detail-facts small{display:block;font-size:10px;color:#647a95}.sale-detail-facts b{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.sale-detail-state{margin-top:8px}.sale-detail-state>small{font-size:9px;color:#536b88}.sale-detail-state p{display:flex;align-items:center;gap:9px;padding:7px 10px;margin:4px 0 0;border-radius:10px;background:var(--sale-bg,#eaf5ff);color:var(--sale-fg,#123d78);font-size:12px;font-weight:650}.sale-detail-state p svg{width:18px;height:18px}.sale-code{display:flex;gap:7px;align-items:center;background:#edf5fc;padding:7px 9px;border-radius:10px;margin:10px 0 7px}.sale-code code{flex:1;overflow-wrap:anywhere;font-size:12px;font-weight:700}.sale-code button{padding:4px;background:white;color:#0863d6;border:0;border-radius:7px}.sale-note{border:1px solid #e0ebf8;border-radius:10px;padding:7px 9px;margin-bottom:7px;font-size:11px}.sale-note summary{display:flex;align-items:center;gap:8px;cursor:pointer}.sale-note summary span{margin-left:auto}.sale-note textarea{height:42px;min-height:0;font-size:12px;margin:6px 0}.sale-note button{font-size:11px}.sale-detail-operations{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.sale-detail-operations button{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #d7e6f5;border-radius:9px;color:#365371;background:#fff;font-size:10px;flex:1;justify-content:center}.sale-detail-operations button svg{width:14px;height:14px}.sale-detail-operations .sale-confirm{background:#e4f9ee;color:#087348;border-color:#a9e3c7}.sale-delivery{display:flex;gap:7px;flex-wrap:wrap}.sale-delivery button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #0863d6;border-radius:10px;padding:9px 8px;color:#0863d6;background:#fff;font-size:12px;font-weight:650;flex:1}.sale-delivery .detail-ticket-delivery{display:contents}.sale-delivery [data-download-confirmed-ticket]{order:-1;flex-basis:100%;background:linear-gradient(120deg,#087bff,#0050d7);color:#fff;border:0}.sale-delivery [data-send-confirmed-ticket]{color:#087b56;border-color:#19a071}.sale-delivery .detail-ticket-delivery-feedback{order:5;width:100%;margin:0;font-size:10px;display:block}.sale-delivery .detail-ticket-delivery-feedback:empty,.sale-detail-feedback:empty{display:none}.sale-detail-feedback{font-size:10px;margin:5px 0 0}
@media(min-width:800px){#reservations.unified-sales{max-width:1050px;margin:auto}#reservationRows{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sale-movement{margin:0}.sale-metrics{grid-template-columns:repeat(4,1fr)}}

dialog.sale-detail-dialog{height:fit-content;min-height:0}.sale-detail-dialog .sale-delivery [data-download-confirmed-ticket]{background:linear-gradient(120deg,#087bff,#0050d7)!important;color:white!important;border:0!important;min-height:40px}.sale-detail-dialog .sale-delivery [data-send-confirmed-ticket]{background:white!important;color:#087b56!important}

/* Keep compact sale controls independent of legacy participant dialog styles. */
#participantDialog.sale-detail-dialog[open]{display:block;box-sizing:border-box;width:min(460px,calc(100vw - 24px));height:fit-content;min-height:0;max-height:none;overflow:visible;padding:0;margin:auto}
#participantDialog.sale-detail-dialog .participant-dialog-head{position:static;padding:12px 16px;background:linear-gradient(120deg,#087aff,#0349cf);border:0;min-height:0}
#participantDialog.sale-detail-dialog .participant-dialog-head h2{font-size:18px;color:#fff;margin:0}
#participantDialog.sale-detail-dialog #closeParticipantDialog{width:32px;height:32px;min-height:32px;padding:0;background:#ffffff18;border:1px solid #ffffff55;color:#fff;border-radius:10px;font-size:24px}
#participantDialog.sale-detail-dialog #participantDialogBody{padding:12px 14px 14px;min-width:0}
#participantDialog.sale-detail-dialog .sale-detail-person h3{font-size:17px;line-height:1.2;overflow-wrap:anywhere}
#participantDialog.sale-detail-dialog .sale-detail-person>span:last-child{min-width:0}
#participantDialog.sale-detail-dialog .sale-detail-facts{gap:8px}
#participantDialog.sale-detail-dialog .sale-detail-facts b{font-size:11px;line-height:1.3}
#participantDialog.sale-detail-dialog .sale-note textarea{min-height:38px;height:38px;padding:7px}
#participantDialog.sale-detail-dialog .sale-note summary svg{width:17px;height:17px}
#participantDialog.sale-detail-dialog .sale-detail-operations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
#participantDialog.sale-detail-dialog .sale-detail-operations button{width:100%;min-width:0;height:auto;min-height:38px;margin:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:11px;font:600 11px/1.25 system-ui;white-space:normal;text-align:center}
#participantDialog.sale-detail-dialog .sale-detail-operations button:only-child{grid-column:1/-1}
#participantDialog.sale-detail-dialog .sale-detail-operations [data-delete-detail]{color:#ad3446;background:#fff5f5;border:1px solid #f0cbd1}
#participantDialog.sale-detail-dialog .sale-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;width:100%;margin:0}
#participantDialog.sale-detail-dialog .sale-delivery .detail-ticket-delivery{display:contents}
#participantDialog.sale-detail-dialog .sale-delivery button{display:flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;width:100%;min-width:0;min-height:40px;height:auto;margin:0;padding:9px 7px;border-radius:11px;font:700 12px/1.25 system-ui;white-space:normal;text-align:center}
#participantDialog.sale-detail-dialog .sale-delivery [data-download-confirmed-ticket]{grid-column:1/-1;grid-row:1;order:0}
#participantDialog.sale-detail-dialog .sale-delivery svg{width:19px;height:19px;flex:none}
#participantDialog.sale-detail-dialog .sale-delivery .detail-ticket-delivery-feedback{grid-column:1/-1;order:5;margin:0;font-size:10px;line-height:1.3}
#participantDialog.sale-detail-dialog .sale-detail-feedback{line-height:1.3}

/* Un diálogo cerrado debe desaparecer también tras cambiar de sección. */
#participantDialog.sale-detail-dialog:not([open]){display:none!important}

/* Tarjetas de ventas con las mismas medidas que las tarjetas del equipo. */
#reservations.unified-sales{padding:24px!important}
#reservations .sale-metrics{gap:12px}
#reservations .sale-metric{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;min-height:164px;padding:16px;border-radius:19px;min-width:0;text-align:left}
#reservations .sale-metric>svg:first-child{width:42px!important;height:42px!important;padding:9px;margin:0 0 11px;flex:none}
#reservations .sale-metric>svg:last-child{position:absolute;right:12px;top:16px;width:15px!important;height:15px!important;margin:0;opacity:.65}
#reservations .sale-metric>span{display:flex;flex-direction:column;gap:0;min-width:0;width:100%}
#reservations .sale-metric small{order:-1;font-size:14px;line-height:1.25}
#reservations .sale-metric b{font-size:32px;line-height:1.15;margin-top:4px;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:480px){
 #reservations.unified-sales{padding:16px!important}
 #reservations .sale-metric{min-height:160px;padding:14px}
 #reservations .sale-metric small{font-size:13px}
 #reservations .sale-metric b{font-size:28px}
}

/* Ventas: tarjetas vivas, textura común y herramientas compactas. */
#reservations .sales-refresh-bar{display:flex!important;flex-direction:row!important;justify-content:space-between;gap:10px;margin:0 0 12px!important;padding:0!important;min-height:0;border:0}
#reservations .sales-updated{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:20px;background:#edf1f5;color:#52677b;font-size:11px;line-height:1.3}
#reservations .sales-updated::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
#reservations .sales-updated.is-current{background:#d4f8e7;color:#08613f;border:1px solid #9ce3bf}
#reservations .sales-refresh-bar .button{margin:0;flex:none;min-height:38px}
#reservations .sale-metric{isolation:isolate;overflow:hidden;background-image:radial-gradient(circle,#ffffff57 .8px,transparent 1px),var(--sales-gradient)!important;background-size:6px 6px,100% 100%!important;border:1px solid #ffffffa6;box-shadow:inset 0 1px 0 #ffffffa6,0 7px 18px #164b7c16}
#reservations .sale-metric.revenue{--sales-gradient:linear-gradient(125deg,#039ffc,#0763ec 65%,#004bcb);color:#fff}
#reservations .sale-metric.pendiente{--sales-gradient:linear-gradient(135deg,#ffeab0,#ffc855);color:#633b09}
#reservations .sale-metric.confirmado{--sales-gradient:linear-gradient(135deg,#ffd6df,#ff9db2);color:#78263d}
#reservations .sale-metric.cobrar{--sales-gradient:linear-gradient(135deg,#b6f9df,#62ddb2);color:#074b38}
#reservations .sale-metric::after{content:"";position:absolute;z-index:-1;right:-12px;bottom:-12px;width:108px;height:108px;background:currentColor;opacity:.11;transform:rotate(-18deg);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 3 62 38 97 50 62 62 50 97 38 62 3 50 38 38Z'/%3E%3C/svg%3E") center/contain no-repeat}
#reservations .sale-metric>span{position:relative}
#reservations .sale-metric>svg:first-child{background:#ffffff8c}
#reservations .sales-search{position:relative;display:flex;align-items:center;background:linear-gradient(120deg,#fff,#f5faff);border:1px solid #c3dcef;border-radius:17px;box-shadow:inset 0 1px 0 white,0 4px 14px #143d6b0a;margin:16px 0 12px;padding:0}
#reservations .sales-search .sales-search-icon{position:absolute;left:15px;width:23px;height:23px;color:#0863d6;pointer-events:none}
#reservations .sales-search input{width:100%;min-width:0;min-height:53px;border:0;background:transparent;border-radius:17px;padding:14px 14px 14px 49px;font-size:13px;color:#183950;margin:0;box-sizing:border-box}
#reservations .sales-search:focus-within{outline:3px solid #1382ed33;border-color:#1683e8}
#reservations .sales-search input::placeholder{color:#688198;opacity:1}

/* Detalle de venta: acciones sin huecos y contacto directo. */
#participantDialog.sale-detail-dialog .sale-detail-operations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 8px}
#participantDialog.sale-detail-dialog .sale-detail-operations button{width:100%;min-width:0;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;font-size:12px;line-height:1.35;box-sizing:border-box}
#participantDialog.sale-detail-dialog .sale-detail-operations [data-delete-detail]{grid-column:1/-1;background:#fff3f4;color:#a3344a;border-color:#edcbd1}
#participantDialog.sale-detail-dialog .sale-detail-operations button:only-child{grid-column:1/-1}
#participantDialog.sale-detail-dialog .sale-detail-operations button:first-child:nth-last-child(2){grid-column:1/-1}
#participantDialog.sale-detail-dialog .sale-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
#participantDialog.sale-detail-dialog .sale-delivery>button{width:100%;min-height:44px;padding:10px 7px;font-size:12px;line-height:1.3}
#participantDialog.sale-detail-dialog .sale-delivery>button:only-child{grid-column:1/-1}
#participantDialog.sale-detail-dialog .sale-detail-facts>div:nth-child(3) b{display:flex;align-items:center;flex-wrap:wrap;gap:6px;overflow-wrap:anywhere}
#participantDialog.sale-detail-dialog .sale-client-whatsapp{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:8px;background:#d8f8e7;border:1px solid #9edbbc;color:#08794f;text-decoration:none}
#participantDialog.sale-detail-dialog .sale-client-whatsapp svg{width:18px;height:18px;color:inherit}
#participantDialog.sale-detail-dialog .sale-client-whatsapp:focus-visible{outline:3px solid #65baff;outline-offset:2px}

/* Invitación independiente: apertura de WhatsApp y marcas manuales. */
.contact-invitation-workflow{grid-column:1/-1;order:10;width:100%;box-sizing:border-box;padding:13px;border:1px solid #bce3d3;border-radius:14px;background:linear-gradient(125deg,#effbf6,#e1f5ff);margin-top:6px}
.contact-invitation-workflow h4{font-size:13px;margin:0 0 10px;color:#173b54}
.contact-invitation-workflow .contact-check-row{display:flex;align-items:center;gap:9px;padding:9px 0;font:600 12px/1.4 system-ui;color:#315773;cursor:pointer}
.contact-invitation-workflow input[type=checkbox]{appearance:auto;width:18px!important;height:18px!important;min-height:0;margin:0;flex:none;accent-color:#098259}
.contact-invite-row{border-top:1px solid #cfe5e0;margin-top:4px;padding-top:11px}
#participantDialog .contact-invitation-workflow .contact-invite-row>button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;padding:10px;border:1px solid #0a8a58;border-radius:10px;background:linear-gradient(115deg,#12a76c,#087c4e);color:white;font:750 12px/1.35 system-ui}
.contact-invitation-workflow svg{width:20px;height:20px;flex:none}
.contact-invitation-workflow>small{display:block;font:10px/1.5 system-ui;color:#637d8c}
.contact-invitation-status{margin:8px 0 0;font:11px/1.5 system-ui;color:#08734f}
.contact-invitation-status:empty{display:none}
.contact-invitation-workflow button:disabled{opacity:.5;cursor:default}

/* Approved wide sale detail: readable type, paired states and compact action grid. */
#participantDialog.sale-detail-dialog[open]{width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 24px);height:fit-content;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;zoom:1;box-sizing:border-box;border-radius:24px;background:#f7fcff}
#participantDialog.sale-detail-dialog .participant-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;padding:16px 20px;background:linear-gradient(112deg,#039ffc,#0863ed 65%,#0349cf);border-radius:23px 23px 0 0}
#participantDialog.sale-detail-dialog .participant-dialog-head h2{font-size:22px;line-height:1.2;font-weight:800}
#participantDialog.sale-detail-dialog #closeParticipantDialog{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;min-height:38px;border-radius:11px}
#participantDialog.sale-detail-dialog #closeParticipantDialog svg{width:24px;height:24px}
#participantDialog.sale-detail-dialog #participantDialogBody{padding:16px 20px 18px;color:#16384e}
#participantDialog.sale-detail-dialog .sale-detail-person{gap:12px;margin-bottom:13px}
#participantDialog.sale-detail-dialog .sale-avatar{width:54px;height:54px;flex:none;font-size:22px;background:linear-gradient(120deg,#d0f3ff,#91caff);color:#0863c7}
#participantDialog.sale-detail-dialog .sale-detail-person h3{font-size:22px;line-height:1.25;margin:0 0 3px}
#participantDialog.sale-detail-dialog .sale-detail-person small{font-size:13px}
#participantDialog.sale-detail-dialog .sale-detail-hero{grid-template-columns:1.2fr 1fr;gap:12px;padding:12px 16px;margin-bottom:10px;border-radius:16px;background:linear-gradient(105deg,#e0f8ff,#d3f4fd)}
#participantDialog.sale-detail-dialog .sale-detail-hero small{font-size:14px;margin-bottom:6px}
#participantDialog.sale-detail-dialog .sale-detail-hero strong{font-size:36px;line-height:1.2;overflow-wrap:anywhere}
#participantDialog.sale-detail-dialog .sale-chips{display:flex;flex-wrap:wrap;gap:6px}
#participantDialog.sale-detail-dialog .sale-detail-hero .sale-chips b{font-size:30px;line-height:1.15;min-width:46px;padding:5px 8px;background:linear-gradient(120deg,#009ffd,#0752dc);color:#fff}
#participantDialog.sale-detail-dialog .sale-detail-raffle{padding:7px;gap:12px;margin-bottom:10px;border-radius:15px;font-size:16px}
#participantDialog.sale-detail-dialog .sale-detail-raffle b{overflow-wrap:anywhere}
#participantDialog.sale-detail-dialog .sale-photo-fallback{width:56px;height:50px;flex:none;border-radius:11px;background:#e9f6ff;color:#0863c7}
#participantDialog.sale-detail-dialog .sale-detail-raffle img{width:70px;height:50px}
#participantDialog.sale-detail-dialog .sale-detail-facts{gap:14px 16px;padding:13px 14px;margin-bottom:10px;border:1px solid #dbeaf5;border-radius:15px;background:linear-gradient(120deg,#f9fdff,#f3faff)}
#participantDialog.sale-detail-dialog .sale-detail-facts>div{gap:10px;align-items:center}
#participantDialog.sale-detail-dialog .sale-detail-facts>div>span{min-width:0}
#participantDialog.sale-detail-dialog .sale-detail-facts svg{width:25px;height:25px;color:#0b4d92}
#participantDialog.sale-detail-dialog .sale-detail-facts small{font-size:13px;line-height:1.3;margin-bottom:3px}
#participantDialog.sale-detail-dialog .sale-detail-facts b{font-size:14px;line-height:1.35}
#participantDialog.sale-detail-dialog .sale-detail-facts .sale-client-whatsapp{width:32px;height:32px;border-radius:10px}
#participantDialog.sale-detail-dialog .sale-client-whatsapp svg{width:22px;height:22px;color:#08794f}
#participantDialog.sale-detail-dialog .sale-detail-states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
#participantDialog.sale-detail-dialog .sale-detail-state{position:relative;min-width:0;margin:0;padding:12px 12px 11px 47px;border-radius:15px;background:#eaf5ff}
#participantDialog.sale-detail-dialog .sale-detail-state:has(.confirmed){background:linear-gradient(115deg,#dff9ef,#e0fbf0)}
#participantDialog.sale-detail-dialog .sale-detail-state>small{font-size:12px;line-height:1.3;color:#58738b}
#participantDialog.sale-detail-dialog .sale-detail-state p{padding:0;margin:3px 0 0;background:transparent;font-size:14px;line-height:1.35;gap:0}
#participantDialog.sale-detail-dialog .sale-detail-state p svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:25px;height:25px}
#participantDialog.sale-detail-dialog .sale-detail-state:nth-child(n+3){grid-column:1/-1}
#participantDialog.sale-detail-dialog .sale-code{gap:10px;padding:10px 12px;margin:0 0 9px;border:1px solid #dbeaf7;border-radius:14px;background:linear-gradient(110deg,#eaf5ff,#f2f8fd)}
#participantDialog.sale-detail-dialog .sale-code>svg{width:25px;height:25px}
#participantDialog.sale-detail-dialog .sale-code code{font-size:16px;line-height:1.35}
#participantDialog.sale-detail-dialog .sale-code button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none}
#participantDialog.sale-detail-dialog .sale-code button svg{width:25px;height:25px}
#participantDialog.sale-detail-dialog .sale-note{padding:11px 13px;margin:0 0 11px;border-radius:13px;font-size:14px}
#participantDialog.sale-detail-dialog .sale-note summary{min-height:20px;gap:10px}
#participantDialog.sale-detail-dialog .sale-note summary svg{width:23px;height:23px}
#participantDialog.sale-detail-dialog .sale-note textarea{font-size:16px;min-height:64px;height:64px}
#participantDialog.sale-detail-dialog .sale-note button{font-size:14px;min-height:40px}
#participantDialog.sale-detail-dialog .sale-detail-operations{margin:0 0 10px;gap:10px}
#participantDialog.sale-detail-dialog .sale-detail-operations:empty{display:none}
#participantDialog.sale-detail-dialog .sale-detail-operations button{font-size:14px;min-height:46px}
#participantDialog.sale-detail-dialog .sale-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
#participantDialog.sale-detail-dialog .sale-delivery button{font:700 15px/1.3 system-ui;min-height:48px;padding:11px 8px;gap:9px;border-radius:13px}
#participantDialog.sale-detail-dialog .sale-delivery button svg{width:24px;height:24px;flex:none}
#participantDialog.sale-detail-dialog .sale-delivery [data-download-confirmed-ticket]{grid-column:1;grid-row:1;background:radial-gradient(circle,#ffffff3b .7px,transparent 1px),linear-gradient(115deg,#039ffc,#0754d6)!important;background-size:6px 6px,100% 100%!important;box-shadow:inset 0 1px 0 #ffffff70,0 3px 9px #0863d61a}
#participantDialog.sale-detail-dialog .sale-delivery [data-send-confirmed-ticket]{grid-column:2;grid-row:1;border-color:#15976b!important}
#participantDialog.sale-detail-dialog .sale-delivery [data-sale-copy-action]{grid-column:1;grid-row:2;background:#fff;color:#0863c7;border:1px solid #087aff}
#participantDialog.sale-detail-dialog .sale-delivery [data-delete-detail]{grid-column:2;grid-row:2;background:#fff3f4;color:#b72e48;border:1px solid #edb8c0}
#participantDialog.sale-detail-dialog .sale-delivery .detail-ticket-delivery-feedback{grid-column:1/-1;font-size:13px;line-height:1.4}
#participantDialog.sale-detail-dialog .sale-detail-feedback{font-size:13px;line-height:1.4}
#participantDialog.sale-detail-dialog .contact-invitation-workflow{display:grid;grid-template-columns:1fr 1.25fr;gap:8px 12px;padding:14px 16px;margin-top:3px;border:1px solid #b7e4d7;border-radius:16px;background:linear-gradient(125deg,#effbf6,#e2f6fc)}
#participantDialog.sale-detail-dialog .contact-invitation-workflow h4{grid-column:1/-1;font-size:16px;margin:0 0 2px;line-height:1.3}
#participantDialog.sale-detail-dialog .contact-invitation-workflow>.contact-check-row{grid-column:1;grid-row:2}
#participantDialog.sale-detail-dialog .contact-invite-row{display:contents}
#participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-check-row{font:500 14px/1.4 system-ui;padding:5px 0;gap:9px;min-height:32px;margin:0}
#participantDialog.sale-detail-dialog .contact-invite-row>.contact-check-row{grid-column:1/-1;grid-row:3}
#participantDialog.sale-detail-dialog .contact-invitation-workflow input[type=checkbox]{width:21px!important;height:21px!important}
#participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-invite-row>button{grid-column:2;grid-row:2;min-height:46px;font:750 13px/1.3 system-ui;padding:9px 10px;gap:7px;margin:0;background:linear-gradient(115deg,#12a76c,#087c4e)}
#participantDialog.sale-detail-dialog .contact-invitation-workflow>small{grid-column:1/-1;font-size:11px;line-height:1.5}
#participantDialog.sale-detail-dialog .contact-invitation-status{grid-column:1/-1;font-size:12px;margin:0}
@media(max-width:420px){
 #participantDialog.sale-detail-dialog .participant-dialog-head{padding:13px 14px}
 #participantDialog.sale-detail-dialog #participantDialogBody{padding:13px 12px 14px}
 #participantDialog.sale-detail-dialog .participant-dialog-head h2{font-size:20px}
 #participantDialog.sale-detail-dialog .sale-detail-person h3{font-size:20px}
 #participantDialog.sale-detail-dialog .sale-detail-facts{gap:12px 10px;padding:11px 9px}
 #participantDialog.sale-detail-dialog .sale-detail-facts>div{gap:7px}
 #participantDialog.sale-detail-dialog .sale-detail-facts svg{width:21px;height:21px}
 #participantDialog.sale-detail-dialog .sale-detail-facts small{font-size:12px}
 #participantDialog.sale-detail-dialog .sale-detail-facts b{font-size:13px}
 #participantDialog.sale-detail-dialog .sale-detail-state{padding:10px 8px 10px 36px}
 #participantDialog.sale-detail-dialog .sale-detail-state p{font-size:13px}
 #participantDialog.sale-detail-dialog .sale-detail-state p svg{left:9px;width:20px;height:20px}
 #participantDialog.sale-detail-dialog .sale-delivery button{font-size:14px;gap:6px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow{padding:12px;gap:6px 8px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-check-row{font-size:13px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-invite-row>button{font-size:12px;padding:8px;gap:5px}
}

#participantDialog.sale-detail-dialog .sale-delivery:not(:has([data-download-confirmed-ticket])) [data-sale-copy-action]{grid-row:1;grid-column:2}
#participantDialog.sale-detail-dialog .sale-delivery:not(:has([data-download-confirmed-ticket])) [data-delete-detail]{grid-row:2;grid-column:1/-1}
/* Keep the approved sale sheet entirely visible in the available viewport. */
#participantDialog.sale-detail-dialog[open]{max-height:none;overflow:visible;width:min(660px,calc(100vw - 16px));margin:auto}
@media(max-height:900px){
 #participantDialog.sale-detail-dialog .participant-dialog-head{position:static;padding:9px 13px}
 #participantDialog.sale-detail-dialog .participant-dialog-head h2{font-size:19px}
 #participantDialog.sale-detail-dialog #closeParticipantDialog{width:31px;height:31px;min-height:31px}
 #participantDialog.sale-detail-dialog #participantDialogBody{padding:10px 12px}
 #participantDialog.sale-detail-dialog .sale-detail-person{gap:9px;margin-bottom:7px}
 #participantDialog.sale-detail-dialog .sale-avatar{width:40px;height:40px;font-size:18px}
 #participantDialog.sale-detail-dialog .sale-detail-person h3{font-size:19px;margin:0}
 #participantDialog.sale-detail-dialog .sale-detail-person small{font-size:12px}
 #participantDialog.sale-detail-dialog .sale-detail-hero{padding:7px 11px;margin-bottom:7px;border-radius:12px}
 #participantDialog.sale-detail-dialog .sale-detail-hero small{font-size:12px;margin-bottom:3px}
 #participantDialog.sale-detail-dialog .sale-detail-hero strong{font-size:30px}
 #participantDialog.sale-detail-dialog .sale-detail-hero .sale-chips b{font-size:25px;min-width:36px;padding:3px 6px}
 #participantDialog.sale-detail-dialog .sale-detail-raffle{padding:4px 7px;gap:9px;margin-bottom:7px;font-size:14px}
 #participantDialog.sale-detail-dialog .sale-photo-fallback{width:36px;height:32px}
 #participantDialog.sale-detail-dialog .sale-detail-raffle img{width:48px;height:32px}
 #participantDialog.sale-detail-dialog .sale-detail-facts{padding:8px;gap:8px 10px;margin-bottom:7px}
 #participantDialog.sale-detail-dialog .sale-detail-facts small{font-size:11px;margin-bottom:1px}
 #participantDialog.sale-detail-dialog .sale-detail-facts b{font-size:12px;line-height:1.25}
 #participantDialog.sale-detail-dialog .sale-detail-facts svg{width:19px;height:19px}
 #participantDialog.sale-detail-dialog .sale-detail-facts>div{gap:6px}
 #participantDialog.sale-detail-dialog .sale-detail-facts>div:nth-child(3) b{gap:4px}
 #participantDialog.sale-detail-dialog .sale-detail-facts .sale-client-whatsapp{width:24px;height:24px;border-radius:7px}
 #participantDialog.sale-detail-dialog .sale-detail-states{gap:7px;margin-bottom:7px}
 #participantDialog.sale-detail-dialog .sale-detail-state{padding:7px 7px 7px 32px;border-radius:11px}
 #participantDialog.sale-detail-dialog .sale-detail-state>small{font-size:10px}
 #participantDialog.sale-detail-dialog .sale-detail-state p{font-size:12px;margin-top:1px;line-height:1.25}
 #participantDialog.sale-detail-dialog .sale-detail-state p svg{left:8px;width:18px;height:18px}
 #participantDialog.sale-detail-dialog .sale-code{padding:6px 9px;margin-bottom:7px;gap:8px;border-radius:11px}
 #participantDialog.sale-detail-dialog .sale-code code{font-size:13px}
 #participantDialog.sale-detail-dialog .sale-code button{width:30px;height:30px}
 #participantDialog.sale-detail-dialog .sale-code svg{width:20px;height:20px}
 #participantDialog.sale-detail-dialog .sale-note{padding:7px 9px;margin-bottom:7px;font-size:12px}
 #participantDialog.sale-detail-dialog .sale-note summary{min-height:18px}
 #participantDialog.sale-detail-dialog .sale-note summary svg{width:19px;height:19px}
 #participantDialog.sale-detail-dialog .sale-delivery{gap:7px}
 #participantDialog.sale-detail-dialog .sale-delivery button{min-height:38px;padding:7px 5px;font-size:12px;gap:5px;border-radius:10px}
 #participantDialog.sale-detail-dialog .sale-delivery button svg{width:20px;height:20px}
 #participantDialog.sale-detail-dialog .sale-detail-operations{gap:7px;margin-bottom:7px}
 #participantDialog.sale-detail-dialog .sale-detail-operations button{min-height:36px;padding:7px;font-size:12px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow{padding:9px 10px;gap:4px 7px;border-radius:12px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow h4{font-size:14px;margin:0}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-check-row{font-size:12px;min-height:25px;padding:3px 0;gap:7px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow input[type=checkbox]{width:18px!important;height:18px!important}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow .contact-invite-row>button{min-height:36px;font-size:11px;padding:6px;gap:5px}
 #participantDialog.sale-detail-dialog .contact-invitation-workflow>small{font-size:9px;line-height:1.35}
 #participantDialog.sale-detail-dialog .sale-detail-feedback,#participantDialog.sale-detail-dialog .detail-ticket-delivery-feedback,#participantDialog.sale-detail-dialog .contact-invitation-status{font-size:11px;line-height:1.3;margin:3px 0 0}
}

/* Transfer proof and payment confirmation share one balanced action row. */
#participantDialog.sale-detail-dialog .sale-detail-operations:has([data-open-proof]):has([data-validate-ticket])>button{grid-column:auto;grid-row:auto;align-self:stretch;min-width:0;height:100%;box-sizing:border-box}
#participantDialog.sale-detail-dialog .sale-detail-raffle>.sale-photo-fallback{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;overflow:hidden}
#participantDialog.sale-detail-dialog .sale-detail-raffle>.sale-photo-fallback>svg{display:block;position:static;margin:0;transform:none;flex:none;width:21px;height:21px}

/* Four explicit sales views with room for complete method labels. */
#reservations .sales-filter-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#reservations .sales-filter-chips button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:9px 7px;line-height:1.3}
#reservations .sales-filter-chips b{margin:0;flex:none}
#reservations .sale-metric small{overflow-wrap:normal;word-break:normal}
@media(max-width:480px){#reservations .sales-filter-chips{grid-template-columns:repeat(2,minmax(0,1fr))}#reservations .sales-filter-chips button{font-size:12px}}

/* Pending transfer and cash tickets use the yellow pending indicator. */
#reservations .sale-movement.review,#reservations .sale-movement.collect{border-left-color:#ffc855}

/* Align all summary icons and distinguish cash still awaiting confirmation. */
#reservations .sale-movement.cash-unconfirmed{border-left-color:#62ddb2}
#reservations .sale-metric{justify-content:flex-start;padding:72px 16px 16px}
#reservations .sale-metric>svg:first-child{position:absolute;left:16px;top:16px;width:42px!important;height:42px!important;padding:9px;margin:0;box-sizing:border-box}
#reservations .sale-metric>svg:last-child{right:16px;top:16px;width:15px!important;height:15px!important}
#reservations .sale-metric>span small{min-height:2.5em}
#reservations button.sale-metric.revenue{font:inherit;cursor:pointer}
#reservations button.sale-metric.revenue:focus-visible{outline:3px solid #0863d6;outline-offset:3px}
