/* The same readable receipt is used for details, sharing and printing. */
.financial-receipt{color:#15191c;padding:28px;background:#fff;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.financial-receipt .receipt-heading{border-bottom:3px solid #205b42;padding:0 0 18px;margin-bottom:20px;text-align:center}
.financial-receipt .receipt-heading h1{font-size:25px;font-weight:700;line-height:1.45;color:#101518;overflow-wrap:anywhere}
.financial-receipt .receipt-heading h2{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:4px;margin:8px 0 0;color:#101518}
.receipt-identifiers{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px;font-size:14px}
.receipt-customer{display:flex;align-items:baseline;gap:12px;min-width:0;flex:1}
.receipt-customer>span{flex-shrink:0}
.receipt-customer strong{font-size:20px;overflow-wrap:anywhere;line-height:1.5}
.receipt-identifiers dl{display:grid;grid-template-columns:auto auto;gap:5px 12px;margin:0;flex-shrink:0}
.receipt-identifiers dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.financial-receipt .table-scroll{border-radius:0}
.receipt-items{width:100%;table-layout:fixed;border:1.5px solid #3f494f;border-collapse:collapse;font-size:14px;color:#111}
.receipt-col-date{width:20%}.receipt-col-item{width:18%}.receipt-col-quantity{width:14%}.receipt-col-unit{width:9%}.receipt-col-price{width:17%}.receipt-col-amount{width:22%}
.financial-receipt .receipt-items th,.financial-receipt .receipt-items td{border:1px solid #626a70;padding:11px 9px;font-size:14px;line-height:1.5;vertical-align:middle}
.financial-receipt .receipt-items th{background:#eef0ef;font-weight:700;color:#15191c;text-align:center;white-space:normal;border-bottom:1.5px solid #3f494f}
.financial-receipt .receipt-items .receipt-service-heading th{text-align:left;background:#edf2eb;color:#133c30}
.receipt-service-heading{break-after:avoid;page-break-after:avoid}
.financial-receipt .receipt-items td{font-variant-numeric:tabular-nums;font-weight:500;overflow-wrap:anywhere}
.receipt-items td:nth-child(1),.receipt-items td:nth-child(2),.receipt-items td:nth-child(4){text-align:center}
.receipt-items td:nth-child(3),.receipt-items td:nth-child(5),.receipt-items td:nth-child(6){text-align:right;white-space:nowrap;overflow-wrap:normal}
.receipt-items td:nth-child(6){font-weight:650}
.financial-receipt .receipt-items tbody tr:hover{background:white}
.receipt-closing{break-inside:avoid;page-break-inside:avoid}
.receipt-grand-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 17px;margin-top:18px;border:2px solid #303a3f;color:#101518}
.receipt-grand-total>span{font-size:18px;font-weight:700;flex-shrink:0}
.receipt-grand-total strong{font-size:29px;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.receipt-payment{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:19px 0 0;font-size:14px;color:#111}
.receipt-payment strong{font-size:18px;letter-spacing:1px}
.receipt-payment>div{font-size:12px;line-height:1.8;margin-left:auto}
.financial-receipt .receipt-signatures{display:flex;gap:35px;margin:38px 0 4px;color:#111;font-size:14px}
.receipt-signatures>div{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0}
.receipt-signatures>div>span:first-child{flex-shrink:0}
.signature-line{display:block;flex:1;min-width:35px;border-bottom:1px solid #333;height:25px}
@media screen and (max-width:700px){
  .financial-receipt{padding:20px 14px}
  .financial-receipt .receipt-heading h1{font-size:21px}
  .financial-receipt .receipt-heading h2{font-size:18px}
  .receipt-identifiers{flex-direction:column;align-items:stretch;gap:12px;font-size:13px}
  .receipt-customer strong{font-size:19px}
  .receipt-identifiers dl{grid-template-columns:auto 1fr;gap:5px 14px}
  .financial-receipt .receipt-items{min-width:630px}
  .financial-receipt .receipt-items th,.financial-receipt .receipt-items td{font-size:13px;padding:9px 7px}
  .receipt-grand-total{padding:12px;gap:10px}
  .receipt-grand-total>span{font-size:16px}.receipt-grand-total strong{font-size:24px}
  .financial-receipt .receipt-signatures{gap:20px;font-size:12px}
}
@media print{
  @page{size:A4 portrait;margin:14mm}
  .financial-receipt{padding:0;margin:0;border:0;border-radius:0;font-size:11pt;color:#000}
  .financial-receipt .receipt-heading{padding-bottom:4mm;margin-bottom:5mm;border-bottom:1mm solid #303a35;break-after:avoid}
  .financial-receipt .receipt-heading h1{font-size:22pt;color:#000}
  .financial-receipt .receipt-heading h2{font-size:18pt;color:#000;margin-top:2mm}
  .receipt-identifiers{margin-bottom:5mm;font-size:11pt;break-after:avoid}
  .receipt-customer strong{font-size:16pt}
  .financial-receipt .table-scroll{overflow:visible}
  .financial-receipt .receipt-items{min-width:0;font-size:11pt;border:0.4mm solid #333}
  .financial-receipt .receipt-items th,.financial-receipt .receipt-items td{font-size:11pt;line-height:1.5;padding:2.6mm 2mm;border:0.25mm solid #555;color:#000}
  .financial-receipt .receipt-items th{font-weight:700;border-bottom:0.4mm solid #333}
  .receipt-items thead{display:table-header-group}.receipt-items tr{break-inside:avoid;page-break-inside:avoid}
  .receipt-grand-total{padding:4mm;margin-top:5mm;border:0.5mm solid #222;color:#000}
  .receipt-grand-total>span{font-size:15pt}.receipt-grand-total strong{font-size:24pt;color:#000}
  .receipt-payment{font-size:11pt;margin-top:5mm;color:#000}.receipt-payment strong{font-size:15pt}
  .receipt-payment>div{font-size:10pt}
  .financial-receipt .receipt-signatures{font-size:11pt;margin:12mm 0 0;color:#000}
  .signature-line{height:7mm;border-color:#222}
}

/* Customer-facing mobile receipt. The paper table is only used when printing. */
@media screen{
 .financial-receipt{padding:0;border:0;background:#f1f3ee;border-radius:12px;overflow:hidden}
 .receipt-print-layout{display:none}
 .digital-receipt{color:#133c30;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
 .digital-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:26px 30px 42px;background:linear-gradient(120deg,#194b39,#3d7254);color:#fffef7}
 .digital-brand:after{content:"";position:absolute;width:55%;height:160px;right:-16%;bottom:-100px;border-radius:50%;background:#dce6ce;transform:rotate(-22deg);box-shadow:-40px -12px 0 #91aa8144}
 .digital-brand>strong{font:600 43px/1.2 "SimSun","Songti SC",serif;letter-spacing:3px;position:relative;z-index:1}
 .digital-brand>strong.full-company{font:600 24px/1.5 "Microsoft YaHei",sans-serif;letter-spacing:0}
 .digital-brand>span{font-size:16px;color:#e2eacf;position:relative;z-index:1}
 .digital-body{position:relative;padding:26px 30px 28px;margin:-15px 12px 12px;background:#fffefb;border-radius:16px}
 .financial-receipt .digital-body>h2{text-align:left;font-size:28px;font-weight:700;letter-spacing:1px;color:#133c30;margin:0 0 20px}
 .digital-customer{display:flex;flex-direction:column;gap:5px;margin:0 0 12px}.digital-customer>span{font-size:13px;color:#6e7b79}.digital-customer>strong{font-size:22px;overflow-wrap:anywhere}
 .digital-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:#6e7b79;margin-bottom:23px;flex-wrap:wrap}.digital-meta b{color:#294939;font-weight:600;font-variant-numeric:tabular-nums}
 .digital-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;background:#edf2eb;border-radius:12px;padding:18px 20px;margin-bottom:28px}.digital-total>span{grid-column:1/-1;font-size:14px}.digital-total>strong{font-size:clamp(27px,3vw,40px);line-height:1.35;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.digital-total>b{padding:5px 11px;border:1px solid #7b9d82;border-radius:20px;color:#386749;font-size:13px;white-space:nowrap}
 .digital-groups section+section{margin-top:28px;padding-top:20px;border-top:1px solid #e0e5df}.digital-groups header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.digital-groups h3{font-size:17px;border-left:3px solid #589270;padding-left:9px;color:#133c30}.digital-groups time{font-size:13px;color:#6e7b79;margin-left:auto}.digital-date-group+.digital-date-group{margin-top:18px}
 .digital-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:12px 0;border-bottom:1px solid #e0e5df}.digital-item>strong{font-weight:500;font-size:18px;overflow-wrap:anywhere}.digital-item>b{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.digital-item>span{grid-column:1/-1;color:#6e7b79;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .digital-payment{font-size:13px;color:#6e7b79;line-height:1.6;margin-top:20px}.financial-receipt .digital-body>footer{display:flex;justify-content:space-between;gap:12px;margin-top:24px;font-size:13px;color:#6e7b79;flex-wrap:wrap}.digital-body>footer strong{color:#386749;font-weight:600}
 .shared-shell{max-width:700px}
 #business-dialog.receipt-image-dialog{width:min(620px,100vw)}.receipt-image-preview figure{margin:0 0 20px}.receipt-image-preview img{display:block;width:100%;height:auto;border-radius:8px}.receipt-image-preview figcaption{text-align:center;padding:10px}.receipt-image-dialog .drawer-content{background:#f2f4ef}
}
@media screen and (max-width:700px){
 .financial-receipt .digital-brand{padding:24px 22px 36px}.digital-brand>strong{font-size:38px}.digital-brand>span{font-size:14px}.digital-body{padding:23px 18px;margin:-12px 9px 9px;border-radius:13px}.financial-receipt .digital-body>h2{font-size:25px;margin-bottom:20px}.digital-customer>strong{font-size:22px}.digital-meta{font-size:12px;gap:6px;margin-bottom:20px}.digital-total{padding:16px 14px;gap:5px 8px;margin-bottom:25px}.digital-total>strong{font-size:29px}.digital-total>b{font-size:12px;padding:4px 9px}.digital-item{padding:12px 0}.digital-item>strong,.digital-item>b{font-size:17px}.digital-item>span{font-size:13px}.digital-groups time{font-size:12px}.digital-groups h3{font-size:16px}.receipt-detail-layout .financial-receipt{margin:16px -5px}.shared-shell .financial-receipt{margin:12px 0}
}
@media print{.digital-receipt{display:none}.receipt-print-layout{display:block}}

/* Approved C layout: one panel with green section strips and light dividers. */
.receipt-supplement{margin-top:28px;border-top:1px solid #e0e5df;padding-top:26px;color:#133c30}
.receipt-section-label{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf2eb;border-radius:7px;padding:12px 14px;font-size:19px;font-weight:650;line-height:1.4;color:#133c30}
.receipt-section-label>span{font-size:12px;font-weight:400;color:#6e7b79}
.receipt-qr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:24px 8px 20px}
.receipt-qr{text-align:center;min-width:0}.receipt-qr h4{font-size:20px;font-weight:650;margin:0 0 14px;color:#133c30}.receipt-qr img{display:block;width:100%;max-width:190px;aspect-ratio:1;object-fit:contain;background:#fff;margin:auto}.receipt-qr p{font-size:12px;color:#6e7b79;margin:12px 0 0}
.receipt-bank{margin-top:14px}.receipt-bank dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 22px;margin:0;padding:20px 10px;font-size:15px;line-height:1.5}.receipt-bank dt{color:#6e7b79}.receipt-bank dd{margin:0;overflow-wrap:anywhere}.bank-account{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}
.receipt-vouchers{margin-top:18px;border-top:1px solid #e0e5df;padding-top:22px}.voucher-help{font-size:12px;color:#6e7b79;margin:12px 0}
.receipt-attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.receipt-voucher{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:8px;border:1px solid #dce4da;border-radius:8px;background:#fffefb;color:#133c30;text-align:left;cursor:zoom-in}
.receipt-voucher>img,.voucher-placeholder{display:block;width:100%;height:120px;object-fit:contain;background:#f1f3ee;border-radius:4px}.voucher-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6e7b79;font-size:18px}.voucher-placeholder small{font-size:11px;margin-top:5px}.voucher-caption{display:flex;flex-direction:column;gap:3px;min-width:0}.voucher-caption b{font-size:12px;font-weight:500}.voucher-caption small{font-size:10px;color:#6e7b79;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
dialog.receipt-voucher-dialog{position:fixed;inset:0;margin:auto;width:min(1160px,96vw);max-width:96vw;height:94vh;max-height:94vh;padding:0;border:0;border-radius:14px;background:#f1f3ee;color:#133c30;overflow:hidden;box-shadow:0 20px 80px #10251e44}
.receipt-voucher-dialog::backdrop{background:#10251edb}.receipt-voucher-dialog[open]{display:flex;flex-direction:column}.receipt-voucher-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fffefb}.receipt-voucher-dialog>header strong{min-width:0;overflow-wrap:anywhere}.receipt-voucher-dialog>nav{display:flex;align-items:center;gap:10px;padding:12px 20px;flex-wrap:wrap;border-block:1px solid #dce4da;background:#fffefb;font-size:13px}.receipt-voucher-dialog>nav a{margin-left:auto;color:#215e46;white-space:nowrap}.voucher-page-tools,.voucher-zoom-tools{display:flex;align-items:center;gap:8px}.voucher-page-tools [data-page]{white-space:nowrap;font-variant-numeric:tabular-nums}.voucher-zoom-tools{padding:0 10px;border-inline:1px solid #dce4da}.voucher-zoom-tools button{min-width:34px;font-size:18px;padding:4px 10px}.voucher-zoom-tools output{min-width:48px;text-align:center;font-variant-numeric:tabular-nums}
.voucher-view{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden;padding:0;background:#e3e9e1;touch-action:none;user-select:none;overscroll-behavior:contain;outline-offset:-3px}.voucher-view.is-ready{cursor:grab}.voucher-view.is-dragging{cursor:grabbing}.voucher-view>p{position:absolute;inset:0;display:grid;place-items:center;margin:24px;text-align:center;pointer-events:none}.voucher-view>p[hidden]{display:none}.voucher-view>img{position:absolute;left:0;top:0;display:block;max-width:none;max-height:none;object-fit:contain;margin:0;transform-origin:0 0;user-select:none;-webkit-user-drag:none;box-shadow:0 2px 18px #163c2929}.voucher-view>img[hidden]{display:none}.voucher-view-help{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0;padding:10px 20px;font-size:12px;color:#586f60;background:#fffefb;border-top:1px solid #dce4da;flex-shrink:0}
.voucher-attachment-tools{display:flex;align-items:center;justify-content:center;gap:12px;flex-basis:100%;padding-bottom:10px;border-bottom:1px solid #dce4da}.voucher-attachment-tools[hidden],.receipt-voucher-dialog>nav a[hidden]{display:none}.voucher-attachment-tools [data-attachment-position]{white-space:nowrap;font-variant-numeric:tabular-nums}.voucher-attachment-tools button{min-height:40px}
@media screen and (max-width:700px){
 .receipt-supplement{margin-top:24px;padding-top:20px}.receipt-section-label{font-size:17px;padding:10px 11px}.receipt-section-label>span{font-size:11px}.receipt-qr-grid{gap:14px;padding:20px 0 12px}.receipt-qr h4{font-size:17px;margin-bottom:10px}.receipt-qr p{font-size:10px;margin-top:8px}.receipt-bank dl{gap:11px 14px;font-size:13px;padding:18px 2px}.bank-account{font-size:16px}.receipt-attachment-grid{gap:8px}.receipt-voucher{padding:5px}.receipt-voucher>img,.voucher-placeholder{height:88px}.receipt-voucher-dialog>header,.receipt-voucher-dialog>nav{padding:12px}.receipt-voucher-dialog>header strong{font-size:14px}.receipt-voucher-dialog>nav{gap:8px}.voucher-view-help{font-size:11px;padding:8px 12px}.voucher-zoom-tools{padding:0 8px}
}
@media print{
 .receipt-supplement{margin-top:7mm;padding-top:5mm}.receipt-section-label{font-size:12pt;padding:2mm 3mm;break-after:avoid;color:#000}.receipt-section-label>span{font-size:9pt;color:#333}.receipt-qr-grid{padding:3mm 0;gap:10mm;break-inside:avoid}.receipt-qr h4{font-size:11pt;margin-bottom:1mm;color:#000}.receipt-qr img{width:32mm;max-width:32mm}.receipt-qr p{font-size:8pt;color:#333;margin:1mm 0}.receipt-bank{break-inside:avoid;margin-top:2mm}.receipt-bank dl{padding:3mm;font-size:10pt;gap:2mm 5mm}.bank-account{font-size:12pt}.receipt-vouchers{padding-top:3mm;margin-top:3mm}.receipt-attachment-grid{gap:3mm}.receipt-voucher{break-inside:avoid;cursor:default}.receipt-voucher>img,.voucher-placeholder{height:24mm}.voucher-caption b{font-size:8pt}.voucher-caption small{font-size:7pt}.receipt-voucher-dialog{display:none!important}
}
