.dfctv-wrap{max-width:1200px;margin:30px auto;display:grid;grid-template-columns:390px minmax(0,1fr);gap:30px;font-family:inherit}
.dfctv-panel,.dfctv-result{background:#fff;border:1px solid #ddd;border-radius:4px;padding:24px;box-sizing:border-box}
.dfctv-panel h3{margin:0 0 8px}.dfctv-intro{font-size:13px;line-height:1.5;margin:0 0 22px;opacity:.72}
.dfctv-list-head,.dfctv-part{display:grid;grid-template-columns:minmax(0,1.35fr) 72px 72px 58px 24px;gap:7px;align-items:center}
.dfctv-list-head{font-size:11px;font-weight:700;opacity:.65;padding:0 0 6px}.dfctv-part{padding:6px 0;border-bottom:1px solid #eee}
.dfctv-part input{width:100%!important;min-width:0!important;height:36px!important;padding:5px 7px!important;border:1px solid #ccc!important;border-radius:4px!important;box-sizing:border-box!important;font:inherit}
.dfctv-remove{border:0!important;background:transparent!important;padding:0!important;cursor:pointer!important;font-size:18px!important;line-height:1!important;opacity:.7}.dfctv-remove:hover{opacity:1}
.dfctv-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.dfctv-row-actions button,.dfctv-bulk button{border:1px solid #222;border-radius:4px;padding:9px 10px;background:#fff;cursor:pointer;font-weight:600}
.dfctv-bulk{margin-top:14px;padding:14px;background:#f7f7f7;border:1px solid #e3e3e3;border-radius:4px}.dfctv-bulk label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.dfctv-bulk textarea{width:100%;resize:vertical;border:1px solid #ccc;border-radius:4px;padding:9px;box-sizing:border-box;font:inherit;font-size:13px}.dfctv-bulk-help{font-size:11px;opacity:.65;line-height:1.4;margin:7px 0 10px}.dfctv-bulk button{width:100%}
.dfctv-settings{display:grid;gap:13px;margin-top:25px}.dfctv-field label{display:block;font-weight:600;font-size:13px;margin-bottom:5px}.dfctv-input-unit{display:flex;align-items:center}.dfctv-input-unit input{width:100%;height:42px;border:1px solid #ccc;border-radius:4px 0 0 4px!important;padding:7px 10px;box-sizing:border-box}.dfctv-input-unit span{height:42px;display:flex;align-items:center;padding:0 12px;background:#eee;border:1px solid #ccc;border-left:0;border-radius:0 4px 4px 0}.dfctv-checkbox-field{margin-top:2px}.dfctv-checkbox-field label{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}.dfctv-checkbox-field input{margin:0}
.dfctv-actions{display:grid;gap:8px;margin-top:25px}.dfctv-actions button{width:100%;border:1px solid #222;border-radius:4px;padding:11px 15px;cursor:pointer;background:#fff;font-weight:600}.dfctv-actions .dfctv-primary{background:#111;color:#fff}.dfctv-actions button:disabled{opacity:.4;cursor:default}.dfctv-download-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dfctv-message{margin-top:15px;font-size:13px;min-height:18px}.dfctv-error{color:#b90000}.dfctv-success{color:#187b32}
.dfctv-result-header{display:flex;justify-content:space-between;gap:15px;margin-bottom:15px;font-size:13px}.dfctv-preview-wrap{width:100%;overflow:auto;background:#eee;min-height:400px;display:flex;align-items:center;justify-content:center}.dfctv-preview-wrap svg{width:100%;max-height:720px;background:#fff}.dfctv-canvas{fill:#fff;stroke:#222;stroke-width:2;vector-effect:non-scaling-stroke}.dfctv-part-vector{fill:none;stroke:#111;stroke-width:1;vector-effect:non-scaling-stroke}.dfctv-part-label{fill:#777;font-family:Arial,sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.dfctv-note{font-size:12px;opacity:.62;line-height:1.45;margin-top:12px}
@media(max-width:900px){.dfctv-wrap{grid-template-columns:1fr}}
@media(max-width:520px){.dfctv-list-head{display:none}.dfctv-part{grid-template-columns:1fr 1fr 1fr 50px 24px}.dfctv-part input:first-child{grid-column:1/-1}.dfctv-row-actions,.dfctv-download-grid{grid-template-columns:1fr}}
