/* ===== Invoice Generator (uses the site theme variables from theme.css) ===== */
.ig-dl{margin-top:14px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#000}
[data-theme=dark] .ig-dl{color:#fff}
.ig-desc{max-width:760px;color:var(--mu);margin-top:6px;font-size:1rem}
.ig-wrap{max-width:1240px;margin:0 auto;padding:6px 22px 120px}
i[data-ic]{display:inline-flex;width:18px;height:18px;flex:none}
i[data-ic] svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* toolbar */
.ig-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 18px}
.ig-b{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:99px;border:1px solid var(--bd);background:var(--bg2);color:var(--tx);font-weight:600;font-size:.88rem;line-height:1;font-family:inherit;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s,background .25s}
.ig-b:hover{transform:translateY(-2px);border-color:rgba(var(--ac),.5);box-shadow:0 12px 24px -14px rgba(var(--ac),.6)}
.ig-b:active{transform:scale(.96)}
.ig-b.main{background:var(--g);color:var(--on);border-color:transparent}
.ig-b.danger:hover{border-color:#ef4444;color:#ef4444}
.ig-b.sm{padding:9px 14px;font-size:.8rem}.ig-b.ic{padding:0;width:44px;height:44px;flex:none}
.ig-b[disabled]{opacity:.6;pointer-events:none}
.ig-saved{margin-left:auto;font-size:.78rem;color:var(--mu);display:inline-flex;align-items:center;gap:6px}
.ig-saved::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e}

/* mobile tabs */
.ig-tabs{display:none;gap:6px;padding:5px;border:1px solid var(--bd);border-radius:99px;background:var(--bg2);margin-bottom:16px;position:sticky;top:72px;z-index:20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ig-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:0;border-radius:99px;background:none;color:var(--mu);font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer;transition:.3s}
.ig-tabs button.on{background:var(--g);color:var(--on)}

/* layout */
.ig-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;align-items:start}
/* editor scrolls with the page (no nested scrollbar) */
.ig-editor{padding:0 0 10px}
.ig-app>section{padding:0}
.ig-preview{position:sticky;top:80px}

/* cards + fields */
.ig-card{background:var(--bg2);border:1px solid var(--bd);border-radius:24px;padding:20px;margin-bottom:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--sh);transition:border-color .3s}
.ig-card:focus-within{border-color:rgba(var(--ac),.45)}
.ig-card h2{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:14px}
.ig-card h2::after{display:none}
.ig-card h2 .n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--g);color:var(--on);font-size:.78rem;font-weight:800}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.f label,.ig-row2 label{font-size:.76rem;font-weight:700;letter-spacing:.03em;color:var(--mu)}
.ig-card input:not([type=checkbox]):not([type=range]):not([type=file]),.ig-card select,.ig-card textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--bd);background:rgba(var(--ac),.05);color:var(--tx);font:inherit;font-size:.92rem;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}
.ig-card textarea{resize:vertical;min-height:70px}
.ig-card input:focus,.ig-card select:focus,.ig-card textarea:focus{border-color:rgba(var(--ac),.65);box-shadow:0 0 0 4px rgba(var(--ac),.12);background:rgba(var(--ac),.07)}
.ig-card select option{color:#111;background:#fff}
.inl{display:flex;gap:8px}
input[type=range]{width:100%;accent-color:var(--pr);height:30px}
.ig-row2{display:flex;gap:14px;align-items:flex-end;margin-bottom:14px}.ig-row2 .f{flex:1;margin:0}

/* logo drop zone */
.ig-dz{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;margin-bottom:12px;border:2px dashed var(--bd);border-radius:20px;background:rgba(var(--ac),.04);cursor:pointer;transition:.3s;overflow:hidden}
.ig-dz:hover,.ig-dz.over{border-color:rgba(var(--ac),.6);background:rgba(var(--ac),.09);transform:scale(1.01)}
.ig-dz input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ig-dz img{max-height:100px;max-width:70%;object-fit:contain;padding:10px}
.dz-t{display:grid;place-items:center;gap:4px;text-align:center;color:var(--mu);padding:14px}.dz-t i{width:28px;height:28px;color:var(--tx)}.dz-t b{color:var(--tx)}.dz-t small{font-size:.75rem}
.ig-dz.has .dz-t{display:none}

/* swatches + switch */
.swatches{display:flex;gap:9px;flex-wrap:wrap;padding-top:4px}
.swatches button{width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:var(--c);cursor:pointer;box-shadow:0 0 0 1px var(--bd);transition:transform .2s}
.swatches button:hover{transform:scale(1.15)}.swatches button.on{border-color:var(--bg);box-shadow:0 0 0 2px var(--c)}
.ig-sw{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:.9rem}
.ig-sw input{position:absolute;opacity:0}
.ig-sw .tr{width:46px;height:26px;border-radius:99px;background:rgba(var(--ac),.15);position:relative;transition:.3s;flex:none}
.ig-sw .tr::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--mu);transition:.3s}
.ig-sw input:checked+.tr{background:var(--g)}.ig-sw input:checked+.tr::after{left:23px;background:var(--on)}
.ig-sw input:focus-visible+.tr{box-shadow:0 0 0 4px rgba(var(--ac),.2)}

