.invoice-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}.invoice-form{display:grid;grid-gap:1rem;gap:1rem}.invoice-form h2{font-size:1.1rem}.invoice-preview-pane{position:-webkit-sticky;position:sticky;top:20px}.preview-actions{margin-top:1rem;justify-content:center}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.actions{position:-webkit-sticky;position:sticky;bottom:0;background:var(--card);padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.step-title{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--gradient);color:#fff;font-size:.85rem;font-weight:700}.more{padding:0}.more summary{cursor:pointer;padding:1rem 1.25rem;font-weight:700;display:flex;align-items:center;gap:.6rem;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary small{font-weight:400;color:var(--muted);margin-left:auto}.more summary:after{content:"▾";color:var(--muted)}.more[open] summary:after{content:"▴"}.more-body{padding:0 1.25rem 1.25rem}.mini-totals{margin-top:1rem;padding:.7rem .9rem;border-radius:12px;background:var(--card-alt);display:grid;grid-gap:.2rem;gap:.2rem;font-size:.92rem}.mini-totals div{display:flex;justify-content:space-between}.mini-totals .grand{font-weight:800;font-size:1.05rem;border-top:1px solid var(--border);padding-top:.4rem;margin-top:.2rem}.error-box{border-color:var(--bad);color:var(--bad)}.error-box ul{margin:.4rem 0 0;padding-left:1.2rem}.swatches{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid var(--card);box-shadow:0 0 0 1px var(--border);cursor:pointer}.swatch.selected{box-shadow:0 0 0 3px var(--primary)}.custom-color{display:inline-flex;align-items:center;gap:.4rem;margin:0;cursor:pointer}.custom-color input{width:38px;height:34px;padding:0;border:none;background:none;cursor:pointer}.layout-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem}.layout-options .btn{flex-direction:column;gap:0}.layout-options small{font-weight:400;opacity:.8;font-size:.75rem}.item-row,.items-head{display:grid;grid-template-columns:1fr 64px 90px 100px 70px;grid-gap:.4rem;gap:.4rem;align-items:center}.items-head{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:.3rem}.item-row{margin-bottom:.4rem;overflow:hidden}.item-amount{font-size:.85rem;font-weight:600;text-align:right}.item-row .btn{padding:.3rem}.discount-row{display:grid;grid-template-columns:1fr 90px;grid-gap:.4rem;gap:.4rem}.saved-box{margin-top:1.5rem}.saved-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.6rem;gap:.6rem}.saved-list li{display:flex;align-items:center;gap:.8rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--card-alt);flex-wrap:wrap}.saved-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.saved-info{flex:1 1;min-width:160px}@media (max-width:900px){.invoice-layout{grid-template-columns:1fr}.invoice-preview-pane{position:static}.hide-mobile{display:none}}@media (max-width:520px){.two-col{grid-template-columns:1fr}.items-head{display:none}.item-row{grid-template-columns:1fr 1fr 70px}.item-row input:first-child{grid-column:1/-1}.item-amount{text-align:left}}.sheet-wrap{width:100%;overflow:hidden}.invoice-sheet{--accent-soft:color-mix(in srgb,var(--accent) 10%,white);--ink:#1f2937;--ink-soft:#6b7280;--line:#e5e7eb;position:relative;transform-origin:top left;min-height:296mm;padding:14mm 14mm 12mm;background:#fff;color:var(--ink);box-shadow:0 10px 40px rgba(0,0,0,.18);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;line-height:1.45}.invoice-sheet .pre{white-space:pre-line}.inv-small{font-size:12px;color:var(--ink-soft)}.inv-label{font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:2px;display:block}.inv-header{justify-content:space-between;gap:16px;margin-bottom:22px}.inv-business,.inv-header{display:flex;align-items:flex-start}.inv-business{gap:12px}.inv-logo{max-width:90px;max-height:70px;object-fit:contain}.inv-business-name{font-size:19px;font-weight:800}.inv-title-box{text-align:right}.inv-title{font-size:30px;font-weight:800;letter-spacing:2px;color:var(--accent);line-height:1.1}.inv-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.inv-client-name{font-size:15px;font-weight:700}.inv-dates{display:grid;grid-gap:8px;gap:8px;text-align:right}.inv-table{width:100%;border-collapse:collapse;margin-bottom:18px}.inv-table th{background:var(--accent);color:var(--accent-text);text-align:left;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.inv-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.inv-table tr{page-break-inside:avoid;break-inside:avoid}.inv-table .num{text-align:right;white-space:nowrap}.inv-empty{text-align:center;color:var(--ink-soft)}.inv-totals-wrap{display:flex;justify-content:flex-end;margin-bottom:22px;page-break-inside:avoid;break-inside:avoid}.inv-totals{width:270px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;overflow:hidden}.inv-totals .line{display:flex;justify-content:space-between;padding:7px 12px}.inv-totals .grand{background:var(--accent);color:var(--accent-text);font-weight:800;font-size:15px;padding:10px 12px}.inv-notes{border-top:2px solid var(--accent);padding-top:10px;page-break-inside:avoid;break-inside:avoid}.inv-stamp-slot{flex:1 1;display:flex;align-items:center;justify-content:center}.inv-stamp{transform:rotate(-8deg);border:3px solid var(--accent);color:var(--accent);border-radius:8px;padding:2px 14px;font-size:22px;font-weight:900;letter-spacing:3px;white-space:nowrap}.layout-classic .inv-header{background:var(--accent);color:var(--accent-text);margin:-14mm -14mm 22px;padding:14mm 14mm 10mm}.layout-classic .inv-header .inv-small,.layout-classic .inv-title{color:var(--accent-text)}.layout-classic .inv-header .inv-small{opacity:.9}.layout-modern{padding-left:24mm}.layout-modern:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10mm;background:var(--accent)}.layout-modern .inv-header{border-bottom:3px solid var(--accent);padding-bottom:14px}.layout-minimal .inv-header{border-bottom:1px solid var(--ink);padding-bottom:14px}.layout-minimal .inv-title{color:var(--ink);font-weight:300;letter-spacing:6px}.layout-minimal .inv-table th{background:none;color:var(--ink);border-bottom:2px solid var(--accent)}.layout-minimal .inv-totals{background:none;border:none;border-top:1px solid var(--ink);border-radius:0}.layout-minimal .inv-totals .grand{background:none;color:var(--accent);border-top:2px solid var(--accent)}.layout-minimal .inv-notes{border-top:1px solid var(--line)}@page{size:A4;margin:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.sidebar,.toast{display:none!important}body,html{background:#fff!important;margin:0;padding:0}.app-shell{display:block}.container{max-width:none;padding:0;margin:0}.invoice-layout{display:block}.invoice-preview-pane{display:block!important;position:static}.sheet-wrap{height:auto!important;overflow:visible}.invoice-sheet{transform:none!important;width:210mm!important;box-shadow:none;margin:0}}