*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:#f0f2f5;font:13px/1.5 Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.glms-sidebar{width:200px;flex:none;background:#16181d;color:#c9cdd4;min-height:100vh;padding:0 0 30px}.glms-sidebar .logo{height:52px;display:flex;align-items:center;padding:0 18px;font-size:15px;font-weight:600;color:#fff;letter-spacing:1px;border-bottom:1px solid hsla(0,0%,100%,.08)}.glms-sidebar .m1{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 18px;font-size:13.5px;color:#e8eaed;text-align:left;background:none;border:none;cursor:pointer}.glms-sidebar .m1:hover{background:hsla(0,0%,100%,.06)}.glms-sidebar .m1 .arr{font-size:10px;color:#86909c;transition:transform .15s}.glms-sidebar .m1.open .arr{transform:rotate(180deg)}.glms-sidebar .sub{display:flex;flex-direction:column;padding:2px 0 6px}.glms-sidebar .sub a,.glms-sidebar .sub button{display:block;padding:10px 18px 10px 32px;font-size:13px;color:#a9b0bd;text-align:left;background:none;border:none;cursor:pointer;text-decoration:none}.glms-sidebar .sub a:hover,.glms-sidebar .sub button:hover{color:#fff}.glms-sidebar .sub .on{background:#1677ff;color:#fff}.glms-sidebar .m2{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 18px 9px 32px;font-size:13px;color:#a9b0bd;background:none;border:none;cursor:pointer;text-align:left}.glms-sidebar .m2:hover{color:#fff}.glms-sidebar .m2 .arr{font-size:10px;color:#86909c;transition:transform .15s}.glms-sidebar .m2.open .arr{transform:rotate(180deg)}.glms-sidebar .sub2{display:flex;flex-direction:column;padding:0 0 4px}.glms-sidebar .sub2 a{padding:9px 18px 9px 46px;font-size:13px;color:#a9b0bd;text-decoration:none}.glms-sidebar .sub2 a:hover{color:#fff}.glms-sidebar .sub2 a.on{background:#1677ff;color:#fff}.glms-page{background:#fff;border-radius:6px;padding:12px 16px 16px}.tpl-page{height:calc(100vh - 40px);flex-direction:column}.tpl-page,.tpl-workbench{display:flex;overflow:hidden}.tpl-workbench{flex:1 1;background:#fff;border-radius:6px;border:1px solid #f0f0f0;box-shadow:0 1px 4px rgba(0,0,0,.04)}.tpl-side{width:250px;flex-shrink:0;border-right:1px solid #f0f0f0;display:flex;flex-direction:column;overflow:hidden}.tpl-side-header{padding:12px 14px;border-bottom:1px solid #f0f0f0;font-size:14px;font-weight:600}.tpl-side-search{padding:8px 12px;border-bottom:1px solid #f0f0f0}.tpl-side-list{flex:1 1;overflow:auto;padding:4px 0}.tpl-group-title{padding:8px 14px 4px;font-size:11px;color:#86909c;font-weight:600;display:flex;justify-content:space-between;align-items:center;letter-spacing:.5px}.tpl-group-title .count{color:#bbb;font-weight:400}.tpl-item{padding:8px 14px 8px 20px;cursor:pointer;border-left:3px solid transparent;transition:all .15s}.tpl-item:hover{background:#f7faff}.tpl-item.active{background:#e6f4ff;border-left-color:#1677ff}.tpl-item .name{font-size:12.5px;line-height:1.4}.tpl-item.active .name{color:#1677ff;font-weight:500}.tpl-empty{padding:20px 14px;font-size:12px;color:#bbb;text-align:center}.tpl-editor{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#f5f7fa}.tpl-editor-header{flex-shrink:0;background:#fff;border-bottom:1px solid #f0f0f0;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.tpl-editor-header .left{min-width:0}.tpl-editor-header .tpl-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.tpl-editor-header .edit-btn{font-size:12px;color:#1677ff;font-weight:400;cursor:pointer;border:none;background:none;padding:0;font-family:inherit}.tpl-editor-header .edit-btn:hover{text-decoration:underline}.tpl-base-badge{display:inline-block;background:#fffbe6;color:#d46b08;border:1px solid #ffe58f;padding:0 8px;border-radius:10px;font-size:11px;line-height:18px;font-weight:400;white-space:nowrap}.tpl-meta{margin-top:4px;font-size:12px;color:#86909c;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tpl-meta .cur-version{color:#d46b08;font-weight:600}.tpl-editor-header .right{gap:8px}.tpl-editor-header .right,.tpl-toolbar{display:flex;flex-shrink:0;align-items:center}.tpl-toolbar{background:#fff;border-bottom:1px solid #f0f0f0;padding:6px 16px;gap:10px;flex-wrap:wrap}.tpl-toolbar-divider{width:1px;height:18px;background:#e5e6eb}.tt-select{height:26px;padding:0 4px;font-size:12px;line-height:24px;color:#4e5969;border:1px solid #e5e6eb;border-radius:4px;background:#fff;cursor:pointer;font-family:inherit;outline:none;transition:border-color .15s}.tt-select:hover{border-color:#69a1ff}.tt-select:focus{border-color:#1677ff}.tt-select-font{width:120px}.tt-btn{padding:3px 10px;font-size:12px;line-height:20px;border:1px solid transparent;border-radius:4px;background:transparent;color:#4e5969;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.tt-btn:hover{background:#f2f7ff;color:#1677ff}.tt-btn.on{background:#e6f4ff;color:#1677ff;border-color:#adc6ff;font-weight:600}.tt-bold{font-weight:700;font-family:Georgia,serif;min-width:28px}.tpl-toolbar-spec{margin-left:auto;font-size:11px;color:#c9cdd4}.tpl-canvas-wrap{flex:1 1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start;position:relative}.tpl-canvas{width:100%;max-width:780px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.08);border-radius:6px;min-height:900px;padding:44px 56px}.tpl-doc{min-height:812px;font-family:Times New Roman,SimSun,serif;font-size:12.5pt;line-height:1.9;color:#1f2329;caret-color:#1677ff;word-break:break-word}.tpl-doc,.tpl-doc:focus{outline:none}.tpl-doc p{margin:0 0 8px}.tpl-doc h1,.tpl-doc h2,.tpl-doc h3{color:#1a3a5c;margin:14px 0 8px;line-height:1.6}.tpl-doc table{margin:10px 0}.tpl-drop-caret{position:absolute;width:2px;background:#1677ff;border-radius:1px;pointer-events:none;z-index:10;box-shadow:0 0 4px rgba(22,119,255,.55)}.tpl-drop-caret:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#1677ff}.locate-hl{background:#fff7e6!important;box-shadow:0 0 0 3px rgba(250,173,20,.35)!important;border-radius:2px;transition:all .2s}.tpl-chip{display:inline-block;padding:0 8px;margin:0 3px;border-radius:10px;font-size:12px;line-height:20px;font-weight:500;background:#e6f4ff;color:#1677ff;border:1px solid #adc6ff;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;transition:all .15s}.tpl-chip:hover{background:#d6e8ff}.tpl-chip:active{cursor:-webkit-grabbing;cursor:grabbing}.tpl-chip.dragging{opacity:.5}.tpl-table{width:100%;border-collapse:collapse;font-size:12.5px;border:1px solid #d9d9d9}.tpl-table td,.tpl-table th{border:1px solid #d9d9d9;padding:6px 10px;text-align:left;outline:none;vertical-align:middle;line-height:1.7}.tpl-table th{background:#fafbfc;font-weight:600;color:#5a6c7d;font-size:12px}.tpl-table td:focus,.tpl-table th:focus{background:#f7faff}.tpl-fields{width:280px;flex-shrink:0;background:#fff;border-left:1px solid #f0f0f0;display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease,opacity .2s ease}.tpl-fields.collapsed{width:0;border-left:none;opacity:0}.tpl-fields-header{padding:12px 14px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-shrink:0}.tpl-fields-header h3{margin:0;font-size:14px;font-weight:600}.tpl-fields-header .sub{font-size:11px;color:#999;margin-top:4px;line-height:1.5}.tpl-collapse-btn{width:24px;height:24px;flex-shrink:0;border:1px solid #e0e0e0;background:#fff;border-radius:4px;cursor:pointer;color:#999;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit}.tpl-collapse-btn:hover{border-color:#1677ff;color:#1677ff;background:#f0f7ff}.tpl-fields-body{flex:1 1;overflow:auto;padding:8px 0}.tpl-field-group-title{padding:8px 14px;font-size:11px;color:#86909c;font-weight:600;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tpl-field-group-title:hover{color:#1677ff}.tpl-field-group-title .arrow{font-size:10px;color:#999;transition:transform .2s}.tpl-field-group.closed .arrow{transform:rotate(-90deg)}.tpl-field-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 10px}.tpl-field-chips .tpl-chip{margin:0;cursor:-webkit-grab;cursor:grab;font-weight:400}.tpl-field-chips .tpl-chip:active{cursor:-webkit-grabbing;cursor:grabbing}.tpl-field-chips .tpl-chip:hover{background:#d6e8ff;border-color:#69a1ff;box-shadow:0 0 0 2px rgba(22,119,255,.12)}.tpl-expand-btn{padding:4px 10px;font-size:12px;background:#fff7e6;color:#d46b08;border:1px solid #ffd591;border-radius:4px;cursor:pointer;font-weight:500;white-space:nowrap;transition:all .15s;font-family:inherit}.tpl-expand-btn:hover{background:#ffedd6;border-color:#ffc069}.tpl-editor-footer{flex-shrink:0;background:#fff;border-top:1px solid #f0f0f0;padding:10px 20px;display:flex;justify-content:space-between;align-items:center}.tpl-editor-footer .left{font-size:12px;color:#86909c}.tpl-editor-footer .right{display:flex;gap:10px}.tpl-btn{padding:5px 14px;border-radius:4px;border:1px solid #d9d9d9;background:#fff;cursor:pointer;font-size:13px;font-family:inherit;transition:all .2s;white-space:nowrap}.tpl-btn:hover{border-color:#1677ff;color:#1677ff}.tpl-btn-primary{background:#1677ff;color:#fff;border-color:#1677ff}.tpl-btn-primary:hover{background:#4096ff;color:#fff;border-color:#4096ff}.tpl-btn-ghost{background:#f5f5f5;color:#666;border-color:#e0e0e0}.tpl-btn-ghost:hover{background:#ebebeb;color:#666;border-color:#e0e0e0}.tpl-btn-outline{background:#fff;color:#1677ff;border-color:#1677ff}.tpl-btn-outline:hover{background:#e6f4ff}.tpl-btn-version{background:#fff7e6;color:#d46b08;border-color:#ffd591;font-weight:600;box-shadow:0 1px 4px rgba(250,173,20,.2)}.tpl-btn-version:hover{background:#ffedd6;color:#d46b08;border-color:#ffc069}.tpl-btn-sm{padding:3px 10px;font-size:12px}.tpl-version-list{display:flex;flex-direction:column;gap:10px}.tpl-version-item{padding:14px 16px;background:#fff;border:1.5px solid #f0f0f0;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;transition:all .15s}.tpl-version-item:hover{border-color:#adc6ff;background:#f7faff}.tpl-version-item.is-current{border-color:#1677ff;background:#e6f4ff}.tpl-version-item.is-base{border-color:#faad14;background:#fffbe6}.tpl-version-item.is-base.is-current{border-color:#1677ff;background:linear-gradient(135deg,#fffbe6,#e6f4ff)}.tpl-version-item .radio{width:16px;height:16px;border-radius:50%;border:2px solid #d9d9d9;flex-shrink:0;position:relative}.tpl-version-item.is-current .radio{border-color:#1677ff}.tpl-version-item.is-current .radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#1677ff}.tpl-version-item .info{flex:1 1;min-width:0}.tpl-version-item .v-no{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.tpl-version-item .v-meta{font-size:12px;color:#86909c}.tpl-version-item .v-actions{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:2}.tpl-cur-badge{font-size:11px;color:#1677ff;font-weight:400}.tpl-form-row{display:grid;grid-template-columns:96px 1fr;grid-gap:14px;gap:14px;align-items:start;margin-bottom:14px}.tpl-form-row .lbl{text-align:right;color:#86909c;font-size:13px;padding-top:5px}.tpl-form-row .lbl .req{color:#ff4d4f;margin-right:2px}.tpl-form-row .hint{font-size:12px;color:#999;margin-top:4px}.tpl-pdf-canvas{background:#e0e0e0;padding:24px;display:flex;justify-content:center;max-height:min(68vh,760px);overflow-y:auto}.tpl-pdf-page{width:100%;max-width:700px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.18);padding:56px 64px;font-size:12.5px;line-height:1.9;color:#333;position:relative;min-height:990px}.tpl-pdf-page:before{content:"国联民生证券 · 机密";position:absolute;top:24px;right:32px;font-size:10px;color:#bbb;letter-spacing:2px}.tpl-pdf-page:after{content:"第 1 页";position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:11px;color:#999}.tpl-pdf-page h1,.tpl-pdf-page h2,.tpl-pdf-page h3{color:#1a3a5c;margin:16px 0 8px}.tpl-pdf-page p{margin:0 0 6px}.tpl-pdf-page .filled{color:#1677ff;font-weight:500}.tpl-pdf-page table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}.tpl-pdf-page table td,.tpl-pdf-page table th{border:1px solid #d9d9d9;padding:6px 8px;text-align:left}.tpl-pdf-page table th{background:#fafbfc;font-weight:600;color:#5a6c7d}