body.msc-modal-open{overflow:hidden}
.msc-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(11,23,36,.46);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:msc-fade-in .2s ease both}
.msc-modal-backdrop.is-closing{animation:msc-fade-out .18s ease both}
.msc-receipt-modal{width:min(540px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.76);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 30px 90px rgba(15,23,42,.28);animation:msc-modal-in .28s cubic-bezier(.2,.8,.2,1) both}
.msc-receipt-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:16px;color:#fff;background:var(--teal);font-size:24px;font-weight:800;box-shadow:0 12px 26px rgba(0,109,115,.22)}
.msc-receipt-modal h2{margin:0;font-size:28px;letter-spacing:-.04em}
.msc-receipt-modal>p{margin:10px 0 20px;color:#7c2d12;font-weight:700;line-height:1.7}
.msc-receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 22px}
.msc-receipt-grid div{padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#f8faf9}
.msc-receipt-grid dt{color:var(--muted);font-size:12px}
.msc-receipt-grid dd{margin:5px 0 0;overflow-wrap:anywhere;font-weight:800}
.msc-receipt-actions{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px}
.msc-receipt-modal .msc-submit{width:100%}
.msc-receipt-close{min-height:50px;padding:0 18px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:#fff;font:inherit;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.msc-receipt-close:hover{border-color:rgba(0,109,115,.28);background:#f5faf9}
.msc-receipt-close:active,.msc-print-button:active{transform:translateY(1px)}
.msc-receipt-close:focus-visible{outline:3px solid rgba(0,109,115,.22);outline-offset:2px}
.msc-receipt-modal>.msc-print-hint{margin:12px 0 0;color:var(--muted);font-size:12px;font-weight:500;text-align:center}
.msc-print-receipt{display:none}
.msc-review-detail{overflow:hidden;border:1px solid rgba(0,109,115,.12);border-radius:13px;background:rgba(0,109,115,.06)}
.msc-review-detail summary{padding:10px 11px;cursor:pointer;line-height:1.45;list-style-position:inside;transition:background .18s ease}
.msc-review-detail summary:hover{background:rgba(0,109,115,.06)}
.msc-review-detail summary:focus-visible{outline:3px solid rgba(0,109,115,.2);outline-offset:-3px}
.msc-review-detail summary::marker{color:var(--teal)}
.msc-review-detail summary strong,.msc-review-detail summary small{display:block}
.msc-review-detail summary small{margin-top:2px;color:var(--muted)}
.msc-review-breakdown{display:grid;gap:7px;padding:4px 11px 11px}
.msc-review-breakdown span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:7px;border-top:1px solid rgba(16,26,45,.08)}
.msc-review-breakdown i{color:var(--muted);font-style:normal;font-size:12px}
.msc-review-breakdown b{white-space:nowrap;font-size:12px}
.msc-review-detail[open] summary{background:rgba(255,255,255,.56)}
@keyframes msc-fade-in{from{opacity:0}to{opacity:1}}
@keyframes msc-fade-out{from{opacity:1}to{opacity:0}}
@keyframes msc-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:560px){.msc-receipt-modal{padding:23px;border-radius:22px}.msc-receipt-grid{grid-template-columns:1fr 1fr}.msc-receipt-modal h2{font-size:25px}.msc-receipt-actions{grid-template-columns:1fr}.msc-receipt-close{order:2}}
@media(prefers-reduced-motion:reduce){.msc-modal-backdrop,.msc-modal-backdrop.is-closing,.msc-receipt-modal{animation:none}.msc-review-detail summary,.msc-receipt-close{transition:none}}
@page{size:58mm 135mm;margin:0}
@media print{
    html,body{width:58mm!important;min-width:58mm!important;margin:0!important;padding:0!important;background:#fff!important}
    body{overflow:visible!important}
    body>.msc-page,.msc-receipt-modal{display:none!important}
    .msc-modal-backdrop{position:static!important;inset:auto!important;display:block!important;width:58mm!important;margin:0!important;padding:0!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;animation:none!important}
    .msc-print-receipt{display:block!important;width:58mm!important;min-height:0;margin:0;padding:4mm 5mm 6mm;box-sizing:border-box;color:#000;background:#fff;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-weight:700;line-height:1.25;transform:translateX(-5.552mm) scale(.968);transform-origin:top center;print-color-adjust:exact;-webkit-print-color-adjust:exact}
    .msc-ticket-header{display:grid;grid-template-columns:12mm 1fr;align-items:center;gap:2.2mm;padding:0 0 3.5mm;border-bottom:.35mm dashed #000}
    .msc-ticket-header img{display:block;width:12mm;height:12mm;object-fit:contain;filter:grayscale(1) contrast(1.35)}
    .msc-ticket-header p,.msc-ticket-header h2{margin:0;color:#000;white-space:nowrap}
    .msc-ticket-header p{font-size:3.15mm;font-weight:900;letter-spacing:-.18mm}
    .msc-ticket-header h2{margin-top:1.2mm;font-size:4.4mm;font-weight:900;letter-spacing:.06mm}
    .msc-ticket-number{padding:3.5mm 0 3.2mm;border-bottom:.35mm dashed #000;text-align:center}
    .msc-ticket-number span{display:block;font-size:4.4mm;font-weight:900;letter-spacing:.6mm}
    .msc-ticket-number strong{display:block;margin-top:1.5mm;font-family:Arial Black,Arial,sans-serif;font-size:18mm;font-weight:900;line-height:.92;letter-spacing:-.7mm}
    .msc-ticket-details{display:grid;gap:2mm;margin:0;padding:3.6mm 1.5mm;border-bottom:.35mm dashed #000;font-size:4.25mm}
    .msc-ticket-details div{display:grid;grid-template-columns:14mm minmax(0,1fr);align-items:baseline}
    .msc-ticket-details dt,.msc-ticket-details dd{margin:0;font-weight:900}
    .msc-ticket-details dd{overflow-wrap:anywhere}
    .msc-ticket-time{margin:0;padding:3.4mm 0;border-bottom:.35mm dashed #000;font-size:3mm;font-weight:900;white-space:nowrap;text-align:center}
    .msc-ticket-panda{margin:0;padding:3mm 0 2.5mm;border-bottom:.35mm dashed #000;text-align:center}
    .msc-ticket-panda img{display:block;width:37mm;height:auto;margin:0 auto;filter:grayscale(1) contrast(1.4)}
    .msc-print-receipt footer{padding-top:3.5mm;font-size:2.5mm;font-weight:900;white-space:nowrap;text-align:center}
}
