.tpl-wrap { padding-top: 32px; padding-bottom: 60px; max-width: 980px; }
.tpl-head h1 { margin: 0 0 6px; }
.tpl-sub { opacity: .75; margin: 0 0 14px; }
.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.tpl-card { border: 1px solid var(--border, #e3e6ee); border-radius: 12px; padding: 18px; background: var(--card, #fff); }
.tpl-card h3 { margin: 0 0 6px; }
.tpl-card p { opacity: .75; font-size: .92rem; min-height: 2.4em; }
.tpl-empty { text-align: center; padding: 40px 10px; opacity: .85; }
.tpl-edit-title { margin: 14px 0; }
.tpl-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 16px 0; }
.tpl-field { display: flex; flex-direction: column; gap: 6px; font-size: .92rem; }
.tpl-field input[type=text], .tpl-field textarea, .tpl-field select { padding: 9px 10px; border: 1px solid var(--border, #ccd2de); border-radius: 8px; font: inherit; }
.tpl-field input[type=color] { width: 72px; height: 40px; padding: 2px; border: 1px solid #ccd2de; border-radius: 8px; }
.tpl-check { flex-direction: row; align-items: center; }
.tpl-logo-box { border: 1px dashed #bcc4d4; border-radius: 12px; padding: 16px; margin: 18px 0; }
.tpl-logo-box h3 { margin: 0 0 4px; }
.tpl-hint { opacity: .7; font-size: .85rem; margin: 0 0 10px; }
.tpl-logo-preview { display: block; max-width: 160px; max-height: 90px; margin: 8px 0 12px; border-radius: 8px; }
.tpl-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
