/* One settings section, with the white object cards used by processing rules. */
#page-settings #set-templates .templates-sheet { border-radius:28px; }
#page-settings #set-templates .tpl-groups { background:#f7f8fa; padding:24px; }
#page-settings #set-templates .rt-cardgrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#page-settings #set-templates .rt-gcard { text-align:left; font:inherit; min-width:0; min-height:230px; border:1px solid var(--ds-line); border-radius:28px; background:#fff; box-shadow:var(--ds-shadow-card); transform:none; animation:none; }
#page-settings #set-templates .rt-gcard:hover { background:#fff; border-color:#ced7e8; box-shadow:var(--ds-shadow-card); transform:none; }
#page-settings #set-templates .rt-gcard-head { padding:24px 24px 14px; gap:12px; align-items:flex-start; }
#page-settings #set-templates .rt-gcard-name { font-size:18px; line-height:1.4; font-weight:700; padding-top:6px; white-space:normal; overflow-wrap:anywhere; }
#page-settings #set-templates .tpl-object-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; flex:0 0 36px; border-radius:12px; }
#page-settings #set-templates .tpl-object-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-settings #set-templates .rt-gcard-sum { padding:0 24px 24px; gap:8px; }
#page-settings #set-templates .tpl-group-summary { font:500 14px/1.5 var(--ds-font); color:var(--t2); }
#page-settings #set-templates .tpl-group-description { font:400 16px/1.5 var(--ds-font); color:var(--t2); overflow-wrap:anywhere; }
#page-settings #set-templates .rt-gcard-foot { padding:14px 24px; color:var(--t2); border-color:var(--ds-line); }
#page-settings #set-templates .tpl-card-arrow { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#f5f5f8; color:var(--t2); }
#page-settings #set-templates .tpl-card-arrow svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-settings #set-templates .rt-gcard-cta { color:var(--t2); font:500 14px/1.5 var(--ds-font); }
#page-settings #set-templates .tpl-gdetail,
#page-settings #set-templates .tpl-detail { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
#page-settings #set-templates .tpl-detail::before { content:none; }
#page-settings #set-templates .rt-detail-back,
#page-settings #set-templates .tpl-detail-back { margin:0 0 20px; }
#page-settings #set-templates .tpl-group-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; margin-bottom:20px; background:#fff; border:1px solid var(--ds-line); border-radius:24px; }
#page-settings #set-templates .tpl-heading-identity { display:flex; align-items:center; gap:12px; min-width:0; }
#page-settings #set-templates .rt-detail-title,
#page-settings #set-templates .tpl-detail-h { font:700 24px/1.3 var(--ds-font); letter-spacing:-.025em; margin:0; overflow-wrap:anywhere; }
#page-settings #set-templates .tpl-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; border-radius:0; gap:16px; background:transparent; border:0; }
#page-settings #set-templates .tpl-item { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; border:1px solid var(--ds-line); border-radius:24px; background:#fff; box-shadow:var(--ds-shadow-card); overflow:hidden; }
#page-settings #set-templates .tpl-item:last-child { border-bottom:1px solid var(--ds-line); }
#page-settings #set-templates .tpl-item:hover { box-shadow:var(--ds-shadow-card); }
#page-settings #set-templates .tpl-item-info { min-width:0; display:flex; flex-direction:column; gap:16px; padding:20px 24px; flex:1; }
#page-settings #set-templates .tpl-item-title { display:flex; align-items:center; gap:12px; min-width:0; }
#page-settings #set-templates .tpl-item-preview { color:var(--t2); font:400 15px/1.6 var(--ds-font); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
#page-settings #set-templates .tpl-item > .tpl-open-btn { justify-content:space-between; width:100%; min-height:56px; padding:12px 24px; border:0; border-top:1px solid var(--ds-line); border-radius:0; text-align:left; }
#page-settings #set-templates .tpl-item-name { flex:1; min-width:0; margin:0; font:600 16px/1.45 var(--ds-font); white-space:normal; overflow-wrap:anywhere; cursor:default; }
#page-settings #set-templates .tpl-item-count { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:28px; padding:0 8px; background:var(--accent-soft); color:var(--a); border-radius:10px; font:600 14px/1 var(--ds-font); }
#page-settings #set-templates .tpl-open-btn,
#page-settings #set-templates .tpl-detail-actions button,
#page-settings #set-templates .tpl-tx-del { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:auto; min-height:40px; height:auto; padding:8px 16px; border:1px solid var(--border); border-radius:999px; font:500 14px/1.4 var(--ds-font); letter-spacing:normal; background:#fff; color:var(--t2); cursor:pointer; margin:0; gap:6px; }
#page-settings #set-templates .tpl-open-btn:hover,
#page-settings #set-templates .tpl-detail-actions button:hover { background:#f4f5f8; color:var(--t); }
#page-settings #set-templates .tpl-detail-heading { min-width:0; display:flex; flex-direction:column; gap:6px; flex:1; }
#page-settings #set-templates .tpl-detail-titlerow { padding:24px; margin:0 0 20px; align-items:center; gap:16px; background:#fff; border:1px solid var(--ds-line); border-radius:24px; }
#page-settings #set-templates .tpl-detail-count { font:400 14px/1.5 var(--ds-font); color:var(--t2); }
#page-settings #set-templates .tpl-detail-actions { flex-wrap:wrap; gap:8px; }
#page-settings #set-templates .tpl-detail-actions .danger { border-color:transparent; }
#page-settings #set-templates .tpl-tx-list { gap:16px; }
#page-settings #set-templates .tpl-tx { display:flex; flex-direction:column; align-items:stretch; padding:0; gap:0; border:1px solid var(--ds-line); border-radius:24px; background:#fff; box-shadow:var(--ds-shadow-card); overflow:hidden; }
#page-settings #set-templates .tpl-tx:hover { background:#fff; box-shadow:var(--ds-shadow-card); }
#page-settings #set-templates .tpl-tx-content { min-width:0; padding:22px 24px; }
#page-settings #set-templates .tpl-tx-label { display:flex; align-items:center; gap:8px; font:600 14px/1.5 var(--ds-font); color:var(--t2); margin-bottom:8px; }
#page-settings #set-templates .tpl-tx-text { font:400 16px/1.65 var(--ds-font); letter-spacing:normal; cursor:auto; }
#page-settings #set-templates .tpl-tx-actions { display:flex; flex-direction:row; gap:8px; align-items:center; padding:12px 24px; border-top:1px solid var(--ds-line); }
#page-settings #set-templates .tpl-tx-actions .tpl-tx-del { margin-left:auto; }
#page-settings #set-templates .tpl-answer-icon { display:inline-flex; color:var(--a); }
#page-settings #set-templates .tpl-answer-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-settings #set-templates .tpl-tx-del { border-color:transparent; color:var(--t2); }
#page-settings #set-templates .tpl-tx-del:hover,
#page-settings #set-templates .tpl-detail-actions .danger:hover { color:#b53628; background:#fdf1ef; }
#page-settings #set-templates .tpl-tx.editing { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:22px 24px; }
#page-settings #set-templates .tpl-edit-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#page-settings #set-templates .tpl-edit-head .tpl-tx-label { margin:0; }
#page-settings #set-templates .tpl-tx-input { display:block; font:400 16px/1.7 var(--ds-font); min-height:128px; padding:16px 18px; background:#f4f4f8; border:1px solid #e0e1e7; border-radius:18px; white-space:pre-wrap; overflow-wrap:anywhere; }
#page-settings #set-templates .tpl-tx-input:empty::before { content:attr(data-placeholder); color:var(--t3); pointer-events:none; }
#page-settings #set-templates .tpl-var-mark { display:inline-block; max-width:100%; overflow-wrap:normal; word-break:normal; vertical-align:baseline; padding:1px 5px; margin:0 2px; border-radius:5px; background:#e7edf9; color:#315ca9; font:500 14px/1.6 var(--ds-font); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
#page-settings #set-templates .tpl-variable-section { padding:16px 18px; background:#f8f9fb; border-radius:18px; }
#page-settings #set-templates .tpl-vars { display:flex; flex-wrap:wrap; margin:0; padding:0; border:0; gap:8px; }
#page-settings #set-templates .tpl-var { height:auto; min-height:40px; padding:8px 14px; border:1px solid #e2e4e9; border-radius:999px; background:#fff; color:var(--t); font:500 14px/1.4 var(--ds-font); transform:none; }
#page-settings #set-templates .tpl-var svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-settings #set-templates .tpl-var span { display:inline-flex; }
#page-settings #set-templates .tpl-var:hover { background:#eef3fc; border-color:#c5d4f1; transform:none; }
#page-settings #set-templates .tpl-variable-hint { margin:12px 0 0; color:var(--t2); font:400 14px/1.5 var(--ds-font); }
#page-settings #set-templates .tpl-edit-foot { display:flex; justify-content:flex-end; }
#page-settings #set-templates .tpl-detail-foot { margin:20px 0 0; padding:16px 24px; background:#fff; border:1px solid var(--ds-line); border-radius:24px; flex-wrap:wrap; gap:12px; }
#page-settings #set-templates .tpl-save-btn { min-height:40px; height:auto; padding:10px 20px; border-radius:999px; font:500 14px/1.4 var(--ds-font); box-shadow:none; transform:none; margin-left:auto; }
#page-settings #set-templates .tpl-save-btn:hover { transform:none; background:var(--ds-accent-strong); }
#page-settings #set-templates .tpl-detail-foot-hint { width:100%; color:var(--t2); font:400 14px/1.5 var(--ds-font); }
#page-settings #set-templates .tpl-detail-foot-hint:empty { display:none; }
#page-settings #set-templates .tpl-empty { margin:0; padding:20px; color:var(--t2); font:400 15px/1.6 var(--ds-font); }
#page-settings #set-templates button:focus-visible,
#page-settings #set-templates [contenteditable]:focus-visible { outline:2px solid var(--a); outline-offset:3px; }
#page-settings #set-templates button:disabled { opacity:.55; cursor:wait; }
@media (max-width:1100px) { #page-settings #set-templates .rt-cardgrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  #page-settings #set-templates .templates-sheet { border-radius:24px; }
  #page-settings #set-templates .templates-header-surface > .settings-content-head { flex-wrap:wrap; gap:12px; padding:20px 18px 0; }
  #page-settings #set-templates .templates-header-surface > .set-section-sub { padding:8px 18px 20px; }
  #page-settings #set-templates .tpl-groups { padding:18px; }
  #page-settings #set-templates .rt-cardgrid { grid-template-columns:minmax(0,1fr); gap:12px; }
  #page-settings #set-templates .rt-gcard { min-height:200px; }
  #page-settings #set-templates .tpl-group-heading { align-items:flex-start; flex-direction:column; gap:12px; padding:18px; }
  #page-settings #set-templates .tpl-list { grid-template-columns:minmax(0,1fr); }
  #page-settings #set-templates .tpl-item-info { padding:18px; }
  #page-settings #set-templates .tpl-open-btn { justify-self:start; }
  #page-settings #set-templates .tpl-detail-titlerow { flex-wrap:wrap; gap:12px; padding:18px; }
  #page-settings #set-templates .tpl-detail-actions { width:100%; }
  #page-settings #set-templates .tpl-tx-content { padding:18px; }
  #page-settings #set-templates .tpl-tx.editing { padding:18px; }
  #page-settings #set-templates .tpl-tx-actions { flex-direction:row; flex-wrap:wrap; padding:12px; }
  #page-settings #set-templates .tpl-tx-input { padding:14px; }
  #page-settings #set-templates .tpl-variable-section { padding:14px; }
  #page-settings #set-templates .tpl-detail-foot { gap:10px; padding:16px; }
  #page-settings #set-templates .tpl-save-btn { margin:0; }
  #page-settings #set-templates button { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { #page-settings #set-templates * { animation:none; transition:none; } }
