:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#17212f;background:#f4f6f9;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dde2e9;border-radius:8px;background:white;color:inherit;padding:11px 15px;transition:.15s}button:hover{background:#eaf6f2;border-color:#1b8c70}button:disabled{opacity:.45;cursor:default}.primary{background:#137d65;color:white;border-color:#137d65}.primary:hover{background:#0a6550}input,select,textarea{padding:11px;border:1px solid #d9dee6;border-radius:7px;background:white;width:100%}label{display:grid;gap:6px;font-size:12px;color:#5d6878}h1{font-size:28px;margin:0 0 8px;letter-spacing:-.9px}h2{font-size:17px;margin:0 0 18px}p{color:#748091;line-height:1.6}.shell{display:grid;grid-template-columns:218px 1fr;min-height:100vh}aside{background:#142231;color:#b6c2d0;padding:28px 18px;display:flex;flex-direction:column;gap:8px}.brand{font-size:24px;font-weight:800;letter-spacing:2px;color:white;padding:0 12px 30px}.brand small{font-size:10px;display:block;letter-spacing:1.6px;margin-top:5px;color:#8ca0b5}aside button{background:transparent;border:0;text-align:left;color:#aab9c9;padding:13px 14px}aside button.active{background:#253d4d;color:#76dfbd}aside .bottom{margin-top:auto;padding:25px 12px 0;font-size:12px}main{padding:30px 36px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:#7b8998;margin-bottom:8px}.badge{display:inline-block;border-radius:20px;padding:6px 11px;font-size:11px;background:#e2f3ed;color:#16765c}.badge.warn{background:#fff1db;color:#a56f20}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid #e4e8ee;border-radius:12px;padding:22px}.stat span{color:#748091;font-size:12px}.stat strong{display:block;margin-top:12px;font-size:28px;letter-spacing:-1px}.stat small{color:#929ead}.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.toolbar{display:flex;gap:12px;align-items:center;margin:0 0 20px}.toolbar input{flex:1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8794a3;font-weight:600;padding:14px 12px;border-bottom:1px solid #edf0f4}td{padding:15px 12px;border-bottom:1px solid #edf0f4;font-size:13px}td small{display:block;font-size:11px;color:#8b97a6;margin-top:4px}.bar-chart{height:190px;display:flex;align-items:end;gap:16px;padding:15px 0 25px}.bar{flex:1;background:#39a98c;border-radius:5px 5px 0 0;position:relative;min-height:3px}.bar span{position:absolute;bottom:-25px;font-size:10px;color:#8a96a3;white-space:nowrap}.pos{display:grid;grid-template-columns:1fr 350px;gap:20px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product{text-align:left;min-height:120px;padding:18px}.product .icon{width:32px;height:32px;border-radius:8px;background:#eaf3f0;color:#17856b;display:grid;place-items:center;margin-bottom:12px}.product strong{display:block;font-size:13px}.product small{display:block;color:#8390a0;margin:5px 0}.product b{color:#16785f}.cart{display:flex;flex-direction:column;gap:14px}.cartline{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #eee;padding:10px 0}.quantity{display:flex;align-items:center;gap:8px;margin-top:8px}.quantity button{padding:2px 8px}.total{display:flex;justify-content:space-between;font-size:24px;font-weight:700;margin:18px 0}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}.form button{align-self:end}.login{max-width:410px;margin:10vh auto;background:white;padding:38px;border:1px solid #e4e8ee;border-radius:16px}.login .brand{color:#142231;padding:0;margin-bottom:25px}.login label{margin:18px 0}.login button{width:100%;margin-top:12px}.notice{padding:12px 16px;background:#fff1db;color:#865815;border-radius:8px;margin-bottom:20px}.error{color:#af3838}.empty{padding:30px;text-align:center;color:#8994a3}.receipt{display:none}details{margin:18px 0}summary{cursor:pointer;color:#14745d;padding:8px 0}.split{display:flex;justify-content:space-between;align-items:center;gap:10px}.muted{color:#8994a3}.row{display:flex;gap:10px;align-items:center}#toast{position:fixed;bottom:25px;right:25px;background:#142231;color:white;padding:15px 22px;border-radius:9px;max-width:420px;z-index:5}.footnote{font-size:11px;color:#98a3b0;margin-top:22px}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.pos,.cols{grid-template-columns:1fr}.shell{grid-template-columns:170px 1fr}main{padding:24px}.products{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block}aside{padding:15px;flex-direction:row;flex-wrap:wrap}.brand{padding:5px 10px;font-size:19px}aside .bottom{display:none}header{align-items:start;gap:15px}main{padding:18px}.form{grid-template-columns:1fr}.stats{gap:10px}.stat strong{font-size:23px}}@media print{body>*{display:none!important}body>.receipt{display:block!important;font-family:monospace;width:75mm;padding:4mm}.receipt table{font-size:10px}.receipt td{padding:5px} .receipt h1{font-size:20px}}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0}.check-grid label{display:flex;gap:10px;align-items:center}input[type=checkbox]{width:18px;height:18px;accent-color:#14745d}textarea{font:inherit;padding:12px;border:1px solid #dce3eb;border-radius:7px;min-height:110px;width:100%;box-sizing:border-box}.wa-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;margin:20px 0}.wa-contact{width:100%;text-align:left;margin:7px 0}.wa-contact small,.job-card small{display:block;margin-top:6px}.wa-contact.selected{border-color:#14745d;background:#e6f4ed}.wa-message{max-width:85%;padding:14px;margin:12px 0;background:#eef1f6;border-radius:14px;white-space:pre-wrap}.wa-message.out{margin-left:auto;background:#ddf4e8}.wa-message.draft{border:1px dashed #ad8d3b;background:#fff8e5}.wa-message span,.wa-message small{font-size:11px;color:#566477}.wa-message p{margin:7px 0}#wa-messages{max-height:480px;overflow:auto}#wa-qr img{width:260px;max-width:100%}.job-board{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;overflow:auto;margin:20px 0}.job-board>div{background:#f3f6f9;border-radius:12px;padding:12px;min-height:160px}.job-board h3{font-size:12px;text-transform:uppercase;letter-spacing:1px}.job-card{display:block;width:100%;text-align:left;margin:9px 0;background:white}.receipt-wrap{position:fixed;inset:0;background:#e8edf3;z-index:10;overflow:auto;padding:28px;display:flex;align-items:flex-start;justify-content:center;gap:25px}.receipt-wrap .receipt{display:block;width:80mm;min-width:80mm;background:white;padding:5mm;box-sizing:border-box;box-shadow:0 10px 40px #17243622;color:#111;font-family:Arial,Helvetica,sans-serif}.receipt-actions{display:flex;flex-direction:column;gap:12px}.modern-receipt h1{text-align:center;font-size:23px;letter-spacing:2px;margin:12px 0}.receipt-contact,.receipt-meta{text-align:center;font-size:10px;line-height:1.6;overflow-wrap:anywhere}.receipt-caption{text-align:center;font-size:11px;letter-spacing:2px;font-weight:700;margin:16px 0}.receipt-rule{border-top:1px dashed #333;margin:16px 0}.modern-receipt table{width:100%;font-size:11px;border-collapse:collapse}.modern-receipt th{font-size:9px;letter-spacing:1px;color:#555;text-align:left}.modern-receipt td{padding:10px 0;border-bottom:1px solid #eee;vertical-align:top}.modern-receipt td:last-child,.modern-receipt th:last-child{text-align:right;white-space:nowrap}.modern-receipt td small{display:block;font-size:10px;margin-top:5px;color:#555}.receipt-total{display:flex;justify-content:space-between;margin:20px 0;font-size:16px;font-weight:700}.receipt-payment{font-size:10px;line-height:1.7}.receipt-qr{display:block;width:33mm;height:33mm;margin:16px auto 0;image-rendering:pixelated}.receipt-logo{display:block;max-width:50mm;max-height:25mm;margin:0 auto;object-fit:contain}.receipt-scan,.receipt-footer{text-align:center;font-size:10px;line-height:1.6}.receipt-powered{display:block;text-align:center;font-size:8px;letter-spacing:1px;color:#555}.receipt.invoice{width:190mm;min-width:190mm}.receipt.invoice h1{text-align:left}.receipt.invoice table{font-size:14px}.receipt.invoice .receipt-total{font-size:24px}@media(max-width:850px){.wa-layout{grid-template-columns:1fr}.receipt-wrap{display:block}.receipt-actions{margin:20px 0}}@media print{@page{size:80mm auto;margin:0}body>.receipt-wrap{display:block!important;position:static!important;padding:0!important;background:white!important}.receipt-wrap>*{display:none!important}.receipt-wrap>.receipt{display:block!important;box-shadow:none!important;margin:0!important;font-family:Arial,Helvetica,sans-serif!important;width:80mm;padding:5mm}.receipt.invoice{width:190mm!important}.receipt.invoice td{font-size:14px}}
@media(min-width:651px){aside{position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;gap:2px;padding:20px 12px}aside button{padding:9px 12px;font-size:13px}aside .brand{padding-bottom:20px}aside .bottom{padding:16px 12px 0;flex-shrink:0}.shell{align-items:start;min-height:100vh}}

