/* Rent receipt + salary slip: form extras, canvas A4 preview, print */
.dp-app{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.dp-stage{background:#e9e7df;border:2px solid var(--ink);border-radius:var(--r-sm);padding:14px}
.dp-stage canvas{display:block;width:100%;height:auto;aspect-ratio:210/297;background:#fff;border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.dp-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-weight:700;font-size:14px}
.dp-pager .btn{padding:7px 14px;font-size:14px;min-width:44px}
.dp-sum{font-size:14px;font-weight:600;color:var(--ink-2);margin:12px 0 0}
.dp-chips{margin-bottom:15px}
.dp-chips .chip{min-height:36px}
.dp-lines{display:grid;gap:8px;margin-bottom:10px}
.dp-line{display:grid;grid-template-columns:minmax(0,1fr) 130px 40px;gap:8px;align-items:center}
.dp-line input{padding:9px 10px;font-size:15px}
.dp-line .del{width:40px;height:40px;border:2px solid var(--ink);background:#fff;border-radius:10px;font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.dp-line .del:hover{background:#fdecec;color:var(--err)}
.dp-total{display:flex;justify-content:space-between;font-weight:800;font-size:15px;border-top:2px dashed var(--line);padding-top:8px;margin-top:4px}
.dp-net{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--blue-soft);border:2px solid var(--ink);border-radius:var(--r-sm);padding:12px 14px;font-weight:800;font-size:17px;box-shadow:3px 3px 0 var(--ink);margin-top:6px}
.dp-net small{display:block;font-weight:600;font-size:12.5px;color:var(--ink-2)}
.swatches.dp-sw .swatch{width:34px;height:34px}
.dp-print{display:none}
@media (max-width:900px){.dp-app{grid-template-columns:1fr}}
@media (max-width:420px){.dp-line{grid-template-columns:minmax(0,1fr) 104px 40px}}
@media print{
  body.dp-printing>:not(.dp-print){display:none!important}
  body.dp-printing .dp-print{display:block;visibility:visible}
  body.dp-printing .dp-print img{display:block;visibility:visible;width:210mm;height:297mm;break-after:page;page-break-after:always}
  body.dp-printing .dp-print img:last-child{break-after:auto;page-break-after:auto}
  @page{size:A4;margin:0}
}
.dp-app input[type=date]{min-width:0}
@media (max-width:900px){.dp-preview{order:0}}
@media (max-width:420px){.dp-app input[type=date]{padding-inline:8px;font-size:15px}}
