.template-editor { padding-top: 18px; background: #f5f7fa; min-height: calc(100vh - 64px); }
.editor-top { display:flex; align-items:center; justify-content:space-between; margin:0 0 16px; }
.editor-top h1 { margin:6px 0 0; font-size:24px; }
.back-link { border:0; padding:0; background:transparent; color:#1677ff; cursor:pointer; font:14px inherit; }
.editor-actions { display:flex; gap:12px; }
.editor-meta { display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 210px 108px; gap:18px; padding:18px 20px; background:#fff; border:1px solid #e5e6eb; border-radius:6px; margin-bottom:16px; align-items:center; }
.editor-meta label { display:grid; grid-template-columns:86px 1fr; align-items:center; color:#4e5969; white-space:nowrap; }
.editor-meta b { color:#ff4d4f; margin-right:4px; font-weight:400; }
.editor-meta input,.editor-meta select { height:38px; width:100%; }
.editor-save { height:38px; padding:0 12px; white-space:nowrap; }
.parameter-filter { min-height:58px; margin:0 0 16px; padding:10px 20px; display:flex; align-items:center; gap:24px; background:#fff; border:1px solid #e5e6eb; border-radius:6px; }
.parameter-filter strong { color:#1f2937; font-size:16px; }
.parameter-filter label { display:flex; align-items:center; gap:10px; color:#4e5969; }
.parameter-filter select { width:260px; height:36px; }
.editor-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:16px; align-items:stretch; }
.group-sidebar { position:relative; top:auto; align-self:stretch; height:100%; background:#fff; border:1px solid #e5e6eb; border-radius:6px; padding:10px 0; }
.group-sidebar-title { padding:10px 28px 14px; color:#697586; font-size:16px; font-weight:600; }
.group-nav { width:100%; border:0; border-left:5px solid transparent; background:#fff; padding:13px 28px; display:flex; align-items:center; justify-content:space-between; color:#1f2937; font:15px inherit; text-align:left; cursor:pointer; }
.group-nav.task-link { min-height:52px; padding:12px 16px 12px 20px; gap:8px; font-size:14px; font-weight:500; white-space:nowrap; }
.group-nav.sub { padding-left:28px; font-size:13px; }
.group-nav.active,.group-nav:hover { color:#1677ff; background:#f0f7ff; border-left-color:#1677ff; }
.group-nav span { flex:0 0 auto; color:#697586; font-size:12px; padding:3px 8px; border-radius:14px; background:#f1f3f5; }
.group-nav.active span { color:#1d5de5; background:#dce8ff; }
.editor-content { min-width:0; }
.param-section { background:#fff; border:1px solid #e5e6eb; border-radius:6px; margin-bottom:16px; overflow:hidden; }
.param-section>header { padding:15px 20px; border-bottom:1px solid #e5e6eb; display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
.param-section h2 { margin:0; font-size:16px; display:flex; align-items:center; gap:8px; }
.section-caret { color:#697586; font-size:20px; line-height:1; transition:transform .2s; }
.param-section.collapsed .section-content { display:none; }
.param-section.collapsed>header { border-bottom:0; }
.param-section.collapsed .section-caret { transform:rotate(-90deg); }
.section-badge { display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:11px; font-size:12px; font-weight:500; }
.section-badge.system { color:#c93a3a; background:#fef2f2; }.section-badge.business { color:#0e9f6e; background:#f0fdf4; }
.param-group { padding:16px 20px; border-bottom:1px solid #e5e6eb; }.param-group:last-child { border:0; }
.param-group-heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 10px; }
.param-group h3 { margin:0; font-size:14px; color:#4e5969; }.param-group h3:before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:#1677ff; vertical-align:middle; }
.group-lock { min-width:64px; height:30px; padding:0 12px; color:#1677ff; border-color:#b7d6ff; }
.param-group.is-locked { background:#fafbfc; }
.param-group.is-locked .editor-table { opacity:.68; }
.param-group.is-locked input:disabled,.param-group.is-locked select:disabled { color:#86909c; cursor:not-allowed; }
.param-group.is-locked .row-remove:disabled,.param-group.is-locked .add-param-row:disabled { cursor:not-allowed; color:#b8bdc6; border-color:#d9dde4; background:#f7f8fa; }
.param-group.group-focused { box-shadow:inset 3px 0 0 #1677ff; background:#f5faff; }
.editor-table { overflow-x:auto; border:1px solid #e5e6eb; border-radius:4px; }.editor-table table { min-width:920px; font-size:13px; }.editor-table th { height:40px; background:#f7f8fa; color:#4e5969; font-weight:600; padding:0 10px; }.editor-table td { height:45px; padding:4px 8px; overflow:visible; text-overflow:clip; }.editor-table td input:not([type="checkbox"]),.editor-table td select { height:30px; width:100%; border:1px solid transparent; border-radius:3px; padding:0 6px; color:#1f2329; font:13px inherit; background:transparent; }.editor-table td input:not([type="checkbox"]):hover,.editor-table td select:hover { border-color:#d9dde4; }.editor-table td input:focus,.editor-table td select:focus { outline:none; border-color:#1677ff; background:#fff; }.check-cell,.action-cell { width:56px; text-align:center; }.check-cell input { width:16px; height:16px; accent-color:#1677ff; }.row-remove { border:0; color:#86909c; background:transparent; font-size:20px; cursor:pointer; }.row-remove:hover { color:#ff4d4f; }.add-param-row { margin-top:9px; width:100%; height:34px; display:flex; justify-content:center; align-items:center; gap:5px; color:#1677ff; background:#fff; border:1px dashed #b7d6ff; border-radius:4px; cursor:pointer; font:13px inherit; }.add-param-row:hover { background:#f0f7ff; }
@media(max-width:1280px){.editor-meta{grid-template-columns:1fr 1fr 180px 100px}.editor-layout{grid-template-columns:220px minmax(0,1fr)}}