/* items */
.ig-ih,.ig-item{display:grid;grid-template-columns:minmax(0,1fr) 68px 104px 104px 38px;gap:8px;align-items:center}
.ig-ih{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);padding:0 2px 8px}
.ig-item{margin-bottom:8px}
.ig-item.enter{animation:igIn .4s cubic-bezier(.2,.8,.2,1)}.ig-item.leave{animation:igOut .2s forwards}
@keyframes igIn{from{opacity:0;transform:translateY(-10px) scale(.97)}}
@keyframes igOut{to{opacity:0;transform:translateX(24px) scale(.96)}}
.ig-item output{font-weight:700;font-size:.85rem;text-align:right;padding-right:4px;word-break:break-all}
.i-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--bd);background:none;color:var(--mu);display:grid;place-items:center;cursor:pointer;transition:.2s}
.i-x:hover{color:#ef4444;border-color:#ef4444;transform:rotate(8deg)}.i-x i{width:16px;height:16px}
.ig-b.add{width:100%;border-style:dashed;margin-top:4px}

/* totals box */
.ig-total{margin-top:6px;border:1px solid var(--bd);border-radius:20px;padding:6px 16px;background:rgba(var(--ac),.04)}
.ig-total>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--bd);font-size:.9rem}
.ig-total>div span{color:var(--mu)}
.ig-total .grand{border:0;margin:8px -16px -6px;padding:16px;border-radius:0 0 20px 20px;background:var(--g);color:var(--on);font-size:1.05rem;font-weight:800;box-shadow:0 0 28px -6px rgba(var(--ac),.55)}
.ig-total .grand span{color:inherit;opacity:.85;font-weight:600}.ig-total .grand b{font-size:1.25rem}

