*{box-sizing:border-box}body{margin:0;background:#f2f4f7;color:#20242a;font:15px/1.45 Arial,Helvetica,sans-serif}.topbar{background:#fff;border-bottom:1px solid #e3e6eb;padding:18px max(22px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar h1{font-size:22px;margin:0 0 3px}.topbar p{margin:0;color:#68717d;font-size:13px}.top-actions{display:flex;gap:9px}.btn{border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:#1769aa;color:#fff}.secondary{background:#e9edf2;color:#27313c}.layout{max-width:1200px;margin:24px auto;padding:0 18px;display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,430px);gap:28px;align-items:start}.panel{background:#fff;border:1px solid #e1e5ea;border-radius:12px;padding:22px}.panel h2,.preview-heading h2{font-size:18px;margin:0}.editor h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#1769aa;border-bottom:1px solid #e8edf2;padding:16px 0 7px;margin:8px 0 12px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:700;color:#4f5965;margin-bottom:5px}.field input,.field textarea{width:100%;border:1px solid #d5dbe2;border-radius:7px;padding:10px 11px;font:14px Arial;background:#fff;color:#20242a}.field input:focus,.field textarea:focus{outline:2px solid #b8d8f2;border-color:#4d94ca}.field textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.form-actions span{font-size:12px;color:#277443}.preview-area{position:sticky;top:18px}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.preview-heading span,.hint{font-size:12px;color:#68717d}.receipt{width:290px;max-width:100%;margin:0 auto;background:#fff;padding:20px 15px 24px;box-shadow:0 3px 18px #1b27331c;color:#292929;font-family:"Courier New",monospace;font-size:12px;line-height:1.35;min-height:450px}.receipt-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:8px;font-family:Arial,sans-serif}.receipt-brand strong{font-size:19px;letter-spacing:.4px}.brand-mark{width:52px;height:34px;position:relative}.brand-mark i,.brand-mark b,.brand-mark em{position:absolute;display:block;background:#242424;transform:skew(-28deg)}.brand-mark i{width:22px;height:22px;left:2px;bottom:1px}.brand-mark b{width:17px;height:17px;left:23px;top:0;clip-path:polygon(0 0,100% 0,100% 100%)}.brand-mark em{width:18px;height:18px;left:23px;bottom:1px;clip-path:polygon(0 0,100% 0,100% 100%)}.center{text-align:center}.spbu-line{font-size:16px;margin:5px 0}.address{white-space:pre-line;margin:4px 0}.rule{border-top:1px dashed #555;margin:11px 0}.meta-row{display:flex;justify-content:space-between;gap:8px;margin:7px 0}.meta-row span:last-child{text-align:right}.data-row{display:flex;justify-content:space-between;gap:6px;margin:3px 0}.data-row span:last-child{text-align:right}.total{font-weight:bold;margin-top:5px}.cash{margin-top:8px}.footer-message{text-align:center;margin-top:28px;font-weight:bold;letter-spacing:.1px}.hint{max-width:340px;margin:13px auto 0;text-align:center}.receipt b{font-weight:bold}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.layout{grid-template-columns:1fr;margin-top:14px}.preview-area{position:static;grid-row:1}.editor{grid-row:2}.top-actions{width:100%}.top-actions .btn{flex:1}}@media print{@page{size:58mm auto;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important;width:58mm}.topbar,.editor,.preview-heading,.hint{display:none!important}.layout{display:block;margin:0;padding:0;width:58mm}.preview-area{position:static;margin:0;padding:0}.receipt{width:58mm;max-width:none;margin:0;padding:5mm 3.5mm 7mm;box-shadow:none;min-height:0;font-size:10.5px;break-inside:avoid}.receipt-brand strong{font-size:17px}.spbu-line{font-size:14px}.brand-mark{transform:scale(.9)}}
.logo-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}
.logo-tools span{font-size:11px;color:#68717d}
.btn.small{padding:7px 10px;font-size:12px}
.uploaded-logo{width:52px;height:38px;object-fit:contain;display:block}
.uploaded-logo[hidden]{display:none}
@media print{.uploaded-logo{width:48px;height:34px}}
