.doc-tpl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.doc-tpl-toolbar h2{margin:0;font-size:20px}.doc-tpl-toolbar p{margin:4px 0 0;color:#64748b;font-size:13px}
.doc-tpl-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-tpl-actions button{border:1px solid #dbe4ff;border-radius:10px;background:#fff;color:#263452;padding:8px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.doc-tpl-actions .primary{background:#4f63e9;color:#fff;border-color:#4f63e9}
.doc-tpl-empty{padding:24px;text-align:center;color:#64748b}
.doc-tpl-table-wrap{max-height:560px}.doc-tpl-table{color:#0f172a}.doc-tpl-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#3346b5;font-size:12px}
.doc-tpl-table tbody tr{cursor:pointer}.doc-tpl-table tbody tr:hover td{background:#eef4ff}.doc-tpl-table tbody tr.is-selected td{background:#e8efff}
.doc-tpl-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;opacity:0;transition:opacity .12s ease}.doc-tpl-table tbody tr:hover .doc-tpl-row-actions,.doc-tpl-row-actions:focus-within{opacity:1}
.doc-tpl-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #dbe4ff;border-radius:9px;background:#fff;color:#263452;padding:0;cursor:pointer}.doc-tpl-icon-btn:hover{background:#e8eeff}.doc-tpl-icon-btn.danger:hover{background:#fff1f0;color:#b42318;border-color:#f5b5ad}.doc-tpl-icon-btn svg{width:17px;height:17px}
.doc-tpl-sort{cursor:pointer}.doc-tpl-sort .th-label::after{content:"↕";opacity:.28;margin-left:6px;font-size:11px}.doc-tpl-sort[data-sort-dir="asc"] .th-label::after{content:"▲";opacity:1}.doc-tpl-sort[data-sort-dir="desc"] .th-label::after{content:"▼";opacity:1}
.doc-tpl-modal-bg{position:fixed;inset:0;z-index:350;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:18px}.doc-tpl-modal{width:min(1320px,100%);max-height:94vh;overflow:auto;background:#fff;color:#0f172a;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.3)}.doc-tpl-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.doc-tpl-modal-head h3{margin:0}.doc-tpl-close{border:1px solid #dbe4ff;background:#fff;border-radius:9px;width:34px;height:34px;cursor:pointer}.doc-tpl-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;padding:18px 20px}.doc-tpl-form{display:grid;gap:12px;min-width:0}.doc-tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.doc-tpl-field{display:grid;gap:5px}.doc-tpl-field label{font-size:12px;color:#475569}.doc-tpl-field input,.doc-tpl-field select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:9px 11px;font:inherit}.doc-tpl-check{display:flex;align-items:center;gap:8px;font-size:13px}.doc-tpl-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.doc-tpl-foot button{border:1px solid #dbe4ff;border-radius:10px;background:#fff;padding:9px 14px;font:inherit;cursor:pointer}.doc-tpl-foot .primary{background:#4f63e9;color:#fff;border-color:#4f63e9}.doc-tpl-error{color:#b42318;font-size:13px}
.doc-tpl-editor-shell{border:1px solid #cbd5e1;border-radius:12px;overflow:hidden;background:#fff}.doc-tpl-editor-shell .ql-toolbar{border:0;border-bottom:1px solid #dbe4ff;background:#f8fafc;position:sticky;top:0;z-index:3}.doc-tpl-editor-shell .ql-container{border:0;font-family:Arial,sans-serif;font-size:15px;min-height:430px}.doc-tpl-editor-shell .ql-editor{min-height:430px;line-height:1.5}.doc-tpl-editor-shell .ql-editor p{margin:0 0 8px}
.doc-tpl-editor-shell .ql-editor table{width:100%;border-collapse:collapse;margin:8pt 0}.doc-tpl-editor-shell .ql-editor td,.doc-tpl-editor-shell .ql-editor th{border:1px solid #000;padding:4pt;vertical-align:top}.doc-tpl-editor-shell .ql-editor td p,.doc-tpl-editor-shell .ql-editor th p{margin:0 0 4pt}.doc-tpl-editor-shell .ql-editor span[style*="font-size"]{line-height:inherit}
.doc-tpl-import-note{display:none;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:10px;padding:9px 11px;font-size:12px}.doc-tpl-import-note.show{display:block}
.doc-tpl-keys{border:1px solid #dbe4ff;border-radius:12px;padding:12px;max-height:650px;overflow:auto}.doc-tpl-keys h4{margin:0 0 8px}.doc-tpl-key-help{font-size:13px;color:#64748b;line-height:1.4}.doc-tpl-key-search{position:sticky;top:-12px;z-index:2;background:#fff;padding:10px 0 8px}.doc-tpl-key-search input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:9px 11px;font:inherit;font-size:13px}.doc-tpl-key-group{margin-top:12px;color:#475569;font-size:12px}.doc-tpl-key{display:grid;grid-template-columns:auto 1fr;gap:8px;width:100%;border:0;background:#f8fbff;border-radius:8px;padding:7px 8px;margin-top:5px;text-align:left;cursor:pointer;color:#0f172a}.doc-tpl-key:hover{background:#e8eeff}.doc-tpl-key code{color:#3346b5;font-size:11px}.doc-tpl-key-empty{padding:18px 4px;color:#64748b;font-size:13px;text-align:center}
.doc-tpl-table-tools{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.doc-tpl-table-tools button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;line-height:1.2}
.doc-tpl-table-tools button:hover{background:#eef2ff;border-color:#5b6df6;color:#1e40af}
@media(hover:none),(pointer:coarse){.doc-tpl-row-actions{opacity:1}}
@media(max-width:900px){.doc-tpl-layout{grid-template-columns:1fr}.doc-tpl-grid{grid-template-columns:1fr}.doc-tpl-editor-shell .ql-container,.doc-tpl-editor-shell .ql-editor{min-height:300px}.doc-tpl-keys{max-height:420px}}
