7fbda8c289
PHASE 1 — Bulk-Apply auf mehrere selektierte Raeume: - Backend _cmd_apply_raum_stil: leere ids im Patch → nimmt automatisch alle aktuell SELEKTIERTEN raum_outlines aus dem Doc (Bulk-Fallback) - Frontend sendet leere ids fuer die Default-Bulk-Variante. User selektiert N Raeume im Viewport → klickt Stil im Properties-Picker → Stil wird auf alle angewendet. Inkludiert immer den Properties-Raum. PHASE 2 — Stil-Manager als Settings-Tab: - Neuer Tab "Raumstile" in ProjectSettings-Dialog - Liste aller Stile mit Drag-Reorder (HTML5 native), Inline-Rename, Duplicate (content_copy-Icon), Delete (mit Confirm) - Mini-Preview: zeigt Layout-Struktur (z.B. "nummer·name / funktion / area") und der Name wird mit Font/Bold/Italic des Stils gerendert als Vorschau - Backend _cmd_reorder_raum_stile + _cmd_duplicate_raum_stil in elemente.py - ProjectSettings-Bridge dispatcht direkt zu elemente.load/save_raum_stempel_stile (kein Roundtrip via Elemente-Bridge noetig) - STILE_UPDATED-Message nach jeder Op pusht die neue Liste zum Dialog - params bei _open_project_settings enthalten jetzt raumStempelStile + fonts Bridge-Exports: reorderRaumStile / duplicateRaumStil in rhinoBridge.js