.dms-custom{margin:4px 0 18px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:grid;gap:14px}
.dms-custom.has-error{border-color:#b42318;box-shadow:0 0 0 1px #b42318}
.dms-custom-error{margin:0;padding:10px 12px;border-radius:var(--r-s);background:#fef3f2;color:#912018;font-weight:600;font-size:.92rem}
.dms-custom-error:empty{display:none}
.dms-custom fieldset{border:0;margin:0;padding:0;min-width:0}
.dms-custom legend{font-weight:700;margin:0 0 8px;padding:0}
.dms-custom-mode{display:grid;gap:8px}
.dms-custom-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:2px solid var(--line);border-radius:var(--r-s);cursor:pointer;transition:border-color .15s,background-color .15s}
.dms-custom-opt:hover{border-color:var(--muted)}
.dms-custom-opt input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--accent);flex:none}
.dms-custom-opt span{display:grid;gap:2px;line-height:1.35}
.dms-custom-opt small{color:var(--muted);font-size:.85rem}
.dms-custom-opt:has(input:checked){border-color:var(--accent);background:var(--surface)}
.dms-custom-panel{display:grid;gap:12px}
.dms-custom-panel[hidden]{display:none}
.dms-drop{position:relative;display:grid;justify-items:center;gap:2px;padding:22px 16px;border:2px dashed #a8a29e;border-radius:var(--r-s);background:var(--surface);text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s}
.dms-drop:hover,.dms-drop.is-over{border-color:var(--accent);background:var(--surface-2)}
.dms-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.dms-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.dms-drop-main{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dms-drop-sub{font-size:.85rem;color:var(--muted)}
.is-busy .dms-drop{opacity:.6;pointer-events:none}
.dms-file-status{display:flex;gap:12px;align-items:center;font-size:.9rem;line-height:1.45}
.dms-file-status:empty{display:none}
.dms-file-status img{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff;flex:none}
.dms-file-status.is-error{color:#912018;font-weight:600}
.dms-file-status.is-busy{color:var(--muted)}
.dms-file-ok{display:grid;gap:4px}
.dms-file-warn{color:#93370d;font-size:.85rem}
.dms-custom-hint{margin:0;font-size:.85rem;color:var(--muted);line-height:1.45}
.dms-tpl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dms-tpl{position:relative;display:grid;gap:2px;justify-items:center;padding:4px;border:2px solid var(--line);border-radius:var(--r-s);cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}
.dms-tpl:hover{border-color:var(--muted)}
.dms-tpl input{position:absolute;opacity:0;width:1px;height:1px}
.dms-tpl img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}
.dms-tpl span{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.04em}
.dms-tpl:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.dms-tpl:has(input:checked) span{color:var(--ink)}
.dms-tpl:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.dms-custom-field{margin:0;display:grid;gap:6px}
.dms-custom-field label{font-weight:700}
.dms-custom-field small{font-weight:400;color:var(--muted);margin-left:4px}
.dms-custom-field input,.dms-custom-field textarea,.dms-proof-form textarea{width:100%;min-height:48px;font:inherit;padding:10px 12px;border:1px solid #78716c;border-radius:var(--r-s);background:#fff;color:var(--ink);box-sizing:border-box}
.dms-custom-field textarea{min-height:64px;resize:vertical}
.dms-custom-facts{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.88rem;color:var(--muted)}
.dms-custom-facts li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.dms-custom-facts .dms-i{width:18px;height:18px;color:var(--ink);flex:none;margin-top:1px}
.dms-custom-facts strong{color:var(--ink)}
.dms-rights{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.45;cursor:pointer;padding:12px 14px;border-radius:var(--r-s);background:var(--surface)}
.dms-rights input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent);flex:none}
.dms-custom-next{margin:24px 0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.dms-custom-next h2{margin:0 0 8px;font-size:1.25rem}
.dms-custom-next ol{margin:0;padding-left:20px;display:grid;gap:6px}
.dms-proof{padding-top:28px;padding-bottom:56px}
.dms-proof .dms-page-title{margin:0 0 4px}
.dms-proof-sub{margin:0 0 20px;color:var(--muted)}
.dms-proof-grid{display:grid;gap:24px;align-items:start}
.dms-proof-fig{margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:grid;gap:12px;justify-items:center}
.dms-proof-fig img{width:100%;max-width:560px;height:auto;display:block}
.dms-proof-fig figcaption{font-size:.88rem;color:var(--muted);text-align:center;max-width:46ch}
.dms-proof-panel{display:grid;gap:16px}
.dms-proof-items{margin:0;font-weight:700}
.dms-proof-note{margin:0;padding:12px 14px;border-radius:var(--r-s);background:var(--surface)}
.dms-proof-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.dms-proof-form h2{margin:0;font-size:1.2rem}
.dms-proof-form label[for]{font-weight:700}
.dms-proof-form .dms-btn{width:100%}
.dms-proof-form.is-dim{opacity:.75}
.dms-proof-err{margin:0;padding:10px 12px;border-radius:var(--r-s);background:#fef3f2;color:#912018;font-weight:600}
.dms-proof-state{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);line-height:1.5}
.dms-proof-state.is-ok{border-color:#067647;background:#ecfdf3}
.dms-proof-state .dms-i{width:22px;height:22px;flex:none;margin-top:2px}
.dms-proof-small{margin:0;font-size:.85rem;color:var(--muted)}
@media (min-width:900px){
.dms-proof-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px}
.dms-tpl-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:380px){
.dms-custom{padding:14px}
.dms-tpl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
