:root{--ink:#1a1a1a;--muted:#6b7076;--line:#d8dadd;--line-strong:#b9bcc0;--panel-bg:#ffffff;--app-bg:#eef1f4;--accent:#1c2b39;--accent-2:#c0392b;--chip-bg:#f2f4f6;--chip-border:#d3d7db;--radius:12px;--radius-sm:8px;font-size:15px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--app-bg);color:var(--ink)}h1,h2,h3{margin:0 0 4px 0}.app{display:flex;align-items:flex-start;gap:22px;max-width:1460px;margin:0 auto;padding:22px}.brandbar{max-width:1460px;margin:0 auto;padding:18px 22px 0 22px}.brandbar h1{font-size:20px}.brandbar p{margin:2px 0 0;color:var(--muted);font-size:13.5px}.panel{flex:0 0 430px;background:var(--panel-bg);border-radius:var(--radius);box-shadow:0 1px 2px rgba(20,20,30,.06),0 8px 24px rgba(20,20,30,.06);padding:6px 18px 18px;max-height:calc(100vh - 40px);overflow-y:auto;position:sticky;top:20px}details{border-top:1px solid var(--line);padding:12px 0}details:first-of-type{border-top:none}summary{cursor:pointer;font-weight:650;font-size:14.5px;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:2px 0}summary::-webkit-details-marker{display:none}summary:after{content:"›";transform:rotate(90deg);transition:transform .15s ease;color:var(--muted);font-size:18px}details[open] summary:after{transform:rotate(270deg)}label{display:block;font-size:12.5px;color:var(--muted);margin:10px 0 4px}input[type=text],input[type=number],input[type=date],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--ink);background:#fff}textarea{resize:vertical;min-height:52px}input:focus,select:focus,textarea:focus{outline:2px solid #9db4c9;outline-offset:1px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.btn{appearance:none;border:1px solid var(--line-strong);background:#fff;color:var(--ink);padding:8px 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;cursor:pointer}.btn:hover{background:#f5f6f7}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#142029}.btn.danger{color:#a23b32;border-color:#e0bdb7}.btn.small{padding:4px 9px;font-size:12px}.btn.block{width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.hint{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.4}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{display:flex;align-items:center;gap:6px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;padding:6px 6px 6px 12px;font-size:13px}.chip .chip-main{cursor:pointer}.chip .chip-price{color:var(--muted);font-size:12px}.chip button{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:13px;width:20px;height:20px;border-radius:50%}.chip button:hover{background:#e3e6e9;color:var(--ink)}.addservice{display:grid;grid-template-columns:1fr 134px auto;gap:8px;margin-top:10px}.addservice input{font-size:13px}table.items{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}table.items th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;padding:4px;border-bottom:1px solid var(--line)}table.items td{padding:4px;vertical-align:middle}table.items input{padding:6px 7px;font-size:13px}table.items td.qty input,table.items td.price input{width:100%}table.items td.val{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}table.items td.rm{width:26px;text-align:center}table.items td.rm button{border:none;background:transparent;color:#a23b32;cursor:pointer;font-size:16px}.totals-mini{margin-top:10px;font-size:13.5px}.totals-mini div{display:flex;justify-content:space-between;padding:3px 0}.totals-mini .grand{font-weight:700;border-top:1px solid var(--line);margin-top:4px;padding-top:6px}.history-item{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;margin-top:8px;font-size:12.8px}.history-item .top{display:flex;justify-content:space-between;font-weight:650}.history-item .mid{color:var(--muted);margin:2px 0 6px}.history-item .btns{display:flex;gap:6px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1c2b39;color:#fff;padding:10px 18px;border-radius:999px;font-size:13.5px;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50}.toast.show{opacity:1}.fileline{display:flex;align-items:center;gap:8px;margin-top:6px}.fileline img{height:34px;border:1px solid var(--line);border-radius:6px;background:#fafafa}.fileline .stampimg{height:44px}#catalog-chips{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}#catalog-chips .chip{width:100%;border-radius:10px;padding:0;overflow:hidden;background:#fff;border:1px solid var(--chip-border);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0}#catalog-chips .chip:hover{border-color:#9aa2aa;box-shadow:0 2px 8px rgba(20,20,30,.06)}#catalog-chips .chip-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}#catalog-chips .svc-name{font-weight:650;font-size:13.2px;line-height:1.25}#catalog-chips .svc-price-wrap{text-align:right;white-space:nowrap}#catalog-chips .svc-price{display:block;color:var(--ink);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}#catalog-chips .svc-vat{display:block;color:var(--muted);font-size:10.8px;margin-top:2px}#catalog-chips .chip-actions{display:flex;align-items:center;border-left:1px solid var(--line);padding:0 5px;background:#fafbfc}#catalog-chips .chip-actions button{width:26px;height:26px}.service-help{margin-top:4px;padding:8px 10px;border-radius:8px;background:#f7f8fa;color:#59616a;font-size:11.7px;line-height:1.35}.service-manage{margin-top:10px;border:1px dashed var(--line-strong);border-radius:9px;padding:7px 9px}.service-manage summary{font-size:12.5px;color:var(--muted)}.preview-wrap{flex:1;display:flex;justify-content:center}.invoice-sheet{width:210mm;min-height:297mm;background:#fff;box-shadow:0 1px 2px rgba(20,20,30,.08),0 10px 30px rgba(20,20,30,.12);padding:16mm 14mm 12mm;font-family:Arial,Helvetica,sans-serif;color:#1b1b1b;font-size:11.3pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.inv-header .logo-box img{max-height:32mm;max-width:85mm;object-fit:contain;display:block}.inv-header .issuer{text-align:right;font-size:10.3pt;line-height:1.5}.inv-header .issuer .iname{font-weight:700;font-size:11.5pt;text-transform:uppercase}.inv-header .issuer .inipt{font-weight:700;margin-top:3px}.inv-hr{border:none;border-top:1.4px solid #8d8d8d;margin:14px 0 16px}.inv-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.inv-title-row h2{font-size:19pt;margin:0;letter-spacing:.2px}.inv-title-row .sub{font-size:10.6pt;color:#333;margin-top:2px}.inv-meta{font-size:10.3pt}.inv-meta div{display:grid;grid-template-columns:24mm 30mm;padding:1px 0}.inv-meta .lbl{font-weight:700}.inv-meta span:last-child{text-align:right}.client-box{width:62%;border:1px solid #9c9c9c;border-radius:2px;margin-bottom:14px}.client-box .cb-title{font-weight:700;font-size:10.6pt;padding:8px 12px;border-bottom:1px solid #9c9c9c;letter-spacing:.2px}.client-box .cb-body{padding:10px 12px;font-size:10.6pt}.client-box .cb-row{display:flex;padding:3px 0}.client-box .cb-row .lbl{font-weight:700;width:90px;flex:0 0 90px}table.svc{width:100%;border-collapse:collapse;margin-bottom:4px}table.svc th{border:1px solid #9c9c9c;background:#fff;font-size:10.2pt;font-weight:700;padding:8px;text-align:center;white-space:nowrap}table.svc th.c-num{width:7%}table.svc th.c-qty{width:13%}table.svc th.c-price{width:19%}table.svc th.c-val{width:16%}table.svc td{border:1px solid #9c9c9c;font-size:10.4pt;padding:9px 8px;vertical-align:top}table.svc td.c-num{text-align:center}table.svc td.c-qty{text-align:center}table.svc td.c-price{text-align:center;white-space:nowrap}table.svc td.c-val{text-align:right;white-space:nowrap}table.svc tbody td{border-top:none;border-bottom:none}table.svc tbody tr:last-child td{border-bottom:1px solid #9c9c9c}table.svc tr.filler td{height:32px}.totals{width:48%;margin-left:auto;border-collapse:collapse;margin-top:0;margin-bottom:14px}.totals td{padding:8px 10px;font-size:10.6pt;white-space:nowrap}.totals tr td:first-child{width:47%;border:1px solid #9c9c9c;border-right:none;font-weight:600}.totals tr td:last-child{width:53%;border:1px solid #9c9c9c;text-align:right}.totals tr.grand td{font-weight:700;font-size:11.4pt;background:#1c1c1c;color:#fff;border-color:#1c1c1c}.totals tr.grand td:first-child{font-size:10.6pt}.inv-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:8px}.inv-left{display:flex;flex-direction:column;justify-content:space-between;gap:10px}.pay-box{font-size:10.4pt;line-height:1.55}.pay-box .h{font-weight:700;margin-bottom:2px}.pay-row{display:flex}.pay-row span:first-child{flex:0 0 25mm}.sign-box{position:relative;flex:0 0 80mm;height:41.5mm;margin-top:5.5mm;font-size:10.4pt;line-height:1.55}.sign-text{margin-left:6mm}.sign-box img.sig{position:absolute;left:0;top:18.5mm;width:34mm}.sign-box .stamp{position:absolute;right:0;top:6mm;width:35mm;height:35mm}.sign-box .stamp svg,.sign-box .stamp img{display:block;width:100%;height:100%;object-fit:contain}.note-box{font-size:9.4pt}.note-box .h{font-weight:700;margin-bottom:2px}.note-box .line{color:#222}.inv-footer{text-transform:uppercase;margin-top:7mm;padding-top:10px;border-top:1px solid #ccc;text-align:center;font-size:9pt;color:#555;line-height:1.5}@media(max-width:980px){.app{flex-direction:column}.panel{position:static;max-height:none;flex:none;width:100%}.preview-wrap{width:100%;overflow:auto}}@media(max-width:560px){.brandbar{padding:14px 14px 0}.app{padding:12px;gap:14px}.panel{padding:4px 14px 14px}#catalog-chips .chip-main{grid-template-columns:1fr;gap:4px}#catalog-chips .svc-price-wrap{text-align:left;white-space:normal}#catalog-chips .chip-actions{flex-direction:column;justify-content:center;gap:2px;padding:4px}#catalog-chips .chip-actions button{width:36px;height:36px;font-size:16px}.chip button{width:32px;height:32px}.fileline{flex-wrap:wrap}.fileline input[type=file]{flex:1 1 0;min-width:0}.addservice{grid-template-columns:1fr 1fr}.addservice input:first-child{grid-column:1/-1}table.items thead{display:none}table.items tr{display:grid;grid-template-columns:20px 64px minmax(0,1fr) auto 36px;grid-template-areas:'n d d d d' '. q p v r';gap:4px 6px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}table.items td{padding:0}table.items td:first-child{grid-area:n;align-self:center}table.items td:nth-child(2){grid-area:d}table.items td.qty{grid-area:q}table.items td.price{grid-area:p}table.items td.val{grid-area:v;padding-bottom:7px}table.items td.rm{grid-area:r;width:auto}table.items td.qty::before,table.items td.price::before,table.items td.val::before{display:block;font-size:10.5px;color:var(--muted);margin-bottom:2px}table.items td.qty::before{content:'Sasia'}table.items td.price::before{content:'Çmimi pa TVSH'}table.items td.val::before{content:'Vlera';padding-bottom:0}table.items td.rm button{width:36px;height:36px}}.invoice-sheet.print-measure{position:absolute;left:-10000px;top:0;width:186mm;min-height:0;padding:0 4mm;box-shadow:none;visibility:hidden;zoom:1}@media print{body{background:#fff}.brandbar,.panel,.toast{display:none!important}.app{padding:0;max-width:none}.preview-wrap{justify-content:flex-start}.invoice-sheet{box-shadow:none;width:calc(100% / var(--print-zoom,1));min-height:0;margin:0;padding:0 4mm;zoom:var(--print-zoom,1)}@page{size:A4;margin:10mm 12mm}}