/* preview */
.ig-pv-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;margin-bottom:10px;color:var(--mu)}
.ig-pv-h small{margin-left:auto;padding:2px 10px;border:1px solid var(--bd);border-radius:99px}
.ig-pv-h .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:igPing 2s infinite}
@keyframes igPing{to{box-shadow:0 0 0 9px rgba(34,197,94,0)}}
.ig-stage{padding:14px;border:1px solid var(--bd);border-radius:26px;background:rgba(var(--ac),.05);max-height:calc(100vh - 118px);overflow:auto;scrollbar-width:thin}
.ig-paper-wrap{position:relative;margin:0 auto}
.paper{position:absolute;top:0;left:0;width:794px;min-height:1120px;background:#fff;color:#111827;font:13px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:46px 50px 40px;box-sizing:border-box;transform-origin:top left;box-shadow:0 30px 70px -20px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.06);display:flex;flex-direction:column;--pa:#111827}
.paper *{box-sizing:border-box}
.p-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;border-bottom:3px solid var(--pa)}
.p-brand{display:flex;align-items:center;gap:14px;min-width:0}.p-brand img{display:block;width:auto;max-width:260px;object-fit:contain}
.p-bn{font-size:20px;font-weight:800;line-height:1.2;word-break:break-word}.p-tag{color:#6b7280;font-size:12px}
.p-title{text-align:right;flex:none}.p-title h2{margin:0;font-size:32px;line-height:1;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--pa)}.p-title .no{margin-top:8px;font-weight:700;color:#374151}
.p-meta{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;padding:22px 0}
.p-meta small{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;margin-bottom:5px}
.p-meta b{display:block;font-size:14px}.p-meta span{display:block;color:#4b5563;white-space:pre-line;word-break:break-word}
.p-meta .dt{margin-bottom:10px}.p-meta .dt b{font-size:13px}
.p-t{width:100%;border-collapse:collapse;margin-top:4px}
.p-t th{background:var(--pa);color:#fff;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:10px 12px}
.p-t th:nth-child(n+3),.p-t td:nth-child(n+3){text-align:right}.p-t th:first-child,.p-t td:first-child{width:34px;text-align:center}
.p-t td{padding:11px 12px;border-bottom:1px solid #e5e7eb;vertical-align:top;word-break:break-word}
.p-t tbody tr:nth-child(even) td{background:#f9fafb}.p-t td.dsc{font-weight:600}
.p-empty{padding:26px;text-align:center;color:#9ca3af}
.p-sum{display:flex;justify-content:space-between;gap:30px;margin-top:22px;align-items:flex-start}
.p-pay{flex:1;min-width:0}.p-pay small,.p-notes small{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;margin-bottom:5px}
.p-pay b{display:block}.p-pay span{display:block;white-space:pre-line;color:#4b5563;word-break:break-word}
.p-tot{width:290px;flex:none}
.p-tot div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #eef0f3;color:#4b5563}.p-tot div b{color:#111827}
.p-tot .gt{margin-top:10px;border:0;padding:13px 14px;border-radius:12px;background:var(--pa);color:#fff;font-size:15px;font-weight:800}.p-tot .gt b{color:#fff;font-size:18px}
.p-notes{margin-top:26px;padding:14px 16px;border-left:3px solid var(--pa);background:#f9fafb;border-radius:0 10px 10px 0}.p-notes span{white-space:pre-line;color:#4b5563;word-break:break-word}
.p-foot{margin-top:auto;padding-top:34px;display:flex;justify-content:flex-end}
.p-sign{width:220px;text-align:center}.p-sign .sg{font:italic 26px/1.1 "Brush Script MT","Segoe Script","Lucida Handwriting",cursive;min-height:34px;color:#1f2937}
.p-sign .ln{border-top:1px solid #9ca3af;margin-top:6px;padding-top:5px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6b7280}
.p-stamp{position:absolute;top:300px;left:50%;transform:translateX(-50%) rotate(-18deg);padding:6px 34px;border:6px solid rgba(22,163,74,.55);border-radius:14px;color:rgba(22,163,74,.55);font-size:84px;font-weight:900;letter-spacing:.1em;pointer-events:none;line-height:1.1}
.mu{color:#9ca3af!important}

/* toast */
.ig-toast{position:fixed;left:50%;bottom:104px;transform:translate(-50%,20px);z-index:90;padding:12px 20px;border-radius:99px;background:var(--tx);color:var(--bg);font-weight:600;font-size:.88rem;opacity:0;pointer-events:none;transition:.35s cubic-bezier(.2,.8,.2,1);max-width:calc(100vw - 32px);text-align:center}
.ig-toast.show{opacity:1;transform:translate(-50%,0)}

/* responsive */
@media(max-width:980px){
  .ig-app{grid-template-columns:1fr}
  .ig-tabs{display:flex}
  .ig-editor{max-height:none;overflow:visible;padding:0}
  .ig-preview{position:static}.ig-stage{max-height:none;padding:8px}
  .ig-app[data-view=edit] .ig-preview{display:none}
  .ig-app[data-view=prev] .ig-editor{display:none}
  .ig-saved{width:100%;margin:0}
}
@media(max-width:600px){
  .ig-wrap{padding:6px 14px 120px}
  .g2{grid-template-columns:1fr}
  .ig-b{padding:10px 14px;font-size:.82rem}
  .ig-b span{white-space:nowrap}
  .ig-ih{display:none}
  .ig-item{grid-template-columns:1fr 1fr 38px;grid-template-areas:"d d x" "q p x" "t t t";padding:12px;border:1px solid var(--bd);border-radius:18px}
  .ig-item .i-d{grid-area:d}.ig-item .i-q{grid-area:q}.ig-item .i-p{grid-area:p}.ig-item output{grid-area:t;text-align:right}.ig-item .i-x{grid-area:x;align-self:start}
  .ig-item .i-q,.ig-item .i-p{width:100%}
  .ig-row2{flex-direction:column;align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.ig-item.enter,.ig-pv-h .dot{animation:none}}

/* print: only the paper */
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  .top,.dock,.ph,.ig-bar,.ig-tabs,.ig-editor,.ig-pv-h,.ig-toast,.blob,.mg,.cg,#bar,footer,.ig-wrap>.ig-bar{display:none!important}
  main,.ig-wrap,.ig-app,.ig-preview,.ig-stage{display:block!important;position:static!important;padding:0!important;margin:0!important;border:0!important;background:none!important;max-height:none!important;overflow:visible!important;width:auto!important}
  .ig-paper-wrap{width:auto!important;height:auto!important;margin:0!important}
  .paper{position:static!important;transform:none!important;box-shadow:none!important;width:100%!important;min-height:297mm;margin:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.paper h2::after,.paper h2::before{display:none!important}
.ig-page .wrap,.ig-page footer.ft{max-width:1240px}
