/* ── PAGE ── */
#cwrap{transform-origin:top center;transition:transform .15s;flex-shrink:0}
#page{width:794px;min-height:1123px;background:#fff;position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.12),0 20px 60px rgba(0,0,0,.5)}
#page.dragover{outline:2px dashed var(--gold);outline-offset:-2px}

/* ── CANVAS ELEMENTS ── */
.cel{position:absolute;user-select:none;cursor:move}
.cel .inn{width:100%;height:100%;position:relative;overflow:visible}
.cel:hover .inn{box-shadow:0 0 0 1px rgba(88,126,244,.5)}
.cel.sel .inn{box-shadow:0 0 0 2px #587ef4}

/* resize handles */
.rh{position:absolute;width:7px;height:7px;background:#fff;border:2px solid #587ef4;border-radius:1px;z-index:20;display:none}
.cel.sel .rh{display:block}
.rh.nw{top:-4px;left:-4px;cursor:nw-resize}
.rh.n {top:-4px;left:calc(50% - 3px);cursor:n-resize}
.rh.ne{top:-4px;right:-4px;cursor:ne-resize}
.rh.e {top:calc(50% - 3px);right:-4px;cursor:e-resize}
.rh.se{bottom:-4px;right:-4px;cursor:se-resize}
.rh.s {bottom:-4px;left:calc(50% - 3px);cursor:s-resize}
.rh.sw{bottom:-4px;left:-4px;cursor:sw-resize}
.rh.w {top:calc(50% - 3px);left:-4px;cursor:w-resize}

/* floating action bar */
.fab{position:absolute;top:-34px;left:50%;transform:translateX(-50%);background:var(--s1);border:1px solid var(--b2);border-radius:7px;display:none;align-items:center;gap:1px;padding:2px;box-shadow:var(--shad);z-index:50;white-space:nowrap}
.cel.sel .fab{display:flex}
.fabbtn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--txt2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:.1s}
.fabbtn:hover{background:var(--s2);color:var(--txt)}
.fabbtn.del:hover{background:rgba(223,84,84,.15);color:var(--red)}
.fabsep{width:1px;height:12px;background:var(--b2);margin:0 2px}

/* delete X */
.delx{position:absolute;top:-8px;right:-8px;width:16px;height:16px;border-radius:50%;background:var(--red);border:none;cursor:pointer;color:#fff;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center;z-index:21;line-height:1;transition:transform .1s}
.delx:hover{transform:scale(1.25)}
.cel.sel .delx{display:flex}

/* ── ELEMENT CONTENT ── */
.etxt{outline:none;word-break:break-word;cursor:text;white-space:pre-wrap;padding:1px 2px}
.etxt:focus{outline:none}
.ebadge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:20px;font-weight:700;letter-spacing:.5px;outline:none;cursor:text;white-space:nowrap}

.inv-table{width:100%;border-collapse:collapse;table-layout:fixed}
.inv-table thead{background:#1c1c2e}
.inv-table th{padding:8px 10px;font-size:11px;font-weight:600;color:#fff;text-align:left;font-family:'Instrument Sans',sans-serif}
.inv-table th.ar{text-align:right}
.inv-table tbody tr:nth-child(even){background:#fafafa}
.inv-table td{padding:7px 10px;font-size:12px;color:#2a2a3e;border-bottom:1px solid #e4e4e4;outline:none;vertical-align:middle;font-family:'Instrument Sans',sans-serif}
.inv-table td.ar{text-align:right;font-family:'DM Mono',monospace}
.inv-table td.am{font-weight:600;color:#1c1c2e;text-align:right;font-family:'DM Mono',monospace}
.inv-table tfoot td{padding:0}
.addrow{width:100%;background:transparent;border:none;border-top:1px dashed #ddd;padding:6px 10px;text-align:left;font-size:11px;color:#bbb;cursor:pointer;font-family:'Instrument Sans',sans-serif}
.addrow:hover{color:#666;background:#f5f4f1}

.logodrop{width:100%;height:100%;border:2px dashed #ccc;border-radius:5px;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.15s}
.logodrop:hover{border-color:#aaa;background:#e8e6e0}
.logodrop.hasimg{border:none;background:transparent}
.logodrop.hasimg:hover{border:none;background:transparent}
.logodrop p{font-size:10px;color:#aaa;font-family:'Instrument Sans',sans-serif}
.logodrop img{max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;pointer-events:none}

.sumtable{width:100%;border-collapse:collapse}
.sumtable td{padding:4px 0;font-size:12px;color:#333;font-family:'Instrument Sans',sans-serif}
.sumtable td:last-child{text-align:right;font-family:'DM Mono',monospace;font-weight:500}
.sumtable .totrow td{font-size:15px;font-weight:700;color:#1c1c2e;border-top:2px solid #1c1c2e;padding-top:8px}
.sumtable .totrow td:last-child{font-family:'DM Mono',monospace}

.notesbox{font-size:11.5px;color:#555;line-height:1.55;padding:9px 11px;background:#f9f9f9;border-radius:4px;border-left:3px solid #ddd;outline:none;cursor:text;width:100%;height:100%;font-family:'Instrument Sans',sans-serif;overflow:auto}
.divline{width:100%;height:2px;border-radius:1px;margin-top:5px}

.cel{animation:popin .14s ease}

.rowdel{width:40px;text-align:center;padding:0!important;border-bottom:1px solid #e4e4e4}
.delrowbtn{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:#ccc;cursor:pointer;font-size:14px;font-weight:700;transition:.15s}
.delrowbtn:hover{background:rgba(223,84,84,.12);color:#df5454}
