/* v25 — document editor + template designer */
.dz-modal .v21-modal-panel.wide { width: min(1800px, 98vw); max-width: 98vw; height: 94vh; max-height: 94vh; display: flex; flex-direction: column; }
.dz-modal .v21-modal-body { flex: 1; overflow: hidden; padding: 0; }
.dz { display: grid; grid-template-columns: minmax(420px, 46%) 1fr; height: 100%; min-height: 0; }
.dz-form { overflow: auto; padding: .8rem 1rem 2rem; border-right: 1px solid var(--sw-line, #e5e7eb); min-height: 0; }
.dz-form label { display: block; margin: .35rem 0; font-size: .85rem; }
.dz-form input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), .dz-form select, .dz-form textarea { width: 100%; box-sizing: border-box; }
.dz-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; align-items: end; }
.dz-form .three { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .6rem; align-items: end; }
.dz-form label.check { display: flex; gap: .4rem; align-items: center; }
.dz-sec { border: 1px solid var(--sw-line, #e5e7eb); border-radius: 10px; padding: .55rem .75rem; margin: 0 0 .7rem; background: #fff; }
.dz-sec h3 { margin: 0 0 .35rem; font-size: .95rem; }
.dz-right { display: flex; flex-direction: column; min-height: 0; background: #e5e7eb; }
.dz-prevbar { padding: .45rem .8rem; background: #f8fafc; border-bottom: 1px solid #e5e7eb; display: flex; gap: .6rem; align-items: center; }
.dz-prevbar select { margin-left: auto; }
.dz-prev { flex: 1; overflow: auto; padding: 4px; }
.dz-scale { width: 820px; transform-origin: top left; }
.dz-frame { width: 820px; border: 0; display: block; background: #e5e7eb; }
.dz-layouts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.dz-lay { border: 2px solid #e5e7eb; border-radius: 8px; padding: .4rem; text-align: center; cursor: pointer; font-size: .8rem; display: flex !important; flex-direction: column; gap: .3rem; align-items: center; }
.dz-lay.on { border-color: #1d4ed8; background: #eff6ff; }
.dz-lay input { display: none; }
.dz-thumb { width: 70px; height: 92px; background: #fff; border: 1px solid #cbd5e1; position: relative; display: block; }
.dz-thumb i { position: absolute; left: 6px; top: 6px; width: 22px; height: 8px; background: #0f2a48; }
.dz-thumb b { position: absolute; left: 6px; right: 6px; height: 4px; background: #e5e7eb; }
.dz-thumb b:nth-of-type(1) { top: 30px; } .dz-thumb b:nth-of-type(2) { top: 40px; } .dz-thumb b:nth-of-type(3) { top: 50px; }
.th-classic:after { content: ""; position: absolute; left: 6px; right: 6px; top: 20px; height: 2px; background: #d48b28; }
.th-banner i { left: 0; top: 0; width: 100%; height: 20px; } .th-banner:after { content: ""; position: absolute; left: 0; right: 0; top: 20px; height: 3px; background: #d48b28; }
.th-minimal i { width: 12px; height: 6px; } .th-minimal:after { content: ""; position: absolute; left: 6px; right: 6px; top: 18px; height: 1px; background: #cbd5e1; }
.dz-logo { display: flex; gap: .7rem; align-items: center; margin: .4rem 0; }
.dz-logoprev { width: 150px; height: 50px; border: 1px dashed #cbd5e1; display: flex; align-items: center; justify-content: center; background: #f8fafc; }
.dz-logoprev img { max-width: 146px; max-height: 46px; }
.dz-imgs { display: flex; flex-wrap: wrap; gap: .4rem; margin: .3rem 0; }
.dz-im { position: relative; display: inline-block; border: 1px solid #e5e7eb; border-radius: 6px; padding: 2px; background: #fff; }
.dz-im img { height: 48px; max-width: 110px; object-fit: contain; display: block; }
.dz-im button { position: absolute; top: -7px; right: -7px; border-radius: 50%; width: 20px; height: 20px; border: 0; background: #b91c1c; color: #fff; cursor: pointer; line-height: 1; }
.dz-gal { display: grid; gap: .35rem; margin: .3rem 0; }
.dz-gi { display: grid; grid-template-columns: 64px 1fr auto auto; gap: .4rem; align-items: center; }
.dz-gi img { width: 64px; height: 44px; object-fit: cover; border-radius: 4px; }
.dz-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .5rem; max-height: 60vh; overflow: auto; }
.dz-pk { position: relative; cursor: pointer; border: 2px solid transparent; border-radius: 6px; overflow: hidden; }
.dz-pk:has(input:checked) { border-color: #1d4ed8; }
.dz-pk input { position: absolute; top: 6px; left: 6px; }
.dz-pk img { width: 100%; height: 96px; object-fit: cover; display: block; }
.dz-pk span { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(15,23,42,.7); color: #fff; font-size: .7rem; padding: 1px 4px; }
.dz-sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: middle; margin-right: 2px; }
.dz-num table { border-collapse: collapse; margin-bottom: .4rem; } .dz-num td, .dz-num th { padding: .2rem .5rem; text-align: left; }
/* doc editor */
.dd-status { position: relative; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 10px; padding: .5rem .7rem; margin-bottom: .7rem; }
.dd-flow { display: flex; gap: 0; margin-bottom: .4rem; flex-wrap: wrap; }
.dd-flow span { padding: .2rem .7rem; font-size: .78rem; background: #e5e7eb; color: #475569; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 8px 50%); margin-right: -4px; }
.dd-flow span.done { background: #cbd5e1; } .dd-flow span.on { background: #1d4ed8; color: #fff; font-weight: 700; }
.dd-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.dd-link { width: 60% !important; font-size: .75rem; }
.dd-lh, .dd-line { display: grid; grid-template-columns: 96px minmax(48px, .8fr) minmax(44px, .7fr) minmax(60px, 1fr) minmax(84px, 1.3fr) minmax(48px, .7fr) minmax(70px, 1fr); gap: .3rem; align-items: start; }
.dd-line > select[data-f="kind"] { grid-column: 1; grid-row: 1; }
.dd-line > .dd-desc { grid-column: 2 / -1; grid-row: 1; }
.dd-line > .dd-btns { grid-column: 1; grid-row: 2; }
.dd-lh span:first-child { grid-column: 1; }
.dd-lh { font-size: .72rem; color: #64748b; font-weight: 600; padding: 0 0 .2rem; }
.dd-line { padding: .3rem 0; border-top: 1px solid #f1f5f9; }
.dd-line .n, .dd-lh .n { text-align: right; padding-top: .35rem; font-variant-numeric: tabular-nums; }
.dd-line textarea { resize: vertical; min-height: 2rem; }
.dd-desc { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; }
.dd-desc textarea { grid-column: 1 / -1; }
.dd-desc input { font-size: .78rem; grid-column: 1 / -1; }
.dd-line.k-heading textarea { font-weight: 700; }
.dd-line.k-heading { background: #f8fafc; }
.dd-line.k-optional, .dd-line.k-alternative { background: #fffbeb; }
.dd-line.k-internal { background: #fef2f2; }
.dd-btns { display: flex; gap: 2px; }
.dd-add { display: flex; flex-wrap: wrap; gap: .35rem; margin: .4rem 0; align-items: center; }
.dd-tot { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; padding: .4rem 0 0; border-top: 1px solid #e5e7eb; font-variant-numeric: tabular-nums; }
.dd-int { color: #b91c1c; }
.dd-json { max-height: 60vh; overflow: auto; background: #0f172a; color: #e2e8f0; padding: .7rem; border-radius: 8px; font-size: .75rem; }
@media (max-width: 1500px) { .dz { grid-template-columns: minmax(400px, 52%) 1fr; } }
@media (min-height: 950px) { .dd-status { position: sticky; top: -.8rem; z-index: 2; } }
