.print-letterhead{display:none}
.clinic-letterhead{display:grid;grid-template-columns:minmax(0,1fr) 100px;direction:ltr;align-items:start;gap:20px;border:0;border-bottom:1px solid #42515c;padding:0 0 14px;margin-bottom:18px;position:static;break-inside:avoid;color:#234653}
.letterhead-identity{direction:rtl;text-align:left;min-width:0}
.clinic-letterhead .clinic-name{display:block;font-size:23px;line-height:1.6;overflow-wrap:anywhere;color:#19564e}
.clinic-letterhead .clinic-english{display:block;font:12px/1.7 Arial,sans-serif;letter-spacing:.3px;color:#405b77}
.clinic-letterhead .clinic-seal{width:100px;height:100px;object-fit:contain;justify-self:center}
.clinic-letterhead .clinic-contact{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:11px;line-height:1.8;padding:7px 0 0;color:#405b77}
.clinic-letterhead .clinic-doc{grid-column:1/-1;display:flex;direction:rtl;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid #bcc8ca;font-size:14px}
.clinic-letterhead .clinic-doc b{font:600 13px/1.5 monospace}
.letterhead-bottom{display:none}
.paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead){position:relative;isolation:isolate;box-sizing:border-box;min-height:960px;padding:30px 132px 80px 30px;background:#fff;border:1px solid #d7dcdf;border-radius:0;box-shadow:0 7px 25px #2330400b}
.paper:has(>.clinic-letterhead)::before,.invoice-sheet:has(>.clinic-letterhead)::before{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:112px;background:#f2f3f4;border-left:1px solid #eef0f1}
.paper:has(>.clinic-letterhead)::after,.invoice-sheet:has(>.clinic-letterhead)::after{content:"";position:absolute;z-index:-1;left:0;bottom:35px;width:70%;height:250px;background:#f5f6f7;clip-path:polygon(0 100%,42% 40%,54% 55%,80% 0,100% 35%,100% 100%)}
.paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead{margin-right:-112px;column-gap:20px}
.paper>.clinic-letterhead>.letterhead-bottom,.invoice-sheet>.clinic-letterhead>.letterhead-bottom{display:flex;position:absolute;bottom:12px;left:0;right:0;justify-content:space-between;align-items:center;gap:12px;direction:rtl;padding:7px 18px;border-block:3px double #607875;background:#19564e;color:white;font-size:10px}
.paper:has(>.clinic-letterhead) table,.invoice-sheet:has(>.clinic-letterhead) table{width:100%;table-layout:auto;overflow-wrap:anywhere}
.intake-copies .intake-copy:has(>.clinic-letterhead){min-height:0;padding:18px 98px 52px 18px}
.intake-copies .intake-copy::before{width:80px}.intake-copies .intake-copy>.clinic-letterhead{margin-right:-80px;grid-template-columns:minmax(0,1fr) 70px;gap:10px}
.intake-copy .clinic-letterhead .clinic-seal{width:65px;height:65px}.intake-copy .clinic-name{font-size:18px}.intake-copy .clinic-contact{font-size:10px;padding:0}.intake-copy .clinic-doc{padding-top:6px}
@media(max-width:600px){.paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead){padding:20px 20px 70px;min-height:600px}.paper:has(>.clinic-letterhead)::before,.invoice-sheet:has(>.clinic-letterhead)::before{width:0}.paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead{margin-right:0;grid-template-columns:minmax(0,1fr) 70px}.clinic-letterhead .clinic-seal{width:65px;height:65px}.clinic-letterhead .clinic-name{font-size:18px}}
@media print{
 @page{size:A4;margin:10mm}
 .clinic-letterhead{display:grid!important}.clinic-letterhead .clinic-name,.clinic-letterhead .clinic-english,.clinic-letterhead .clinic-contact{color:#333!important}
 .paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead){width:100%;max-width:none;min-height:268mm;margin:0!important;padding:8mm 33mm 22mm 8mm!important;border:0!important;box-shadow:none;filter:grayscale(1);print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead{margin-right:-28mm!important;grid-template-columns:minmax(0,1fr) 25mm}
 .paper:has(>.clinic-letterhead)::before,.invoice-sheet:has(>.clinic-letterhead)::before{width:28mm}
 .clinic-letterhead .clinic-name{font-size:19px}.clinic-letterhead .clinic-seal{width:24mm;height:24mm}
 .letterhead-bottom{color:#fff!important}.letterhead-bottom *{color:inherit!important}
 .paper table thead,.invoice-sheet table thead{display:table-header-group}.paper tr,.invoice-sheet tr{break-inside:avoid}
 .intake-copies .intake-copy:has(>.clinic-letterhead){min-height:0;padding:4mm 24mm 14mm 4mm!important;margin-bottom:5mm!important;break-inside:avoid}
 .intake-copies .intake-copy::before{width:20mm}.intake-copies .intake-copy>.clinic-letterhead{margin-right:-20mm!important;grid-template-columns:minmax(0,1fr) 18mm;margin-bottom:8px}.intake-copy .clinic-letterhead .clinic-seal{width:17mm;height:17mm}.intake-copy .clinic-name{font-size:16px}.intake-copy .clinic-doc{font-size:12px}
 body:not(:has(.paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead)) .print-letterhead{display:block;margin-bottom:7mm}
 .print-letterhead .letterhead-bottom{display:none!important}
 body.roll-receipt .paper:has(>.clinic-letterhead){width:72mm;min-height:0;padding:2mm!important;background:white}
 body.roll-receipt .paper::before,body.roll-receipt .paper::after,body.roll-receipt .letterhead-bottom{display:none!important}
 body.roll-receipt .paper>.clinic-letterhead{margin:0 0 3mm!important;grid-template-columns:minmax(0,1fr) 12mm;gap:6px}
 body.roll-receipt .clinic-letterhead .clinic-seal{width:12mm;height:12mm}body.roll-receipt .clinic-letterhead .clinic-name{font-size:12px}body.roll-receipt .clinic-letterhead .clinic-english,body.roll-receipt .clinic-letterhead .clinic-contact{font-size:8px}body.roll-receipt .clinic-letterhead .clinic-doc{font-size:10px}body.roll-receipt .clinic-doc b{font-size:10px}
}

.paper .invoice-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:11px}
@media print{
 .invoice-sheet .letterhead-bottom,.invoice-sheet .letterhead-bottom *{color:white!important}
 .intake-copies .intake-copy:has(>.clinic-letterhead){padding-top:2mm!important;padding-bottom:12mm!important;margin-bottom:3mm!important}
 .intake-copy .clinic-letterhead{padding-bottom:6px;gap:5px!important}
 .intake-copy .clinic-letterhead .clinic-seal{width:14mm;height:14mm}
 .intake-copy .clinic-letterhead .clinic-name{font-size:14px}
 .intake-copy .clinic-letterhead .clinic-contact{font-size:9px;line-height:1.5}
 .intake-copy .clinic-letterhead .clinic-english{font-size:9px}
 .intake-copy .intake-state{padding:5px;margin-top:6px;font-size:11px}
 .intake-copy .invoice-meta{margin:7px 0!important}
 .intake-copy p{font-size:10px;margin:6px 0}
 .intake-copy .invoice-foot{margin-top:8px!important;font-size:10px}
 .intake-copy::after{height:100px!important}
}
@media print{@page clinic-roll{size:80mm 200mm;margin:4mm}body.roll-receipt .paper{page:clinic-roll}.roll-receipt .paper .invoice-foot{display:block;font-size:8px}.roll-receipt .paper .invoice-foot span{display:block;margin:8px 0}}
@media print{
 body:not(:has(.paper,.invoice-sheet)) main form,body:not(:has(.paper,.invoice-sheet)) main button,body:not(:has(.paper,.invoice-sheet)) main .ranges{display:none!important}
 body:not(:has(.paper,.invoice-sheet)) main{filter:grayscale(1)}
 .body:has(>.print-letterhead):not(:has(.paper,.invoice-sheet)){position:relative;min-height:268mm;box-sizing:border-box;padding-bottom:18mm!important}
 .body:has(>.print-letterhead):not(:has(.paper,.invoice-sheet))>.print-letterhead .letterhead-bottom{display:flex!important;position:absolute;bottom:0;left:0;right:0;justify-content:space-between;padding:7px 12px;background:#444;color:white!important;font-size:10px}
}
/* Navy and cyan stationery, shared by receipts and reports. */
.clinic-letterhead{border-bottom-color:#123347;padding-top:34px;background:linear-gradient(120deg,transparent 11%,#09b9dd 11% 15%,white 15% 16%,#123347 16% 20%,transparent 20%) top/100% 24px no-repeat,linear-gradient(#123347,#123347) 0 8px/100% 8px no-repeat}
.clinic-letterhead .clinic-name{color:#123347}
.paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead){padding-right:30px}
.paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead{margin-right:0}
.paper:has(>.clinic-letterhead)::before,.invoice-sheet:has(>.clinic-letterhead)::before,.paper:has(>.clinic-letterhead)::after,.invoice-sheet:has(>.clinic-letterhead)::after{content:none}
.paper>.clinic-letterhead>.letterhead-bottom,.invoice-sheet>.clinic-letterhead>.letterhead-bottom,.body>.print-letterhead .letterhead-bottom{background:linear-gradient(55deg,#123347 0 77%,#09b9dd 77% 86%,white 86% 87%,#123347 87% 94%,#09b9dd 94%);border:0;padding-inline-start:25%}
.intake-copies .intake-copy:has(>.clinic-letterhead){padding-right:18px}
.intake-copies .intake-copy>.clinic-letterhead{margin-right:0}
@media print{
 .paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead){padding-right:8mm!important}
 .paper>.clinic-letterhead,.invoice-sheet>.clinic-letterhead{margin-right:0!important}
 .intake-copies .intake-copy:has(>.clinic-letterhead){padding-right:4mm!important}
 .intake-copies .intake-copy>.clinic-letterhead{margin-right:0!important;padding-top:20px;background-size:100% 16px,100% 5px}
 .clinic-letterhead{print-color-adjust:exact}
 body.roll-receipt .clinic-letterhead{padding-top:0;background:none}
}
@media print{
 .paper:has(>.clinic-letterhead),.invoice-sheet:has(>.clinic-letterhead),body:not(:has(.paper,.invoice-sheet)) main{filter:none}
 .letterhead-bottom{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .body:has(>.print-letterhead):not(:has(.paper,.invoice-sheet))>.print-letterhead .letterhead-bottom{background:linear-gradient(55deg,#123347 0 77%,#09b9dd 77% 86%,white 86% 87%,#123347 87% 94%,#09b9dd 94%)}
}
/* Compact, aligned visit invoice. */
.intake-copies{max-width:900px;margin-inline:auto}
.intake-copies .intake-copy:has(>.clinic-letterhead){padding:22px 24px 64px}
.intake-copy .clinic-letterhead{grid-template-columns:minmax(0,1fr) 78px;gap:12px;padding-bottom:10px}
.intake-copy .clinic-letterhead .clinic-seal{width:72px;height:72px}
.intake-copy .clinic-name{font-size:19px}
.intake-copy .clinic-doc{font-size:14px;padding-top:10px}
.intake-copy .intake-state{border:1px solid #dae1e7;border-right:4px solid #123347;border-radius:5px;background:#f6f8fa;color:#123347;padding:9px;font-size:13px;margin:14px 0}
.intake-copy .invoice-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:#fafbfd;padding:12px;border:1px solid #edf0f3;border-radius:6px}
.intake-copy .invoice-meta small{font-size:11px;color:#65788c;margin-bottom:5px}
.intake-copy .invoice-meta strong,.intake-copy .invoice-meta bdi{font-size:14px;line-height:1.8}
.intake-copy .invoice-meta:has(>div:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));background:white;border:0;padding:10px 0}
.intake-copy .invoice-meta:has(>div:nth-child(3):last-child)>div{padding:10px 12px;border:1px solid #e0e6ed;border-radius:5px;font-size:12px}
.intake-copy .invoice-meta:has(>div:nth-child(3):last-child)>div:last-child{background:#edf7fa;border-color:#aad6e2;color:#123347}
.intake-copy table th{background:#f1f5f8;color:#264052;font-size:12px}
.intake-copy table td{font-size:13px}
.intake-copy table th,.intake-copy table td{padding:10px 8px}
.intake-copy .invoice-foot{font-size:11px;padding-top:14px;margin-top:20px}
.intake-copy>p{font-size:11px;color:#56687b;line-height:1.9}
@media(max-width:600px){.intake-copy .invoice-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-copy .invoice-meta:has(>div:nth-child(3):last-child){grid-template-columns:1fr}.intake-copies .intake-copy:has(>.clinic-letterhead){padding-inline:14px}}
@media print{
 .intake-copy .invoice-meta{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;gap:8px}
 .intake-copy .invoice-meta strong,.intake-copy .invoice-meta bdi{font-size:11px;line-height:1.4}
 .intake-copy .invoice-meta small{font-size:9px;margin-bottom:3px}
 .intake-copy .invoice-meta:has(>div:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));padding:3px 0}
 .intake-copy .invoice-meta:has(>div:nth-child(3):last-child)>div{padding:5px 8px;font-size:10px}
 .intake-copy table th,.intake-copy table td{padding:6px;font-size:10px}
 .intake-copy .intake-state{margin:6px 0;padding:5px;font-size:10px}
 .intake-copy>p{font-size:9px;line-height:1.5}
 .intake-copy .invoice-foot{padding-top:8px}
}
