#doc{--acc:#ff5d1f;border:1.5px solid var(--color-line);color:var(--color-ink);text-align:left;background:#fff;border-radius:22px;padding:clamp(20px,4.5vw,46px)}#doc [contenteditable]{cursor:text;border-radius:8px;min-width:24px;transition:background .15s,box-shadow .15s}#doc [contenteditable]:hover{background:color-mix(in srgb, var(--acc) 7%, transparent)}#doc [contenteditable]:focus{outline:2px dashed var(--acc);outline-offset:3px;background:var(--color-cream)}#doc [contenteditable]:empty:before{content:attr(data-ph);color:var(--color-sand);pointer-events:none}.doc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.doc-co{align-items:flex-start;gap:14px;min-width:0;display:flex}.doc-logo-btn{border:2px dashed var(--color-sand);background:var(--color-cream);cursor:pointer;border-radius:18px;flex:none;place-items:center;width:64px;height:64px;transition:border-color .15s;display:grid;position:relative;overflow:hidden}.doc-logo-btn:hover{border-color:var(--acc)}.doc-logo-btn img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.doc-logo-ph{color:var(--color-sand);letter-spacing:.08em;flex-direction:column;align-items:center;gap:2px;font-size:9px;font-weight:700;display:flex}.doc-co-name{font-size:18px;font-weight:800;line-height:1.25}.doc-co-sub{color:var(--color-dim);max-width:34ch;margin-top:3px;font-size:12px;line-height:1.55}.doc-meta{text-align:right;margin-left:auto}.doc-title{color:var(--acc);letter-spacing:.08em;font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1}.doc-row{justify-content:flex-end;align-items:baseline;gap:10px;margin-top:8px;font-size:13px;display:flex}.doc-row span{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--color-sand);font-size:10px;font-weight:700}.doc-row b{font-weight:700}@media (max-width:560px){.doc-meta{text-align:left;margin-left:0}.doc-row{justify-content:flex-start}}.doc-label{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--color-sand);font-size:10px;font-weight:700}.doc-client{border-left:3px solid var(--acc);margin-top:26px;padding-left:14px}.doc-client-name{margin-top:6px;font-size:16px;font-weight:800}.doc-client-sub{color:var(--color-dim);margin-top:2px;font-size:12.5px}.items-wrap{margin-top:26px;overflow-x:auto}table.doc-items{border-collapse:collapse;width:100%;min-width:560px}.doc-items th{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--color-dim);text-align:left;border-bottom:2px solid var(--acc);padding:0 8px 9px;font-size:10px;font-weight:700}.doc-items th.r,.doc-items td.r{text-align:right}.doc-items td{border-bottom:1px dashed var(--color-line);vertical-align:middle;padding:12px 8px}.it-desc{font-size:14px;font-weight:600;line-height:1.45}.it-num{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-ink);text-align:right;background:0 0;border:0;border-radius:8px;width:100%;padding:4px 6px;font-size:13px}.it-num:hover{background:color-mix(in srgb, var(--acc) 7%, transparent)}.it-num:focus{outline:2px dashed var(--acc);background:var(--color-cream)}.it-qty{width:64px}.it-price{width:128px}.it-amt{font-family:var(--font-mono,ui-monospace, monospace);white-space:nowrap;font-size:13px;font-weight:700}.it-del{border:1.5px solid var(--color-line);width:26px;height:26px;color:var(--color-dim);background:var(--color-paper);cursor:pointer;border-radius:999px;font-size:14px;line-height:1;transition:all .15s}.it-del:hover{border-color:var(--color-tang);color:var(--color-tang);transform:scale(1.1)}.doc-add{border:1.5px dashed var(--color-sand);color:var(--color-dim);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:8px 18px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.doc-add:hover{border-color:var(--acc);color:var(--acc)}.doc-sum{width:min(340px,100%);margin-top:22px;margin-left:auto}.sum-row{justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.sum-row .lbl{color:var(--color-dim);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.sum-row .val{font-family:var(--font-mono,ui-monospace, monospace);white-space:nowrap;font-size:13.5px;font-weight:700}.sum-ctl{align-items:center;gap:6px;display:inline-flex}.sum-input{border:0;border-bottom:1.5px dashed var(--color-sand);width:78px;font-family:var(--font-mono,ui-monospace, monospace);text-align:right;background:0 0;border-radius:6px 6px 0 0;padding:2px 4px;font-size:13px;font-weight:700}.sum-input:hover{border-color:var(--acc)}.sum-input:focus{border-bottom:2px solid var(--acc);background:var(--color-cream);outline:none}.tgl.on{background:var(--acc);border-color:var(--acc)}.sum-total{border-top:2px solid var(--color-ink);justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding-top:14px;display:flex}.sum-total .lbl{letter-spacing:.08em;font-size:13px;font-weight:800}.sum-total .val{color:var(--acc);letter-spacing:-.01em;font-size:24px;font-weight:800}.doc-notes{border-top:2px dashed var(--color-line);margin-top:30px;padding-top:18px}.doc-notes-body{color:var(--color-dim);max-width:60ch;margin-top:8px;font-size:12.5px;line-height:1.7}.swatch{width:26px;height:26px;box-shadow:0 0 0 1.5px var(--color-line);cursor:pointer;border:2px solid #fff;border-radius:999px;transition:transform .15s,box-shadow .15s}.swatch:hover{transform:scale(1.15)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--color-ink)}.tbtn{cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:13.5px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.tbtn-main{background:var(--color-ink);color:var(--color-cream);border:2px solid var(--color-ink);box-shadow:0 3px 0 0 var(--color-ink)}.tbtn-main:hover{background:var(--color-tang);border-color:var(--color-ink);box-shadow:0 5px 0 0 var(--color-ink);transform:translateY(-2px)}.tbtn-main:active{box-shadow:0 1px 0 0 var(--color-ink);transform:translateY(1px)}.tbtn-ghost{background:var(--color-paper);color:var(--color-dim);border:1.5px solid var(--color-line)}.tbtn-ghost:hover{border-color:var(--color-ink);color:var(--color-ink)}.paid-stamp{color:#0e8a7b;font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.24em;border:2.5px solid #0e8a7b;border-radius:8px;margin-top:12px;padding:3px 16px 3px 20px;font-size:15px;font-weight:800;display:inline-block;transform:rotate(-6deg)}.print-only{display:none!important}@media print{@page{size:A4;margin:10mm 12mm 12mm}html,body{background:#fff!important}header,footer,.no-print{display:none!important}main{padding:0!important}#app,#app>div{background:0 0!important;border:0!important;padding:0!important}#doc{box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important}#doc [contenteditable]:hover{background:0 0!important}#doc [contenteditable]:empty:before{content:none!important}.doc-items tbody tr:has(.it-desc:empty){display:none!important}.items-wrap{overflow:visible!important}.tgl,.sum-input,.doc-add,.it-del{display:none!important}.print-only{display:inline!important}.it-num{padding:0!important}.doc-logo-btn{border-style:solid}}