/* Receipt and A4 invoice design */
.modern-receipt p,.modern-receipt small{overflow-wrap:anywhere}.modern-receipt .receipt-logo{height:auto;object-fit:contain;max-height:160px}.modern-receipt.invoice{width:210mm!important;max-width:none;min-height:287mm;padding:14mm!important;text-align:left;box-sizing:border-box;background:white}.invoice-page{color:#263445;font:13px Arial,Helvetica,sans-serif;line-height:1.6;text-align:left}.invoice-head{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:3px solid var(--invoice-accent);padding-bottom:22px}.invoice-head h1{font-size:28px;letter-spacing:-1px;text-align:left;margin:8px 0}.invoice-heading{text-align:right}.invoice-heading h2{color:var(--invoice-accent);font-size:32px;margin:0;letter-spacing:2px}.invoice-paid{background:#e6f5ee;color:#186347;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:bold}.invoice-logo{max-width:160px;max-height:90px;object-fit:contain;display:block}.invoice-company{padding:16px 0;color:#5d6a7a}.invoice-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:24px 0}.invoice-details>div:last-child{text-align:right}.invoice-details small{letter-spacing:2px;color:var(--invoice-accent);font-size:10px;font-weight:bold}.invoice-details h3{margin:8px 0}.invoice-page table{width:100%;border-collapse:collapse;font-size:13px}.invoice-page thead{background:var(--invoice-accent);color:white}.invoice-page th{color:inherit;padding:12px;text-align:left}.invoice-page td{padding:15px 12px;border-bottom:1px solid #e3e8ee}.invoice-page th:not(:first-child),.invoice-page td:not(:first-child){text-align:right}.invoice-page tbody tr:nth-child(even){background:#f7f9fc}.invoice-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;width:48%;margin:28px 0 0 auto;padding:16px;background:#eef4f7}.invoice-summary strong{font-size:24px;color:var(--invoice-accent)}.invoice-payment{text-align:right;font-size:12px}.invoice-bottom{display:flex;gap:25px;border-top:1px solid #e3e8ee;margin-top:30px;padding-top:18px}.invoice-bottom>div{flex:1}.invoice-bottom h3{font-size:12px;margin:0}.invoice-qr{width:80px;height:80px;object-fit:contain}.invoice-page footer{margin-top:35px;border-top:1px solid #e3e8ee;padding-top:16px;font-size:12px;text-align:center}.template-minimal .invoice-head{border-bottom:1px solid #333}.template-minimal .invoice-lines thead{background:#f0f2f4;color:#263445}.template-minimal .invoice-summary{background:white;border-top:2px solid #333}.template-executive .invoice-head{background:var(--invoice-accent);color:white;padding:22px}.template-executive .invoice-heading h2{color:white}.template-executive .invoice-company{border-bottom:1px solid #e3e8ee}.receipt-wrap:has(.invoice){overflow:auto;align-items:flex-start}.receipt-actions{flex-shrink:0}textarea{min-height:90px}#store-result,#design-result,#customer-result,#artwork-result{white-space:pre-wrap}
@media print{.modern-receipt.invoice{width:190mm!important;min-height:0;padding:0!important;margin:0!important;box-shadow:none}.invoice-head,.invoice-details,.invoice-summary,.invoice-bottom{break-inside:avoid}.invoice-lines tr{break-inside:avoid}.invoice-lines thead{display:table-header-group}.invoice-page{print-color-adjust:exact;-webkit-print-color-adjust:exact}.receipt-wrap{overflow:visible!important}}

.modern-receipt:not(.invoice) p,.modern-receipt:not(.invoice) table{font-size:var(--receipt-size,12px)}.modern-receipt:not(.invoice) td small{font-size:calc(var(--receipt-size,12px) - 1px)}

.modern-receipt:not(.invoice){padding:var(--receipt-padding,3mm)!important;line-height:var(--receipt-line,1.2)}.modern-receipt:not(.invoice) h1{font-size:var(--company-size,18px);letter-spacing:.5px;margin:var(--receipt-gap,6px) 0}.modern-receipt:not(.invoice) p,.modern-receipt:not(.invoice) small{line-height:var(--receipt-line,1.2);margin:var(--receipt-gap,6px) 0}.modern-receipt:not(.invoice) .receipt-rule,.modern-receipt:not(.invoice) .receipt-caption,.modern-receipt:not(.invoice) .receipt-total{margin:var(--receipt-gap,6px) 0}.modern-receipt:not(.invoice) td{padding:var(--receipt-gap,6px) 0}.modern-receipt:not(.invoice) .receipt-qr{margin:var(--receipt-gap,6px) auto 0;width:28mm;height:28mm}
