/* Additive editor tools; no slide or viewport data is changed. */
.layer-group-toolbar { display:grid; gap:8px; padding:12px 0 14px; border-bottom:1px solid var(--border); margin-bottom:10px; }
.layer-selection-actions,.layer-group-actions,.layer-group-name-row,.layer-group-style-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
.layer-group-name-row,.layer-group-style-row { grid-template-columns:minmax(0,1fr) auto; }
.layer-group-toolbar button,.composition-actions button,.decorative-filter { min-height:32px; border:1px solid var(--border); border-radius:8px; padding:6px 9px; color:var(--text); background:var(--surface); font:inherit; font-size:11px; cursor:pointer; }
.layer-group-toolbar button:hover,.composition-actions button:hover { border-color:var(--accent); background:var(--accent-soft); }
.layer-group-toolbar button:disabled { opacity:.45; cursor:default; }
.layer-group-toolbar input,.layer-group-toolbar select { width:100%; min-width:0; height:32px; padding:5px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font-size:11px; }
.layer-group-name-label,.layer-set-style-label { font-size:10px; color:var(--muted); }
.layer-group-toolbar .field-note { margin:2px 0 0; font-size:10px; line-height:1.6; }
.app-shell .template-element-item { grid-template-columns:18px 10px minmax(0,1fr) 26px; gap:5px; }
.app-shell .template-element-item > .layer-selection-checkbox { grid-column:1; grid-row:1; }
.app-shell .template-element-item > .layer-drag-handle { grid-column:2; grid-row:1; width:10px; min-width:0; }
.app-shell .template-element-item > .template-element-select { grid-column:3; grid-row:1; width:100%; min-width:0; overflow:hidden; }
.app-shell .template-element-item > .element-layer-visibility { grid-column:4; grid-row:1; width:26px; min-width:0; max-width:100%; }
.app-shell .template-element-select strong { white-space:normal; overflow-wrap:anywhere; line-height:1.35; }
.app-shell .layer-selection-checkbox { width:16px; height:16px; min-height:16px; padding:0; margin:0; accent-color:var(--accent); cursor:pointer; }
.layer-group-badge { display:block; width:max-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; margin-top:3px; padding:2px 5px; border-radius:4px; font-size:9px; color:var(--accent); background:var(--accent-soft); font-weight:500; }
.composition-tools { display:grid; gap:10px; }
.composition-tools .field-note { margin:0; line-height:1.65; }
.composition-tools label { display:block; color:var(--muted); font-size:11px; margin-bottom:6px; }
.composition-tools textarea { width:100%; min-height:105px; resize:vertical; }
.composition-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; }
.composition-actions #importCompositionBtn { grid-column:1 / -1; background:var(--accent-soft); color:var(--text); }
.composition-issues { margin:0; padding-left:17px; max-height:160px; overflow:auto; color:var(--muted); font-size:10px; line-height:1.7; }
.composition-feedback { font-size:11px; line-height:1.65; color:var(--text); margin:0; }
#smartSelectedTextField { padding-top:12px; border-top:1px solid var(--border); margin-top:12px; }
#smartSelectedTextField[hidden] { display:none!important; }
.decorative-symbols { margin-top:14px; }
.decorative-symbol-search { width:100%; margin:8px 0; }
.decorative-symbol-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; max-height:260px; overflow:auto; padding:2px 2px 7px; }
.decorative-symbol-grid button { display:grid; justify-items:center; align-content:start; min-width:0; gap:4px; padding:6px 2px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); cursor:pointer; }
.decorative-symbol-grid button:hover { border-color:var(--accent); background:var(--accent-soft); }
.decorative-symbol-grid canvas { display:block; width:42px; height:35px; }
.decorative-symbol-grid small { font-size:8px; line-height:1.3; max-width:100%; overflow-wrap:anywhere; }
.decorative-symbol-grid button[hidden] { display:none; }
@media(max-width:560px) { .decorative-symbol-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }

.composition-tools textarea { border:1px solid var(--border); border-radius:9px; background:var(--surface-raised); color:var(--text); padding:10px 12px; font:inherit; font-size:12px; line-height:1.6; }
.composition-outline { border:1px solid var(--border); border-radius:9px; background:var(--surface-raised); overflow:hidden; }
.composition-outline summary { padding:10px 11px; color:var(--text); font-size:11px; cursor:pointer; }
.composition-outline > div { padding:4px 10px 8px; }
.composition-outline #importCompositionBtn { margin:0 10px 10px; min-height:32px; width:calc(100% - 20px); border:1px solid var(--border); border-radius:7px; color:var(--text); background:var(--accent-soft); font:inherit; font-size:11px; cursor:pointer; }
.layer-group-name-label,.layer-set-style-label,.composition-tools label,.composition-issues { color:var(--text-secondary); }
