.rf-editor-layout{background:var(--color-surface-muted);grid-template-columns:minmax(0,460px) 1fr;gap:0;min-height:calc(100vh - 64px);display:grid}.rf-editor-pane{background:var(--color-surface-elevated);border-right:1px solid var(--color-border);overflow-y:auto}.rf-mobile-switch{display:none}.rf-mobile-switch-btn{min-height:44px;color:var(--color-text-muted);background:var(--color-surface-muted);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:10px 12px;font-size:14px;font-weight:500}.rf-mobile-switch-btn[aria-pressed=true]{background:var(--color-surface-elevated);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.rf-mobile-switch-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:64rem){.rf-editor-root{flex-direction:column;height:calc(100dvh - 4rem);display:flex;overflow:hidden}.rf-editor-topbar{flex:none;padding:0 16px}.rf-mobile-switch{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);flex:none;grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px;display:grid}.rf-editor-layout{flex:1;min-height:0;display:block;overflow:hidden}.rf-editor-pane,.rf-preview-pane{height:100%;min-height:0}.rf-editor-pane{border-right:none}.rf-editor-layout[data-mobile-view=preview] .rf-editor-pane,.rf-editor-layout[data-mobile-view=edit] .rf-preview-pane{display:none}.rf-preview-pane{padding:16px}}.rf-editor-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);z-index:calc(var(--z-sticky) - 1);display:flex;position:sticky;top:0}.rf-editor-tab{min-height:48px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-bottom:2px solid #0000;flex:1;padding:14px 8px;font-size:13px;font-weight:500}.rf-editor-tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-primary)}.rf-editor-tab:hover{color:var(--color-text)}.rf-editor-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.rf-editor-section{border-bottom:1px solid var(--color-border);padding:24px 24px 8px}.rf-editor-section h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);margin:0 0 16px;font-size:11px;font-weight:600}.rf-editor-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rf-editor-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.rf-editor-field>label{color:var(--color-text-muted);font-size:11.5px;font-weight:500}.rf-doctype-grid{background:var(--color-surface-muted);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.rf-doctype-tab{border-radius:var(--radius-sm);min-height:36px;color:var(--color-text-muted);text-align:center;cursor:pointer;background:0 0;padding:8px 6px;font-size:12.5px;font-weight:500}.rf-doctype-tab[aria-pressed=true]{background:var(--color-surface-elevated);color:var(--color-text);box-shadow:var(--shadow-sm)}.rf-doctype-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-logo-drop{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);text-align:center;width:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;padding:16px;font-size:12.5px}.rf-logo-drop:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.rf-logo-drop:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-logo-preview{text-align:left;align-items:center;gap:10px;display:flex}.rf-logo-preview img{max-width:100px;max-height:44px}.rf-item-row{grid-template-columns:1fr 96px 64px 32px;align-items:start;gap:8px;margin-bottom:8px;display:grid}.rf-item-add{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;margin-top:4px;padding:9px;font-size:13px}.rf-item-add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.rf-item-add:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-item-del{min-width:32px;min-height:40px;color:var(--color-text-subtle);border-radius:var(--radius-xs);cursor:pointer;background:0 0;align-self:stretch;place-items:center;display:grid}.rf-item-del:hover{color:var(--color-danger);background:var(--color-danger-soft)}.rf-item-del:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-swatch-row{flex-wrap:wrap;gap:8px;display:flex}.rf-swatch{border-radius:var(--radius-full);cursor:pointer;border:2px solid #0000;width:32px;height:32px;padding:0}.rf-swatch[aria-pressed=true]{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface-elevated) inset}.rf-swatch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-font-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rf-pick{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);text-align:center;background:var(--color-surface-elevated);min-height:44px;color:var(--color-text);cursor:pointer;padding:12px 8px;font-size:14px}.rf-pick[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.rf-pick:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-pick small{color:var(--color-text-subtle);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-family:var(--font-sans);margin-top:2px;display:block}.rf-toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.rf-toggle-row .rf-toggle-label{color:var(--color-text);font-size:13.5px;font-weight:500}.rf-toggle-row .rf-toggle-desc{color:var(--color-text-subtle);margin-top:2px;font-size:11.5px}.rf-switch{background:var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer;width:40px;height:24px;transition:background var(--motion-duration-fast) var(--motion-ease-standard);border:none;flex-shrink:0;padding:0;position:relative}.rf-switch[aria-checked=true]{background:var(--color-primary)}.rf-switch:after{content:"";background:var(--color-surface-elevated);border-radius:var(--radius-full);width:20px;height:20px;transition:transform var(--motion-duration-fast) var(--motion-ease-standard);position:absolute;top:2px;left:2px}.rf-switch[aria-checked=true]:after{transform:translate(16px)}.rf-switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rf-editor-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);align-items:center;gap:16px;height:64px;padding:0 24px;display:flex}.rf-editor-topbar .rf-doc-title{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.rf-saved{color:var(--color-text-subtle);align-items:center;gap:6px;font-size:12px;display:inline-flex}.rf-saved-dot{border-radius:var(--radius-full);background:var(--color-success);width:6px;height:6px}.rf-preview-pane{flex-direction:column;align-items:center;padding:32px;display:flex;overflow-y:auto}.rf-preview-toolbar{width:100%;max-width:794px;color:var(--color-text-muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;display:flex}.rf-preview-viewport{width:100%;max-width:794px}.rf-preview-frame{margin:0 auto;overflow:hidden}.rf-preview-scaler{transform-origin:0 0;width:max-content}.rf-paper{width:794px;min-height:1123px;box-shadow:var(--shadow-lg);font-family:var(--rf-paper-font,"Inter", system-ui, sans-serif);color:#1a1a1a;background:#fff;padding:56px 56px 48px;font-size:11.5pt;line-height:1.5;position:relative}.rf-paper.rf-tpl-modern{border-top:6px solid var(--rf-paper-accent,#3b3b8f)}.rf-paper.rf-tpl-editorial{font-family:Instrument Serif,Georgia,serif}.rf-paper.rf-tpl-editorial .rf-p-title{font-size:32pt}.rf-paper.rf-tpl-editorial .rf-p-company{font-size:26pt;font-style:italic;font-weight:400}.rf-p-head{justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;display:flex}.rf-p-sender{flex:1}.rf-p-logo{max-width:240px;max-height:64px;margin-bottom:6px}.rf-p-company{letter-spacing:-.01em;color:var(--rf-paper-accent-dark,#1a1a1a);margin:0;font-size:22pt;font-weight:600;line-height:1.1}.rf-p-tagline{color:#555;margin:4px 0 0;font-size:11pt}.rf-p-meta{text-align:right;color:#444;white-space:pre-line;font-size:9.5pt;line-height:1.5}.rf-p-recipient{white-space:pre-line;background:#f4f4f4;border-radius:4px;max-width:56%;margin:8px 0 32px;padding:14px 18px;font-size:10.5pt;line-height:1.5}.rf-paper.rf-tpl-minimal .rf-p-recipient{background:0 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;border-radius:0;max-width:60%;padding:14px 0}.rf-p-recipient .rf-from-line{color:#888;border-bottom:1px solid #d0d0d0;margin-bottom:8px;padding-bottom:6px;font-size:8pt}.rf-p-title{letter-spacing:-.01em;margin:0 0 4px;font-size:18pt;font-weight:600}.rf-p-numbers{color:#555;justify-content:space-between;margin-bottom:22px;font-size:10pt;display:flex}.rf-p-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:10pt}.rf-p-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#777;border-bottom:1px solid #d0d0d0;padding:12px 10px 10px;font-size:8.5pt;font-weight:500}.rf-p-table td{vertical-align:top;border-bottom:1px solid #ececec;padding:11px 10px}.rf-p-table th.rf-num,.rf-p-table td.rf-num{text-align:right;white-space:nowrap}.rf-p-table td.rf-pos{color:#888;width:32px}.rf-p-table .rf-empty{color:#bbb}.rf-p-totals{width:50%;margin-top:16px;margin-left:auto;font-size:10pt}.rf-p-totals .rf-row{justify-content:space-between;padding:6px 0;display:flex}.rf-p-totals .rf-grand{border-top:1.5px solid #1a1a1a;margin-top:6px;padding-top:10px;font-size:12pt;font-weight:600}.rf-p-kleinunternehmer{color:#555;margin-top:24px;font-size:9.5pt;font-style:italic}.rf-p-note{color:#444;white-space:pre-line;border-top:1px solid #ececec;border-bottom:1px solid #ececec;margin-top:36px;padding:14px 0;font-size:10pt;line-height:1.55}.rf-p-footer{color:#666;border-top:1px solid #ececec;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;padding-top:16px;font-size:8.5pt;line-height:1.5;display:grid}.rf-p-footer strong{text-transform:uppercase;letter-spacing:.06em;color:#999;margin-bottom:3px;font-size:7.5pt;font-weight:600;display:block}.rf-p-footer .rf-footer-body{white-space:pre-line}
