/* GPT_CHECKLIST_RECEIPT_V1: scoped receipt layout; keep the existing font variables and colors. */
#ckSheet {
  inset:auto 0 0;
  width:100%;
  height:72dvh;
  max-height:calc(100dvh - max(env(safe-area-inset-top),12px));
  border:0;
  border-radius:20px 20px 0 0;
  clip-path:polygon(0 0,24px 0,
    calc(24px + (100% - 48px)*.025) 7px,calc(24px + (100% - 48px)*.05) 0,
    calc(24px + (100% - 48px)*.075) 7px,calc(24px + (100% - 48px)*.1) 0,
    calc(24px + (100% - 48px)*.125) 7px,calc(24px + (100% - 48px)*.15) 0,
    calc(24px + (100% - 48px)*.175) 7px,calc(24px + (100% - 48px)*.2) 0,
    calc(24px + (100% - 48px)*.225) 7px,calc(24px + (100% - 48px)*.25) 0,
    calc(24px + (100% - 48px)*.275) 7px,calc(24px + (100% - 48px)*.3) 0,
    calc(24px + (100% - 48px)*.325) 7px,calc(24px + (100% - 48px)*.35) 0,
    calc(24px + (100% - 48px)*.375) 7px,calc(24px + (100% - 48px)*.4) 0,
    calc(24px + (100% - 48px)*.425) 7px,calc(24px + (100% - 48px)*.45) 0,
    calc(24px + (100% - 48px)*.475) 7px,calc(24px + (100% - 48px)*.5) 0,
    calc(24px + (100% - 48px)*.525) 7px,calc(24px + (100% - 48px)*.55) 0,
    calc(24px + (100% - 48px)*.575) 7px,calc(24px + (100% - 48px)*.6) 0,
    calc(24px + (100% - 48px)*.625) 7px,calc(24px + (100% - 48px)*.65) 0,
    calc(24px + (100% - 48px)*.675) 7px,calc(24px + (100% - 48px)*.7) 0,
    calc(24px + (100% - 48px)*.725) 7px,calc(24px + (100% - 48px)*.75) 0,
    calc(24px + (100% - 48px)*.775) 7px,calc(24px + (100% - 48px)*.8) 0,
    calc(24px + (100% - 48px)*.825) 7px,calc(24px + (100% - 48px)*.85) 0,
    calc(24px + (100% - 48px)*.875) 7px,calc(24px + (100% - 48px)*.9) 0,
    calc(24px + (100% - 48px)*.925) 7px,calc(24px + (100% - 48px)*.95) 0,
    calc(24px + (100% - 48px)*.975) 7px,calc(100% - 24px) 0,
    100% 0,100% 100%,0 100%);
  transition:height .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s;
}
#ckSheet.show { transform:translateY(0);transition-delay:0s }
#ckSheet .ck-sheet-pull {
  flex:0 0 40px;display:grid;place-items:center;width:100%;height:40px;
  border:0;margin:0;padding:0;background:transparent;color:var(--rc-faded);
  cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;
}
#ckSheet .ck-sheet-pull:active { cursor:grabbing }
#ckSheet .ck-sheet-pull span { width:36px;height:4px;border-radius:4px;background:currentColor;opacity:.48;pointer-events:none }
#ckSheet .sheet-content { padding-top:0;overscroll-behavior:contain;scrollbar-width:none }
#ckSheet .sheet-content::-webkit-scrollbar { display:none;width:0;height:0 }
#ckSheet .ck-meta { display:grid;grid-template-columns:1fr 1.25fr;gap:5px 18px }
#ckSheet .ck-meta .rc-row { min-width:0;gap:8px;align-items:center;font-size:11px;letter-spacing:0 }
#ckSheet .ck-meta .rc-row span:first-child { flex-shrink:0;color:var(--rc-faded) }
#ckSheet #ckSerial { font-size:10px;overflow-wrap:anywhere;text-align:right }
#ckSheet .rc-section-label { display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;letter-spacing:1px }
#ckSheet .ck-open-tip { font-size:10px;font-weight:400;letter-spacing:0 }
#ckSheet .ck-item { align-items:center;gap:0;padding:0 }
#ckSheet .ck-receipt-open {
  min-width:0;flex:1;display:flex;align-items:center;gap:10px;min-height:58px;
  padding:10px 0;border:0;background:transparent;text-align:left;color:var(--rc-ink);font:inherit;
}
#ckSheet .ck-receipt-content { flex:1;min-width:0 }
#ckSheet .ck-receipt-number { font-size:10px;color:var(--rc-faded);min-width:19px }
#ckSheet .ck-receipt-meta { display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:4px;color:var(--rc-faded);font-size:11px }
#ckSheet .ck-receipt-meta .ck-when { border:0;margin:0;padding:0 }
#ckSheet .ck-receipt-end { font-size:16px;color:var(--rc-faded);padding:0 3px }
#ckSheet .ck-receipt-paid { font-size:10px;color:var(--rc-stamp);white-space:nowrap }
#ckSheet .ck-del { display:grid;place-items:center;min-width:40px;min-height:40px }
#ckSheet .ck-opt,#ckSheet .ck-go { min-height:40px }
#ckSheet button:disabled { opacity:.4;cursor:default }
#ckSheet button:focus-visible,#ckTicketDialog button:focus-visible { outline:2px solid var(--rc-stamp);outline-offset:3px }
#ckSheet .ck-feedback { margin:6px 0 10px;font-size:12px;color:var(--rc-stamp) }
#ckTicketDialog {
  position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;
  box-sizing:border-box;padding:32px 18px;border:0;background:transparent;color:var(--rc-ink);
  font-family:var(--rc-mono);overflow:auto;overscroll-behavior:contain;
}
#ckTicketDialog[open] { display:flex;flex-direction:column;align-items:center;justify-content:center }
#ckTicketDialog::backdrop { background:rgba(35,31,25,.52);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px) }
#ckTicketDialog .ck-ticket-header { display:flex;align-items:center;justify-content:space-between;width:min(100%,420px);margin-bottom:22px;color:#f6f1e7 }
#ckTicketDialog .ck-ticket-caption { font-size:11px;letter-spacing:2px }
#ckTicketDialog .ck-ticket-close { min-width:40px;min-height:40px;border:0;background:none;color:inherit;font:inherit;font-size:24px }
#ckTicketDialog .ck-ticket-scene { width:calc(100% - 34px);max-width:360px;perspective:1000px }
#ckTicketDialog .ck-ticket { position:relative;display:flex;min-height:198px;filter:drop-shadow(0 12px 17px rgba(20,16,12,.18)) }
#ckTicketDialog .ck-ticket-paper { position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none }
#ckTicketDialog .ck-paper-main,#ckTicketDialog .ck-paper-stub { fill:var(--rc-paper) }
#ckTicketDialog .ck-perforation { fill:none;stroke:var(--rc-faded);stroke-width:1.5;stroke-dasharray:1 5;stroke-linecap:round;opacity:.45 }
#ckTicketDialog .ck-ticket-main { position:relative;z-index:1;width:74%;box-sizing:border-box;padding:22px 16px }
#ckTicketDialog .ck-ticket-brand { font-size:8px;letter-spacing:1px;color:var(--rc-faded) }
#ckTicketDialog .ck-ticket-date { margin-top:16px;font-size:11px;color:var(--rc-stamp) }
#ckTicketDialog .ck-ticket-title { margin:10px 0 20px;font:600 19px/1.5 var(--rc-mono);overflow-wrap:anywhere;white-space:pre-wrap }
#ckTicketDialog .ck-ticket-details { display:flex;flex-wrap:wrap;gap:14px;font-size:11px }
#ckTicketDialog .ck-ticket-details small { display:block;margin-bottom:5px;color:var(--rc-faded);font-size:10px }
#ckTicketDialog .ck-ticket-details strong { font-weight:400 }
#ckTicketDialog .ck-ticket-stub {
  position:absolute;inset:0 0 0 auto;z-index:2;width:26%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:10px 0;border:0;background:transparent;
  color:var(--rc-ink);font:inherit;transform-origin:left bottom;cursor:grab;touch-action:none;user-select:none;
}
#ckTicketDialog .ck-ticket-stub:active { cursor:grabbing }
#ckTicketDialog .ck-ticket-stub small { font-size:10px;letter-spacing:1px;color:var(--rc-faded) }
#ckTicketDialog .ck-ticket-number { margin:9px 0;font-size:27px }
#ckTicketDialog .ck-ticket-barcode { width:39px;height:39px;background:repeating-linear-gradient(90deg,var(--rc-ink) 0 1px,transparent 1px 3px,var(--rc-ink) 3px 5px,transparent 5px 7px);opacity:.8 }
#ckTicketDialog .ck-ticket-arrow { margin-top:11px;color:var(--rc-stamp);font-size:18px }
#ckTicketDialog .ck-ticket-seal { position:absolute;right:12px;top:24px;color:var(--rc-stamp);border:2px solid currentColor;padding:5px 8px;font-size:12px;transform:rotate(-12deg) scale(1.4);opacity:0 }
#ckTicketDialog .ck-ticket.is-paid .ck-ticket-seal { opacity:.85;transform:rotate(-12deg);transition:transform .3s,opacity .3s }
#ckTicketDialog .ck-ticket.is-paid .ck-ticket-stub,#ckTicketDialog .ck-ticket.is-paid .ck-paper-stub { transform:translate(100px,55px) rotate(16deg)!important;opacity:0;transition:transform .7s cubic-bezier(.18,.8,.3,1),opacity .6s }
#ckTicketDialog .ck-paper-stub { transform-box:fill-box;transform-origin:left bottom }
#ckTicketDialog .ck-ticket.is-paid .ck-perforation,#ckTicketDialog .ck-ticket.is-paid .ck-fold-shadow { opacity:0 }
#ckTicketDialog .ck-ticket-status { width:min(100%,420px);margin-top:26px;min-height:50px;color:#f6f1e7;text-align:center;font-size:12px;line-height:1.8 }
#ckTicketDialog .ck-ticket-actions { display:flex;gap:22px;margin-top:12px }
#ckTicketDialog .ck-ticket-actions button { min-height:40px;padding:6px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:none;color:#f6f1e7;font:inherit;font-size:12px }
#ckTicketDialog button:disabled { cursor:default;opacity:.5 }
@media (max-width:360px) {
  #ckSheet .sheet-content { padding-left:16px;padding-right:16px }
  #ckSheet .ck-meta { column-gap:12px }
  #ckTicketDialog { padding-left:12px;padding-right:12px }
  #ckTicketDialog .ck-ticket-main { padding-left:12px;padding-right:12px }
}
@media (prefers-reduced-motion:reduce) {
  #ckSheet,#ckTicketDialog *,#ckTicketDialog *::before { transition:none!important;animation:none!important }
}
