{"id":21340,"date":"2025-12-27T08:29:55","date_gmt":"2025-12-27T07:29:55","guid":{"rendered":"https:\/\/limainvestimmobilien.de\/?page_id=21340"},"modified":"2026-04-15T13:26:11","modified_gmt":"2026-04-15T11:26:11","slug":"swot-analyse-immobilien","status":"publish","type":"page","link":"https:\/\/limainvestimmobilien.de\/en\/swot-analyse-immobilien\/","title":{"rendered":"SWOT-Analyse"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"21340\" class=\"elementor elementor-21340\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bbd4e88 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bbd4e88\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-89c237d\" data-id=\"89c237d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d1f9e0e elementor-widget elementor-widget-html\" data-id=\"d1f9e0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"container no-print\" style=\"margin-bottom: 30px;\">\n    <style>\n        \/* Scoped Styles f\u00fcr die Info-Box *\/\n        .intro-card {\n            display: grid;\n            grid-template-columns: 300px 1fr;\n            background: #fff;\n            border-radius: var(--radius);\n            overflow: hidden;\n            box-shadow: var(--shadow);\n            border: 1px solid var(--border-color);\n        }\n\n        .intro-visual {\n            background-image: url('https:\/\/images.unsplash.com\/photo-1486406146926-c627a92ad1ab?q=80&w=2070&auto=format&fit=crop');\n            background-size: cover;\n            background-position: center;\n            position: relative;\n        }\n\n        \/* Goldener Overlay-Effekt f\u00fcr CI-Look *\/\n        .intro-visual::after {\n            content: '';\n            position: absolute;\n            top: 0; left: 0; right: 0; bottom: 0;\n            background: linear-gradient(135deg, rgba(26, 28, 30, 0.4), rgba(187, 158, 28, 0.2));\n        }\n\n        .intro-content {\n            padding: 30px;\n        }\n\n        .intro-content h2 {\n            margin-top: 0;\n            color: var(--text-main);\n            border-bottom: none; \/* Reset global style *\/\n            font-size: 20px;\n        }\n\n        .intro-badges {\n            display: flex;\n            gap: 10px;\n            margin-top: 20px;\n            flex-wrap: wrap;\n        }\n\n        .intro-badge {\n            font-size: 11px;\n            font-weight: 700;\n            text-transform: uppercase;\n            padding: 6px 12px;\n            border-radius: 4px;\n            letter-spacing: 0.5px;\n        }\n        \n        \/* Matching SWOT Colors *\/\n        .ib-s { background: #e8f5e9; color: #27ae60; border: 1px solid #27ae60; }\n        .ib-w { background: #fdedec; color: #c0392b; border: 1px solid #c0392b; }\n        .ib-o { background: #eaf2f8; color: #2980b9; border: 1px solid #2980b9; }\n        .ib-t { background: #fef5e7; color: #f39c12; border: 1px solid #f39c12; }\n\n        @media (max-width: 800px) {\n            .intro-card { grid-template-columns: 1fr; }\n            .intro-visual { height: 150px; }\n        }\n    <\/style>\n\n    <div class=\"intro-card\">\n        <div class=\"intro-visual\"><\/div>\n        <div class=\"intro-content\">\n            <h2>SWOT-Analyse Methodik<\/h2>\n            <p style=\"font-size: 14px; color: #555; line-height: 1.6; margin: 0;\">\n                Diese Analyse dient der strukturierten Bewertung des Immobilien-Investments. Sie trennt strikt zwischen \n                objektbezogenen <strong>internen Faktoren<\/strong> (Zustand, Mietstruktur) und marktbedingten \n                <strong>externen Einfl\u00fcssen<\/strong> (Lage, Zins, Gesetze). Ziel ist es, nicht nur Risiken zu erkennen, \n                sondern eine klare Strategie (Kaufen, Entwickeln oder Absto\u00dfen) abzuleiten.\n            <\/p>\n            <div class=\"intro-badges\">\n                <div class=\"intro-badge ib-s\">Strengths (St\u00e4rken)<\/div>\n                <div class=\"intro-badge ib-w\">Weaknesses (Schw\u00e4chen)<\/div>\n                <div class=\"intro-badge ib-o\">Opportunities (Chancen)<\/div>\n                <div class=\"intro-badge ib-t\">Threats (Risiken)<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cb8f28b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cb8f28b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-af8fa6e\" data-id=\"af8fa6e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bba776f elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"bba776f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Lima Invest | Professional Asset Evaluation<\/title>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=JetBrains+Mono:wght@500;700&display=swap\" rel=\"stylesheet\">\n    <style>\n        :root {\n            --gold: #c4a235;\n            --gold-light: #f5edcf;\n            --gold-dark: #7a6516;\n            --ink: #111318;\n            --ink-soft: #2c2f36;\n            --text: #3d4048;\n            --text-muted: #7a7e8a;\n            --text-faint: #a5a9b5;\n            --bg: #f0f1f4;\n            --bg-warm: #f7f6f3;\n            --card: #ffffff;\n            --border: #e3e5ea;\n            --border-light: #eff0f3;\n\n            --green: #1a8f5c;\n            --green-bg: #e8f7f0;\n            --green-border: #b5e4ce;\n            --red: #c43838;\n            --red-bg: #fceaea;\n            --red-border: #f0b8b8;\n            --blue: #2563a8;\n            --blue-bg: #e7f0fa;\n            --blue-border: #b3d1f0;\n            --amber: #b8860b;\n            --amber-bg: #fdf5e1;\n            --amber-border: #f0d88a;\n\n            --radius: 10px;\n            --radius-sm: 6px;\n            --shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.04);\n            --shadow-lg: 0 4px 24px rgba(0,0,0,0.08);\n        }\n\n        * { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n\n        body {\n            font-family: 'Poppins', system-ui, sans-serif;\n            background: var(--bg);\n            color: var(--text);\n            margin: 0; padding: 0; line-height: 1.55;\n            -webkit-font-smoothing: antialiased;\n        }\n\n        .container { max-width: 1360px; margin: 0 auto; padding: 0 24px; }\n\n        \/* === ANIMATIONS === *\/\n        @keyframes fadeInUp {\n            from { opacity: 0; transform: translateY(18px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n        @keyframes fadeIn {\n            from { opacity: 0; }\n            to { opacity: 1; }\n        }\n        @keyframes slideInLeft {\n            from { opacity: 0; transform: translateX(-20px); }\n            to { opacity: 1; transform: translateX(0); }\n        }\n        @keyframes slideInRight {\n            from { opacity: 0; transform: translateX(20px); }\n            to { opacity: 1; transform: translateX(0); }\n        }\n        @keyframes scaleIn {\n            from { opacity: 0; transform: scale(0.92); }\n            to { opacity: 1; transform: scale(1); }\n        }\n        @keyframes kpiBarGrow {\n            from { width: 0; }\n            to { width: 100%; }\n        }\n        @keyframes countPulse {\n            0% { transform: scale(1); }\n            50% { transform: scale(1.04); }\n            100% { transform: scale(1); }\n        }\n        @keyframes verdictReveal {\n            from { opacity: 0; transform: translateY(24px) scale(0.97); }\n            to { opacity: 1; transform: translateY(0) scale(1); }\n        }\n        @keyframes ringPulse {\n            0% { box-shadow: 0 4px 20px rgba(0,0,0,0.15); }\n            50% { box-shadow: 0 4px 30px rgba(0,0,0,0.25); }\n            100% { box-shadow: 0 4px 20px rgba(0,0,0,0.15); }\n        }\n        @keyframes shimmer {\n            0% { background-position: -200% 0; }\n            100% { background-position: 200% 0; }\n        }\n\n        \/* Animate on load *\/\n        .sidebar .card {\n            animation: slideInLeft 0.5s ease both;\n        }\n        .sidebar .card:nth-child(1) { animation-delay: 0.05s; }\n        .sidebar .card:nth-child(2) { animation-delay: 0.15s; }\n        .sidebar .card:nth-child(3) { animation-delay: 0.25s; }\n\n        .title-area { animation: fadeInUp 0.5s ease both; animation-delay: 0.1s; }\n\n        .kpi-strip .kpi {\n            animation: fadeInUp 0.45s ease both;\n        }\n        .kpi-strip .kpi:nth-child(1) { animation-delay: 0.15s; }\n        .kpi-strip .kpi:nth-child(2) { animation-delay: 0.22s; }\n        .kpi-strip .kpi:nth-child(3) { animation-delay: 0.29s; }\n        .kpi-strip .kpi:nth-child(4) { animation-delay: 0.36s; }\n\n        .assessment-card { animation: fadeInUp 0.5s ease both; animation-delay: 0.4s; }\n\n        .section-divider { animation: fadeIn 0.4s ease both; animation-delay: 0.45s; }\n        .swot-controls { animation: fadeIn 0.4s ease both; animation-delay: 0.5s; }\n\n        .swot-matrix .swot-card {\n            animation: scaleIn 0.45s ease both;\n        }\n        .swot-matrix .swot-card:nth-child(1) { animation-delay: 0.5s; }\n        .swot-matrix .swot-card:nth-child(2) { animation-delay: 0.58s; }\n        .swot-matrix .swot-card:nth-child(3) { animation-delay: 0.66s; }\n        .swot-matrix .swot-card:nth-child(4) { animation-delay: 0.74s; }\n\n        .verdict-box { animation: verdictReveal 0.6s ease both; animation-delay: 0.8s; }\n\n        \/* Interactive transitions *\/\n        .kpi {\n            transition: transform 0.25s ease, box-shadow 0.25s ease;\n        }\n        .kpi:hover {\n            transform: translateY(-3px);\n            box-shadow: var(--shadow-lg);\n        }\n        .kpi-value {\n            transition: color 0.3s ease;\n        }\n        .kpi-value.updating {\n            animation: countPulse 0.3s ease;\n        }\n\n        .swot-item {\n            transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;\n        }\n        .swot-item:hover {\n            transform: translateX(3px);\n            box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n        }\n\n        .verdict-score-ring {\n            transition: all 0.5s ease;\n            animation: ringPulse 3s ease-in-out infinite;\n        }\n\n        .assessment-card {\n            transition: box-shadow 0.3s ease;\n        }\n        .assessment-card:hover {\n            box-shadow: var(--shadow-lg);\n        }\n\n        .swot-card {\n            transition: transform 0.2s ease, box-shadow 0.2s ease;\n        }\n        .swot-card:hover {\n            box-shadow: var(--shadow-lg);\n        }\n\n        \/* SWOT item enter animation *\/\n        .swot-item.entering {\n            animation: fadeInUp 0.3s ease both;\n        }\n\n        \/* Verdict change transition *\/\n        .verdict-box.transitioning {\n            animation: verdictReveal 0.4s ease both;\n        }\n\n        \/* KPI bar shimmer *\/\n        .kpi::before {\n            transition: background 0.5s ease;\n        }\n        .kpi.highlight::before {\n            background: linear-gradient(90deg, var(--gold), #e8c84a, var(--gold));\n            background-size: 200% 100%;\n            animation: shimmer 1.5s ease;\n        }\n\n        \/* Form focus glow *\/\n        input:focus, select:focus {\n            border-color: var(--gold);\n            box-shadow: 0 0 0 3px rgba(196,162,53,0.12);\n            transition: all 0.2s ease;\n        }\n\n        \/* Card hover lift *\/\n        .sidebar .card {\n            transition: box-shadow 0.25s ease;\n        }\n        .sidebar .card:hover {\n            box-shadow: var(--shadow-lg);\n        }\n\n        \/* === HEADER === *\/\n        header {\n            background: #ffffff;\n            padding: 0;\n            position: sticky; top: 0; z-index: 100;\n            border-bottom: 1px solid var(--border);\n            box-shadow: 0 1px 8px rgba(0,0,0,0.04);\n        }\n        .header-inner {\n            display: flex; justify-content: space-between; align-items: center;\n            padding: 14px 0;\n        }\n        .brand { display: flex; align-items: center; gap: 14px; }\n        .brand h1 {\n            margin: 0; font-family: 'Poppins', sans-serif;\n            font-size: 16px; font-weight: 700; color: var(--ink);\n            letter-spacing: 2px; text-transform: uppercase;\n        }\n        .brand p {\n            margin: 0; font-size: 10px; color: var(--gold-dark);\n            font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; margin-top: 1px;\n        }\n        .header-actions { display: flex; gap: 10px; align-items: center; }\n\n        .btn {\n            border: none; padding: 9px 20px; border-radius: 5px;\n            cursor: pointer; font-family: inherit; font-weight: 600; font-size: 12px;\n            letter-spacing: 0.5px; text-transform: uppercase; transition: all 0.25s ease;\n        }\n        .btn-primary { background: var(--gold); color: var(--ink); }\n        .btn-primary:hover { background: #d4b23f; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(196,162,53,0.3); }\n        .btn-ghost { background: var(--bg); color: var(--text-muted); border: 1px solid var(--border); }\n        .btn-ghost:hover { background: var(--border-light); color: var(--ink-soft); border-color: var(--text-faint); }\n\n        \/* === GRID === *\/\n        .grid-layout {\n            display: grid; grid-template-columns: 360px 1fr;\n            gap: 28px; padding: 28px 0 60px;\n        }\n\n        \/* === SIDEBAR === *\/\n        .sidebar { position: sticky; top: 68px; align-self: start; }\n\n        .card {\n            background: var(--card); border-radius: var(--radius);\n            border: 1px solid var(--border); box-shadow: var(--shadow);\n            margin-bottom: 16px; overflow: hidden;\n        }\n        .card-header {\n            padding: 14px 20px; border-bottom: 1px solid var(--border-light);\n            display: flex; align-items: center; gap: 10px;\n        }\n        .card-header-icon {\n            width: 28px; height: 28px; border-radius: 6px;\n            display: flex; align-items: center; justify-content: center;\n            font-size: 14px; flex-shrink: 0;\n        }\n        .card-header h2 {\n            margin: 0; font-size: 12px; font-weight: 700;\n            text-transform: uppercase; letter-spacing: 0.8px; color: var(--ink-soft);\n        }\n        .card-body { padding: 16px 20px 20px; }\n\n        .form-group { margin-bottom: 14px; }\n        .form-group:last-child { margin-bottom: 0; }\n        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n\n        label {\n            display: block; font-size: 10px; font-weight: 700;\n            text-transform: uppercase; letter-spacing: 0.5px;\n            color: var(--text-muted); margin-bottom: 5px;\n        }\n        input, select, textarea {\n            width: 100%; padding: 9px 12px;\n            border: 1px solid var(--border); border-radius: var(--radius-sm);\n            font-family: inherit; font-size: 13px; color: var(--ink-soft);\n            background: #fff; outline: none; transition: border 0.2s, box-shadow 0.2s;\n        }\n        input[type=\"number\"] { font-family: 'JetBrains Mono', monospace; font-weight: 500; font-size: 13px; }\n        select { cursor: pointer; }\n\n        \/* Checkbox Options *\/\n        .options-section { margin-top: 4px; }\n        .options-label {\n            display: flex; align-items: center; gap: 6px;\n            font-size: 10px; font-weight: 700; text-transform: uppercase;\n            letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: 8px; margin-top: 14px;\n        }\n        .options-label .dot {\n            width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;\n        }\n        .option-grid { display: flex; flex-direction: column; gap: 4px; }\n        .option-item {\n            display: flex; align-items: center; gap: 9px;\n            font-size: 12.5px; color: var(--text); cursor: pointer;\n            padding: 6px 8px; border-radius: var(--radius-sm); transition: background 0.15s;\n            line-height: 1.35;\n        }\n        .option-item:hover { background: var(--bg); }\n        .option-item input[type=\"checkbox\"] {\n            width: 15px; height: 15px; margin: 0; cursor: pointer;\n            accent-color: var(--gold); flex-shrink: 0;\n        }\n\n        \/* === MAIN CONTENT === *\/\n        .title-area { margin-bottom: 6px; }\n        .title-area h1 {\n            font-family: 'Poppins', sans-serif;\n            font-size: 28px; font-weight: 800; color: var(--ink);\n            margin: 0 0 4px 0; line-height: 1.2;\n            transition: opacity 0.3s ease;\n        }\n        .title-meta {\n            font-size: 12px; color: var(--text-muted);\n            text-transform: uppercase; letter-spacing: 1px; font-weight: 500;\n            transition: opacity 0.3s ease;\n        }\n\n        \/* KPI Strip *\/\n        .kpi-strip {\n            display: grid; grid-template-columns: repeat(4, 1fr);\n            gap: 14px; margin: 20px 0 24px;\n        }\n        .kpi {\n            background: var(--card); border: 1px solid var(--border);\n            border-radius: var(--radius); padding: 16px 18px;\n            position: relative; overflow: hidden;\n        }\n        .kpi::before {\n            content: ''; position: absolute; top: 0; left: 0; right: 0;\n            height: 3px; background: var(--gold);\n        }\n        .kpi-label {\n            font-size: 10px; font-weight: 700; text-transform: uppercase;\n            letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: 6px;\n        }\n        .kpi-value {\n            font-family: 'JetBrains Mono', monospace;\n            font-size: 22px; font-weight: 700; color: var(--ink); line-height: 1;\n        }\n        .kpi-sub {\n            font-size: 11px; color: var(--text-faint); margin-top: 4px;\n        }\n        .kpi-signal {\n            display: inline-block; width: 8px; height: 8px;\n            border-radius: 50%; margin-right: 4px; vertical-align: middle;\n        }\n\n        \/* Assessment *\/\n        .assessment-card {\n            background: var(--card); border: 1px solid var(--border);\n            border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);\n            margin-bottom: 28px;\n        }\n        .assessment-header {\n            padding: 16px 22px; border-bottom: 1px solid var(--border-light);\n            display: flex; align-items: center; gap: 10px;\n        }\n        .assessment-header h3 {\n            margin: 0; font-size: 13px; font-weight: 700;\n            text-transform: uppercase; letter-spacing: 0.5px; color: var(--ink-soft);\n        }\n        .assessment-body {\n            padding: 22px; font-size: 14px; line-height: 1.75; color: var(--text);\n        }\n        .assessment-body p { margin: 0 0 12px 0; }\n        .assessment-body p:last-child { margin: 0; }\n        .hl { background: var(--gold-light); padding: 1px 5px; border-radius: 3px; font-weight: 600; color: var(--gold-dark); }\n        .hl-warn { background: var(--red-bg); color: var(--red); }\n        .hl-good { background: var(--green-bg); color: var(--green); }\n\n        \/* === SWOT === *\/\n        .section-divider {\n            display: flex; align-items: center; gap: 14px;\n            margin: 36px 0 20px; padding-bottom: 12px;\n            border-bottom: 2px solid var(--ink);\n        }\n        .section-divider h2 {\n            margin: 0; font-family: 'Poppins', sans-serif;\n            font-size: 20px; font-weight: 800; color: var(--ink);\n        }\n        .section-divider .tag {\n            font-size: 10px; font-weight: 700; text-transform: uppercase;\n            letter-spacing: 1px; color: var(--text-muted);\n            background: var(--bg); padding: 4px 10px; border-radius: 4px;\n        }\n\n        .swot-controls {\n            background: var(--card); border: 1px solid var(--border);\n            border-radius: var(--radius); padding: 18px 20px;\n            box-shadow: var(--shadow); margin-bottom: 20px;\n            display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px;\n        }\n\n        .swot-matrix {\n            display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px;\n        }\n        .swot-card {\n            background: var(--card); border: 1px solid var(--border);\n            border-radius: var(--radius); overflow: hidden;\n            display: flex; flex-direction: column; min-height: 260px;\n        }\n        .swot-card-header {\n            padding: 14px 18px; display: flex; justify-content: space-between; align-items: center;\n        }\n        .swot-card-header h4 {\n            margin: 0; font-size: 13px; font-weight: 800;\n            text-transform: uppercase; letter-spacing: 0.8px;\n        }\n        .swot-card[data-type=\"strengths\"] .swot-card-header { background: var(--green-bg); border-bottom: 2px solid var(--green); }\n        .swot-card[data-type=\"strengths\"] .swot-card-header h4 { color: var(--green); }\n        .swot-card[data-type=\"weaknesses\"] .swot-card-header { background: var(--red-bg); border-bottom: 2px solid var(--red); }\n        .swot-card[data-type=\"weaknesses\"] .swot-card-header h4 { color: var(--red); }\n        .swot-card[data-type=\"opportunities\"] .swot-card-header { background: var(--blue-bg); border-bottom: 2px solid var(--blue); }\n        .swot-card[data-type=\"opportunities\"] .swot-card-header h4 { color: var(--blue); }\n        .swot-card[data-type=\"threats\"] .swot-card-header { background: var(--amber-bg); border-bottom: 2px solid var(--amber); }\n        .swot-card[data-type=\"threats\"] .swot-card-header h4 { color: var(--amber); }\n\n        .badge {\n            font-size: 9px; font-weight: 700; text-transform: uppercase;\n            letter-spacing: 0.8px; padding: 3px 8px; border-radius: 4px;\n        }\n        .badge-intern { background: rgba(0,0,0,0.06); color: var(--text-muted); }\n        .badge-extern { background: rgba(0,0,0,0.06); color: var(--text-muted); }\n\n        .swot-list {\n            list-style: none; padding: 12px 14px; margin: 0; flex-grow: 1;\n        }\n        .swot-item {\n            padding: 10px 12px; margin-bottom: 6px;\n            border-radius: var(--radius-sm); border: 1px solid var(--border-light);\n            background: #fdfdfe; transition: transform 0.2s ease, border 0.2s, box-shadow 0.2s;\n            display: flex; gap: 8px; align-items: flex-start;\n        }\n        .swot-item:hover { border-color: var(--border); }\n        .swot-item.auto { border-left: 3px solid var(--gold); background: #fffdf5; }\n\n        .swot-item-icon {\n            width: 20px; height: 20px; border-radius: 4px;\n            display: flex; align-items: center; justify-content: center;\n            font-size: 11px; flex-shrink: 0; margin-top: 1px;\n        }\n        .swot-card[data-type=\"strengths\"] .swot-item-icon { background: var(--green-bg); color: var(--green); }\n        .swot-card[data-type=\"weaknesses\"] .swot-item-icon { background: var(--red-bg); color: var(--red); }\n        .swot-card[data-type=\"opportunities\"] .swot-item-icon { background: var(--blue-bg); color: var(--blue); }\n        .swot-card[data-type=\"threats\"] .swot-item-icon { background: var(--amber-bg); color: var(--amber); }\n\n        .swot-input-text {\n            flex: 1; font-family: inherit; font-size: 12.5px; font-weight: 500;\n            border: none; background: transparent; padding: 2px 0;\n            resize: none; min-height: 20px; line-height: 1.4;\n            overflow: hidden; color: var(--text); outline: none;\n        }\n        .swot-input-text:focus { color: var(--ink); }\n        .swot-input-text.auto-gen { color: var(--gold-dark); font-weight: 600; }\n\n        .btn-add {\n            margin: 0 14px 14px; padding: 8px;\n            background: transparent; border: 1px dashed var(--border);\n            border-radius: var(--radius-sm); color: var(--text-muted);\n            font-family: inherit; font-size: 11px; font-weight: 600; cursor: pointer;\n            transition: all 0.25s ease;\n        }\n        .btn-add:hover { border-color: var(--gold); color: var(--gold-dark); background: var(--gold-light); }\n        .btn-del {\n            background: none; border: none; color: var(--text-faint);\n            cursor: pointer; font-size: 16px; line-height: 1; padding: 2px;\n            transition: color 0.15s, transform 0.15s; flex-shrink: 0;\n        }\n        .btn-del:hover { color: var(--red); transform: scale(1.2); }\n\n        .impact-select {\n            font-family: inherit; font-size: 10px; font-weight: 700;\n            padding: 2px 6px; border-radius: 3px; border: 1px solid var(--border);\n            background: #fff; color: var(--text-muted); cursor: pointer;\n            text-transform: uppercase; flex-shrink: 0; outline: none;\n        }\n        .impact-select:focus { border-color: var(--gold); }\n\n        \/* === VERDICT === *\/\n        .verdict-box {\n            border-radius: var(--radius); overflow: hidden;\n            box-shadow: var(--shadow-lg); border: 1px solid rgba(0,0,0,0.08);\n            margin-top: 8px;\n        }\n        .verdict-inner {\n            display: grid; grid-template-columns: 180px 1fr; gap: 0;\n        }\n        .verdict-score-area {\n            padding: 28px; display: flex; flex-direction: column;\n            align-items: center; justify-content: center; text-align: center;\n            border-right: 1px solid rgba(0,0,0,0.08);\n        }\n        .verdict-score-ring {\n            width: 90px; height: 90px; border-radius: 50%;\n            display: flex; align-items: center; justify-content: center;\n            font-family: 'JetBrains Mono', monospace; font-size: 26px; font-weight: 700;\n            margin-bottom: 8px; position: relative;\n        }\n        .verdict-score-label {\n            font-size: 10px; font-weight: 700; text-transform: uppercase;\n            letter-spacing: 1px; opacity: 0.7;\n        }\n        .verdict-content-area { padding: 28px; }\n        .verdict-content-area h3 {\n            margin: 0 0 10px 0; font-size: 16px; font-weight: 800;\n            text-transform: uppercase; letter-spacing: 0.5px;\n        }\n        .verdict-content-area p {\n            margin: 0; font-size: 13.5px; line-height: 1.6; opacity: 0.9;\n        }\n\n        .verdict-green { background: linear-gradient(135deg, #e8f7f0 0%, #f0faf5 100%); }\n        .verdict-green .verdict-score-area { border-right-color: var(--green-border); }\n        .verdict-green .verdict-score-ring { background: var(--green); color: #fff; box-shadow: 0 4px 20px rgba(26,143,92,0.25); }\n        .verdict-green h3, .verdict-green .verdict-score-label { color: var(--green); }\n        .verdict-green p { color: #1a5c3e; }\n\n        .verdict-yellow { background: linear-gradient(135deg, #fdf8e8 0%, #fefcf3 100%); }\n        .verdict-yellow .verdict-score-area { border-right-color: var(--amber-border); }\n        .verdict-yellow .verdict-score-ring { background: var(--amber); color: #fff; box-shadow: 0 4px 20px rgba(184,134,11,0.25); }\n        .verdict-yellow h3, .verdict-yellow .verdict-score-label { color: var(--amber); }\n        .verdict-yellow p { color: #5a4a0a; }\n\n        .verdict-red { background: linear-gradient(135deg, #fceaea 0%, #fef3f3 100%); }\n        .verdict-red .verdict-score-area { border-right-color: var(--red-border); }\n        .verdict-red .verdict-score-ring { background: var(--red); color: #fff; box-shadow: 0 4px 20px rgba(196,56,56,0.25); }\n        .verdict-red h3, .verdict-red .verdict-score-label { color: var(--red); }\n        .verdict-red p { color: #5c1a1a; }\n\n        .verdict-metrics {\n            display: flex; gap: 16px; margin-top: 14px; padding-top: 14px;\n            border-top: 1px solid rgba(0,0,0,0.06);\n        }\n        .verdict-metric {\n            font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px;\n        }\n        .vm-dot { width: 7px; height: 7px; border-radius: 50%; }\n\n        .footer-note {\n            text-align: center; padding: 20px 0 40px;\n            font-size: 11px; color: var(--text-faint);\n        }\n\n        \/* === EMPTY STATE === *\/\n        .empty-state {\n            text-align: center; padding: 40px 20px;\n            color: var(--text-faint); font-size: 13px;\n        }\n        .empty-state .empty-icon {\n            font-size: 32px; margin-bottom: 10px; opacity: 0.4;\n        }\n\n        \/* === PRINT \/ PDF === *\/\n        @media print {\n            @page {\n                margin: 4mm 6mm;\n                size: A4;\n            }\n            * { font-size-adjust: none; animation: none !important; transition: none !important; }\n            body { background: white; font-size: 6.5pt; line-height: 1.25; }\n\n            header, .footer-note, .sidebar, .no-print,\n            .btn, .btn-add, .btn-del, .swot-controls { display: none !important; }\n\n            .container { max-width: 100%; padding: 0; }\n            .grid-layout { display: block; padding: 0; }\n\n            .title-area { margin-bottom: 1px; }\n            .title-area h1 { font-size: 13pt; margin-bottom: 0; }\n            .title-meta { font-size: 6.5pt; letter-spacing: 0.3px; }\n\n            .kpi-strip { grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 4px 0 6px; }\n            .kpi { padding: 5px 7px; border-radius: 3px; }\n            .kpi::before { height: 1.5px; }\n            .kpi-label { font-size: 5.5pt; margin-bottom: 1px; }\n            .kpi-value { font-size: 11pt; }\n            .kpi-sub { font-size: 5.5pt; margin-top: 1px; }\n\n            .assessment-card { margin-bottom: 6px; box-shadow: none !important; }\n            .assessment-header { padding: 4px 8px; }\n            .assessment-header h3 { font-size: 6.5pt; }\n            .assessment-body { padding: 5px 8px; font-size: 6.5pt; line-height: 1.35; }\n            .assessment-body p { margin: 0 0 2px 0; }\n\n            .section-divider { margin: 4px 0 3px; padding-bottom: 2px; border-bottom-width: 1px; }\n            .section-divider h2 { font-size: 10pt; }\n            .section-divider .tag { font-size: 5pt; padding: 1px 4px; }\n\n            .swot-matrix { grid-template-columns: 1fr 1fr !important; gap: 4px; margin-bottom: 6px; }\n            .swot-card { min-height: auto; border-radius: 3px; box-shadow: none !important; }\n            .swot-card-header { padding: 3px 6px; }\n            .swot-card-header h4 { font-size: 6pt; }\n            .badge { font-size: 4.5pt; padding: 1px 3px; }\n\n            .swot-list { padding: 2px 4px; }\n            .swot-item { padding: 2px 4px; margin-bottom: 1px; border-radius: 2px; gap: 3px; }\n            .swot-item.auto { border-left-width: 1.5px; }\n            .swot-item-icon { width: 10px; height: 10px; font-size: 5.5pt; border-radius: 1px; }\n            .swot-input-text, textarea { font-size: 5.5pt !important; line-height: 1.2 !important; min-height: 8px !important; }\n\n            .verdict-box { margin-top: 3px; box-shadow: none !important; border-radius: 3px; }\n            .verdict-inner { grid-template-columns: 70px 1fr; }\n            .verdict-score-area { padding: 6px; }\n            .verdict-score-ring { width: 36px; height: 36px; font-size: 12pt; margin-bottom: 2px; box-shadow: none !important; animation: none !important; }\n            .verdict-score-label { font-size: 4.5pt; }\n            .verdict-content-area { padding: 6px 10px; }\n            .verdict-content-area h3 { font-size: 8pt; margin-bottom: 2px; }\n            .verdict-content-area p { font-size: 6pt; line-height: 1.3; }\n            .verdict-metrics { gap: 5px; margin-top: 3px; padding-top: 3px; }\n            .verdict-metric { font-size: 5.5pt; }\n            .vm-dot { width: 4px; height: 4px; }\n\n            .card, .assessment-card, .swot-card, .verdict-box {\n                box-shadow: none !important; break-inside: avoid;\n            }\n            textarea { border: none !important; background: transparent !important; }\n        }\n        @media (max-width: 960px) {\n            .grid-layout { grid-template-columns: 1fr; }\n            .sidebar { position: static; }\n            .kpi-strip { grid-template-columns: repeat(2, 1fr); }\n            .swot-matrix, .verdict-inner { grid-template-columns: 1fr; }\n            .verdict-score-area { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.08); }\n            .swot-controls { grid-template-columns: 1fr; }\n        }\n    <\/style>\n<\/head>\n<body>\n\n<header>\n    <div class=\"container header-inner\">\n        <div class=\"brand\">\n            <div>\n                <h1>Lima Invest<\/h1>\n                <p>Rational Asset Evaluation<\/p>\n            <\/div>\n        <\/div>\n        <div class=\"header-actions no-print\">\n            <button class=\"btn btn-ghost\" onclick=\"resetAll()\">Reset<\/button>\n            <button class=\"btn btn-primary\" onclick=\"window.print()\">&#9654; PDF Export<\/button>\n        <\/div>\n    <\/div>\n<\/header>\n\n<div class=\"container\">\n    <div class=\"grid-layout\">\n\n        <!-- SIDEBAR -->\n        <aside class=\"sidebar no-print\">\n            <div class=\"card\">\n                <div class=\"card-header\">\n                    <div class=\"card-header-icon\" style=\"background:var(--gold-light);color:var(--gold-dark);\">&#9632;<\/div>\n                    <h2>Objektdaten<\/h2>\n                <\/div>\n                <div class=\"card-body\">\n                    <div class=\"form-group\"><label>Projektname<\/label><input type=\"text\" id=\"name\" placeholder=\"z.B. Musterstra\u00dfe 12\" oninput=\"app.updateAll()\"><\/div>\n                    <div class=\"form-row\">\n                        <div class=\"form-group\"><label>Standort<\/label><input type=\"text\" id=\"city\" placeholder=\"Stadt\" oninput=\"app.updateAll()\"><\/div>\n                        <div class=\"form-group\"><label>Baujahr<\/label><input type=\"number\" id=\"year\" placeholder=\"1990\" oninput=\"app.updateAll()\"><\/div>\n                    <\/div>\n                    <div class=\"form-row\">\n                        <div class=\"form-group\">\n                            <label>Sanierungsstand<\/label>\n                            <select id=\"mod\" onchange=\"app.updateAll()\">\n                                <option value=\"\" selected disabled>Ausw\u00e4hlen...<\/option>\n                                <option value=\"kernsaniert\">Kernsaniert<\/option>\n                                <option value=\"gepflegt\">Gepflegt<\/option>\n                                <option value=\"teilweise\">Teilweise saniert<\/option>\n                                <option value=\"sanierungsbed\u00fcrftig\">Sanierungsbed\u00fcrftig<\/option>\n                            <\/select>\n                        <\/div>\n                        <div class=\"form-group\">\n                            <label>Energieklasse<\/label>\n                            <select id=\"energy\" onchange=\"app.updateAll()\">\n                                <option value=\"\" selected disabled>Ausw\u00e4hlen...<\/option>\n                                <option value=\"A\">A \/ B (Top)<\/option>\n                                <option value=\"C\">C \/ D (Mittel)<\/option>\n                                <option value=\"E\">E \/ F (Schwach)<\/option>\n                                <option value=\"G\">G \/ H (Risiko)<\/option>\n                            <\/select>\n                        <\/div>\n                    <\/div>\n                    <div class=\"form-group\">\n                        <label>Einheiten (Wohn \/ Gewerbe)<\/label>\n                        <div class=\"form-row\">\n                            <input type=\"number\" id=\"units_wohn\" placeholder=\"Wohn\" oninput=\"app.updateAll()\">\n                            <input type=\"number\" id=\"units_gew\" placeholder=\"Gewerbe\" oninput=\"app.updateAll()\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"card\">\n                <div class=\"card-header\">\n                    <div class=\"card-header-icon\" style=\"background:#e8f0fe;color:#2563a8;\">&#8364;<\/div>\n                    <h2>Finanzkennzahlen<\/h2>\n                <\/div>\n                <div class=\"card-body\">\n                    <div class=\"form-group\"><label>Kaufpreis (&#8364;)<\/label><input type=\"number\" id=\"price\" placeholder=\"0\" oninput=\"app.updateAll()\"><\/div>\n                    <div class=\"form-group\"><label>JNKM Ist (&#8364;\/Jahr)<\/label><input type=\"number\" id=\"jnkm\" placeholder=\"0\" oninput=\"app.updateAll()\"><\/div>\n                    <div class=\"form-row\">\n                        <div class=\"form-group\"><label>Fl\u00e4che (m&#178;)<\/label><input type=\"number\" id=\"area\" placeholder=\"0\" oninput=\"app.updateAll()\"><\/div>\n                        <div class=\"form-group\"><label>Leerstand (%)<\/label><input type=\"number\" id=\"vacancy\" placeholder=\"0\" step=\"1\" min=\"0\" max=\"100\" oninput=\"app.updateAll()\"><\/div>\n                    <\/div>\n                    <div class=\"form-row\">\n                        <div class=\"form-group\"><label>Ist-Miete (&#8364;\/m&#178;)<\/label><input type=\"number\" id=\"rent_ist\" placeholder=\"0.00\" step=\"0.1\" oninput=\"app.updateAll()\"><\/div>\n                        <div class=\"form-group\"><label>Soll-Miete (&#8364;\/m&#178;)<\/label><input type=\"number\" id=\"rent_soll\" placeholder=\"0.00\" step=\"0.1\" oninput=\"app.updateAll()\"><\/div>\n                    <\/div>\n                    <div class=\"form-group\"><label>NK-Quote (% v. JNKM)<\/label><input type=\"number\" id=\"nk_quote\" placeholder=\"30\" step=\"1\" oninput=\"app.updateAll()\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"card\">\n                <div class=\"card-header\">\n                    <div class=\"card-header-icon\" style=\"background:#f0e8fe;color:#7c3aed;\">&#9998;<\/div>\n                    <h2>Strategische Optionen<\/h2>\n                <\/div>\n                <div class=\"card-body\">\n                    <div class=\"options-section\">\n                        <div class=\"options-label\"><span class=\"dot\" style=\"background:var(--blue);\"><\/span> Potenziale (Upside)<\/div>\n                        <div class=\"option-grid\">\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_weg\" onchange=\"app.updateAll()\"> WEG-Aufteilung m\u00f6glich<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_dach\" onchange=\"app.updateAll()\"> Ausbaureserve (Dach\/Anbau)<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_moeb\" onchange=\"app.updateAll()\"> M\u00f6blierungspotenzial<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_idx\" onchange=\"app.updateAll()\"> Indexmiete-Umstellung<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_balkon\" onchange=\"app.updateAll()\"> Balkonanbau m\u00f6glich<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_stell\" onchange=\"app.updateAll()\"> Stellplatz-Nachverdichtung<\/label>\n                        <\/div>\n\n                        <div class=\"options-label\" style=\"margin-top:18px;\"><span class=\"dot\" style=\"background:var(--red);\"><\/span> Risiken \/ Auflagen<\/div>\n                        <div class=\"option-grid\">\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_msb\" onchange=\"app.updateAll()\"> Mietpreisbremse<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_geg\" onchange=\"app.updateAll()\"> GEG \/ Sanierungspflicht<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_milieu\" onchange=\"app.updateAll()\"> Milieuschutzgebiet<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_denkmal\" onchange=\"app.updateAll()\"> Denkmalschutz<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_erbpacht\" onchange=\"app.updateAll()\"> Erbpacht \/ Heimfall<\/label>\n                            <label class=\"option-item\"><input type=\"checkbox\" id=\"opt_gutachten\" onchange=\"app.updateAll()\"> Sondergutachten n\u00f6tig<\/label>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/aside>\n\n        <!-- MAIN -->\n        <main>\n            <div class=\"title-area\">\n                <h1 id=\"display-title\">Neue Bewertung<\/h1>\n                <div class=\"title-meta\" id=\"display-subtitle\">Daten eingeben, um die Analyse zu starten<\/div>\n            <\/div>\n\n            <div class=\"kpi-strip\">\n                <div class=\"kpi\">\n                    <div class=\"kpi-label\">Einkaufsfaktor<\/div>\n                    <div class=\"kpi-value\" id=\"res-factor\">&mdash;<\/div>\n                    <div class=\"kpi-sub\" id=\"res-factor-note\"><\/div>\n                <\/div>\n                <div class=\"kpi\">\n                    <div class=\"kpi-label\">Brutto-Rendite<\/div>\n                    <div class=\"kpi-value\" id=\"res-yield\">&mdash;<\/div>\n                    <div class=\"kpi-sub\" id=\"res-yield-note\"><\/div>\n                <\/div>\n                <div class=\"kpi\">\n                    <div class=\"kpi-label\">Mietpotenzial p.a.<\/div>\n                    <div class=\"kpi-value\" id=\"res-uplift\">&mdash;<\/div>\n                    <div class=\"kpi-sub\" id=\"res-uplift-note\"><\/div>\n                <\/div>\n                <div class=\"kpi\">\n                    <div class=\"kpi-label\">Preis \/ m&#178;<\/div>\n                    <div class=\"kpi-value\" id=\"res-ppm2\">&mdash;<\/div>\n                    <div class=\"kpi-sub\" id=\"res-ppm2-note\"><\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Assessment -->\n            <div class=\"assessment-card\">\n                <div class=\"assessment-header\">\n                    <span style=\"font-size:16px;\">&#128200;<\/span>\n                    <h3>Analytische Bewertung<\/h3>\n                <\/div>\n                <div class=\"assessment-body\" id=\"res-assessment\">\n                    <div class=\"empty-state\">\n                        <div class=\"empty-icon\">&#128203;<\/div>\n                        Objektdaten und Finanzkennzahlen eingeben, um die Analyse zu generieren.\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- SWOT -->\n            <div class=\"section-divider\">\n                <h2>SWOT Analyse<\/h2>\n                <span class=\"tag\">Investment Due Diligence<\/span>\n            <\/div>\n\n            <div class=\"swot-controls no-print\">\n                <div class=\"form-group\">\n                    <label>Strategie<\/label>\n                    <select id=\"strat-type\" onchange=\"app.updateAll()\">\n                        <option value=\"buyhold\" selected>Buy &amp; Hold<\/option>\n                        <option value=\"fixflip\">Fix &amp; Flip<\/option>\n                        <option value=\"develop\">Aufteilung \/ Entwicklung<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>Fokus<\/label>\n                    <select id=\"strat-focus\" onchange=\"app.updateAll()\">\n                        <option value=\"cashflow\" selected>Cashflow<\/option>\n                        <option value=\"value\">Wertsteigerung<\/option>\n                        <option value=\"risk\">Risikominimierung<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>Haltedauer<\/label>\n                    <select id=\"strat-horizon\" onchange=\"app.updateAll()\">\n                        <option value=\"short\">1-3 Jahre<\/option>\n                        <option value=\"medium\" selected>3-7 Jahre<\/option>\n                        <option value=\"long\">7+ Jahre<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <div class=\"swot-matrix\">\n                <div class=\"swot-card\" data-type=\"strengths\">\n                    <div class=\"swot-card-header\">\n                        <h4>&#9650; St\u00e4rken<\/h4>\n                        <span class=\"badge badge-intern\">Intern<\/span>\n                    <\/div>\n                    <ul class=\"swot-list\" id=\"list-strengths\"><\/ul>\n                    <button class=\"btn-add no-print\" onclick=\"swotApp.addItem('strengths')\">+ Punkt hinzuf\u00fcgen<\/button>\n                <\/div>\n                <div class=\"swot-card\" data-type=\"weaknesses\">\n                    <div class=\"swot-card-header\">\n                        <h4>&#9660; Schw\u00e4chen<\/h4>\n                        <span class=\"badge badge-intern\">Intern<\/span>\n                    <\/div>\n                    <ul class=\"swot-list\" id=\"list-weaknesses\"><\/ul>\n                    <button class=\"btn-add no-print\" onclick=\"swotApp.addItem('weaknesses')\">+ Punkt hinzuf\u00fcgen<\/button>\n                <\/div>\n                <div class=\"swot-card\" data-type=\"opportunities\">\n                    <div class=\"swot-card-header\">\n                        <h4>&#9654; Chancen<\/h4>\n                        <span class=\"badge badge-extern\">Extern<\/span>\n                    <\/div>\n                    <ul class=\"swot-list\" id=\"list-opportunities\"><\/ul>\n                    <button class=\"btn-add no-print\" onclick=\"swotApp.addItem('opportunities')\">+ Punkt hinzuf\u00fcgen<\/button>\n                <\/div>\n                <div class=\"swot-card\" data-type=\"threats\">\n                    <div class=\"swot-card-header\">\n                        <h4>&#9888; Risiken<\/h4>\n                        <span class=\"badge badge-extern\">Extern<\/span>\n                    <\/div>\n                    <ul class=\"swot-list\" id=\"list-threats\"><\/ul>\n                    <button class=\"btn-add no-print\" onclick=\"swotApp.addItem('threats')\">+ Punkt hinzuf\u00fcgen<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Verdict -->\n            <div class=\"verdict-box\" id=\"verdict-container\"><\/div>\n\n            <div class=\"footer-note\">\n                Lima Invest &#183; Rational Asset Evaluation &#183; Keine Anlageberatung\n            <\/div>\n        <\/main>\n    <\/div>\n<\/div>\n\n<script>\n\/* === CONFIG === *\/\nconst OPTION_MAP = {\n    opt_weg:      { type: 'opportunities', text: 'WEG-Aufteilung: Einzelprivatisierung erm\u00f6glicht deutliche Wertsteigerung je Einheit' },\n    opt_dach:     { type: 'opportunities', text: 'Nachverdichtung: Dachausbau oder Anbau schafft zus\u00e4tzliche Mietfl\u00e4che' },\n    opt_moeb:     { type: 'opportunities', text: 'M\u00f6blierung: Signifikanter Miet-Aufschlag bei geringem Invest m\u00f6glich' },\n    opt_idx:      { type: 'opportunities', text: 'Indexmieten: Automatischer Inflationsschutz durch Vertragsumstellung' },\n    opt_balkon:   { type: 'opportunities', text: 'Balkonanbau: Wohnwert- und Mietsteigerung bei \u00fcberschaubarem Capex' },\n    opt_stell:    { type: 'opportunities', text: 'Stellpl\u00e4tze: Zus\u00e4tzliche Ertragsquelle durch Nachverdichtung' },\n    opt_msb:      { type: 'threats', text: 'Mietpreisbremse: Limitiert Neuvermietungsmiete auf orts\u00fcbliches Niveau +10%' },\n    opt_geg:      { type: 'threats', text: 'GEG-Pflichten: Heizungstausch \/ D\u00e4mmung erzeugt substanziellen Capex-Bedarf' },\n    opt_milieu:   { type: 'threats', text: 'Milieuschutz: Modernisierung und Umwandlung erheblich eingeschr\u00e4nkt' },\n    opt_denkmal:  { type: 'threats', text: 'Denkmalschutz: Erh\u00f6hte Instandhaltungskosten, eingeschr\u00e4nkte Gestaltungsfreiheit' },\n    opt_erbpacht: { type: 'threats', text: 'Erbpacht: Laufender Zins und Heimfallrisiko belasten langfristigen Cashflow' },\n    opt_gutachten:{ type: 'threats', text: 'Sondergutachten: Unbekannte Risiken erfordern Kostenreserve vor Ankauf' }\n};\n\n\/* === APP === *\/\nconst app = (function() {\n    const fmtE = new Intl.NumberFormat('de-DE', { style:'currency', currency:'EUR', maximumFractionDigits:0 });\n    const fmtN = new Intl.NumberFormat('de-DE', { maximumFractionDigits:0 });\n    const v = id => parseFloat(document.getElementById(id).value) || 0;\n    const t = id => document.getElementById(id).value;\n    const c = id => document.getElementById(id).checked;\n\n    function hasData() {\n        return v('price') > 0 || v('jnkm') > 0 || t('name').trim() !== '';\n    }\n\n    function updateAll() {\n        const d = {\n            name: t('name'), city: t('city'), year: v('year'),\n            price: v('price'), jnkm: v('jnkm'), area: v('area'),\n            rent_ist: v('rent_ist'), rent_soll: v('rent_soll'),\n            mod: t('mod'), energy: t('energy'),\n            vacancy: v('vacancy'), nk_quote: v('nk_quote'),\n            units_wohn: v('units_wohn'), units_gew: v('units_gew'),\n            stratType: t('strat-type'), stratFocus: t('strat-focus'),\n            stratHorizon: t('strat-horizon')\n        };\n\n        const factor = d.jnkm > 0 ? d.price \/ d.jnkm : 0;\n        const yld = d.price > 0 ? (d.jnkm \/ d.price) * 100 : 0;\n        const uplift = Math.max(0, (d.rent_soll - d.rent_ist) * d.area * 12);\n        const ppm2 = d.area > 0 ? d.price \/ d.area : 0;\n        const nkm = d.jnkm * (1 - d.nk_quote \/ 100);\n        const netYld = d.price > 0 ? (nkm \/ d.price) * 100 : 0;\n\n        \/\/ Title\n        const titleEl = document.getElementById('display-title');\n        const subEl = document.getElementById('display-subtitle');\n        if (d.name.trim()) {\n            titleEl.innerText = d.name;\n            const parts = [];\n            if (d.city) parts.push(d.city);\n            if (d.year) parts.push(`Bj. ${d.year}`);\n            if (d.area) parts.push(`${fmtN.format(d.area)} m\\u00B2`);\n            if (d.units_wohn + d.units_gew > 0) parts.push(`${d.units_wohn + d.units_gew} Einheiten`);\n            subEl.innerText = parts.join(' | ') || 'Daten eingeben...';\n        } else {\n            titleEl.innerText = 'Neue Bewertung';\n            subEl.innerText = 'Daten eingeben, um die Analyse zu starten';\n        }\n\n        \/\/ KPIs with animation\n        const setKpi = (id, val) => {\n            const el = document.getElementById(id);\n            if (el.innerText !== val) {\n                el.innerText = val;\n                el.classList.remove('updating');\n                void el.offsetWidth;\n                el.classList.add('updating');\n            }\n        };\n\n        if (!hasData()) {\n            ['res-factor','res-yield','res-uplift','res-ppm2'].forEach(id =>\n                document.getElementById(id).innerText = '\\u2014');\n            ['res-factor-note','res-yield-note','res-uplift-note','res-ppm2-note'].forEach(id =>\n                document.getElementById(id).innerText = '');\n            document.getElementById('res-assessment').innerHTML = `\n                <div class=\"empty-state\">\n                    <div class=\"empty-icon\">&#128203;<\/div>\n                    Objektdaten und Finanzkennzahlen eingeben, um die Analyse zu generieren.\n                <\/div>`;\n            document.getElementById('verdict-container').innerHTML = '';\n            document.getElementById('verdict-container').className = 'verdict-box';\n            swotApp.syncOptions();\n            swotApp.syncAttributes(d, factor);\n            return;\n        }\n\n        setKpi('res-factor', factor > 0 ? factor.toFixed(1) + 'x' : '\\u2014');\n        setKpi('res-yield', yld > 0 ? yld.toFixed(1) + ' %' : '\\u2014');\n        setKpi('res-uplift', uplift > 0 ? fmtE.format(uplift) : '\\u2014');\n        setKpi('res-ppm2', ppm2 > 0 ? fmtE.format(Math.round(ppm2)) : '\\u2014');\n\n        \/\/ KPI sub-notes\n        const el = (id, val) => document.getElementById(id).innerText = val;\n        el('res-yield-note', netYld > 0 ? `Netto ca. ${netYld.toFixed(1)}% (NK ${d.nk_quote || 30}%)` : '');\n        el('res-uplift-note', uplift > 0 ? `+${((d.rent_soll\/d.rent_ist - 1)*100).toFixed(0)}% Mietsteigerung` : '');\n        el('res-ppm2-note', (d.units_wohn + d.units_gew) > 0 ? `${fmtE.format(Math.round(d.price \/ Math.max(1, d.units_wohn + d.units_gew)))} \/ Einheit` : '');\n\n        \/\/ Color notes\n        if (factor > 0) {\n            document.getElementById('res-factor-note').innerHTML =\n                factor < 16 ? '<span class=\"kpi-signal\" style=\"background:var(--green)\"><\/span>Unter Marktniveau'\n                : factor > 25 ? '<span class=\"kpi-signal\" style=\"background:var(--red)\"><\/span>Ambitioniert'\n                : '<span class=\"kpi-signal\" style=\"background:var(--amber)\"><\/span>Marktgerecht';\n        } else {\n            document.getElementById('res-factor-note').innerText = '';\n        }\n\n        \/\/ Sync SWOT\n        swotApp.syncOptions();\n        swotApp.syncAttributes(d, factor);\n\n        generateAssessment(d, factor, yld, uplift, ppm2, netYld);\n        generateVerdict(d, factor, yld, uplift, netYld);\n    }\n\n    function generateAssessment(d, factor, yld, uplift, ppm2, netYld) {\n        let html = '';\n\n        html += `<p>Das Investmentobjekt <span class=\"hl\">${d.name || 'Objekt'}<\/span> in ${d.city || '(Standort)'} wird zu einem Einkaufsfaktor von <strong>${factor.toFixed(1)}x<\/strong> angeboten (Brutto ${yld.toFixed(1)}%, Netto ca. ${netYld.toFixed(1)}%). `;\n        if (factor < 15) html += `Damit liegt der Preis <span class=\"hl-good\">deutlich unter dem Marktdurchschnitt<\/span> und signalisiert einen attraktiven Einstieg. `;\n        else if (factor > 25) html += `Der Faktor wirkt <span class=\"hl-warn\">ambitioniert<\/span>. Ohne substanzielles Upside ist der Preis schwer zu rechtfertigen. `;\n        else html += `Die Bewertung bewegt sich in einem marktgerechten Korridor. `;\n\n        const totalUnits = d.units_wohn + d.units_gew;\n        if (totalUnits > 0) {\n            html += `Der Quadratmeterpreis liegt bei ${fmtE.format(Math.round(ppm2))}, was bei ${totalUnits} Einheiten einem Durchschnitt von ${fmtE.format(Math.round(d.price \/ Math.max(1, totalUnits)))} pro Einheit entspricht.<\/p>`;\n        } else {\n            html += `Der Quadratmeterpreis liegt bei ${fmtE.format(Math.round(ppm2))}.<\/p>`;\n        }\n\n        html += `<p>`;\n        const age = new Date().getFullYear() - d.year;\n        if (d.energy === 'G' || c('opt_geg')) {\n            html += `<span class=\"hl-warn\">Kritisch:<\/span> Die energetische Substanz (Klasse ${d.energy || '?'}, Bj. ${d.year || '?'}, Alter ${age > 0 ? age + ' J.' : '?'}) erfordert zwingend Capex f\u00fcr Heizung\/D\u00e4mmung. Dieser Investitionsbedarf muss im Business Plan als Pflichtposition ber\u00fccksichtigt werden. `;\n        } else if (d.energy === 'A' || d.mod === 'kernsaniert') {\n            html += `Die Bausubstanz ist <span class=\"hl-good\">zukunftsf\u00e4hig<\/span> (${d.mod || '?'}, Klasse ${d.energy || '?'}). Das Instandhaltungsrisiko bleibt \u00fcberschaubar. `;\n        } else {\n            html += `Die Bausubstanz (${d.mod || '?'}, Klasse ${d.energy || '?'}${age > 0 ? ', ' + age + ' J.' : ''}) ist solide, erfordert aber mittelfristig Instandhaltungsma\u00dfnahmen. `;\n        }\n        if (d.vacancy > 10) html += `<span class=\"hl-warn\">Achtung:<\/span> Der Leerstand von ${d.vacancy}% reduziert den effektiven Cashflow und deutet auf Vermietungsprobleme hin. `;\n        html += `<\/p>`;\n\n        let ups = [];\n        if (c('opt_weg')) ups.push('WEG-Aufteilung (Einzelprivatisierung)');\n        if (c('opt_dach') || c('opt_balkon')) ups.push('bauliche Nachverdichtung');\n        if (uplift > 3000) ups.push(`Mietreserve von ${fmtE.format(uplift)}\/Jahr (+${((d.rent_soll\/d.rent_ist-1)*100).toFixed(0)}%)`);\n        if (c('opt_moeb')) ups.push('M\u00f6blierungsstrategie');\n\n        html += `<p>`;\n        if (ups.length > 0) {\n            html += `Das strategische Potenzial liegt in: <strong>${ups.join(', ')}<\/strong>. `;\n            if (d.stratType === 'fixflip' && c('opt_weg')) {\n                html += `F\u00fcr die Fix &amp; Flip Strategie ist die WEG-Aufteilung der zentrale Werttreiber. `;\n            }\n        } else {\n            html += `Wesentliche Wertsteigerungshebel sind aktuell <strong>nicht identifiziert<\/strong>. Der Fokus liegt auf stabiler Cashflow-Bewirtschaftung. `;\n        }\n        html += `<\/p>`;\n\n        document.getElementById('res-assessment').innerHTML = html;\n    }\n\n    function generateVerdict(d, factor, yld, uplift, netYld) {\n        let score = 50;\n        let notes = [];\n\n        if (factor > 0 && factor < 16) { score += 18; notes.push({t:'Attraktiver Faktor', c:'green'}); }\n        else if (factor > 0 && factor < 20) { score += 8; }\n        else if (factor > 26) { score -= 18; notes.push({t:'\u00dcberh\u00f6hter Faktor', c:'red'}); }\n\n        if (yld > 6) { score += 12; notes.push({t:'Starke Rendite', c:'green'}); }\n        else if (yld > 4.5) { score += 6; }\n        else if (yld > 0 && yld < 3) { score -= 14; notes.push({t:'Schwache Rendite', c:'red'}); }\n\n        if (netYld > 4) score += 5;\n        else if (netYld > 0 && netYld < 2) { score -= 8; }\n\n        if (d.energy === 'A') score += 10;\n        else if (d.energy === 'G') { score -= 14; notes.push({t:'Energetisches Risiko', c:'red'}); }\n        if (d.mod === 'kernsaniert') score += 8;\n        else if (d.mod === 'sanierungsbed\u00fcrftig') { score -= 10; }\n\n        if (d.vacancy > 20) { score -= 12; notes.push({t:'Hoher Leerstand', c:'red'}); }\n        else if (d.vacancy > 10) score -= 5;\n        else if (d.vacancy === 0) score += 3;\n\n        if (c('opt_geg')) score -= 10;\n        if (c('opt_erbpacht')) { score -= 14; notes.push({t:'Erbpacht-Risiko', c:'red'}); }\n        if (c('opt_milieu')) score -= 6;\n        if (c('opt_denkmal')) score -= 5;\n        if (c('opt_weg')) { score += 10; notes.push({t:'WEG-Upside', c:'green'}); }\n        if (c('opt_dach')) score += 5;\n        if (c('opt_moeb')) score += 3;\n\n        let stratWarn = '';\n        if (d.stratType === 'fixflip') {\n            if (uplift < 10000 && !c('opt_weg')) {\n                score -= 18;\n                stratWarn = 'Fix & Flip ohne kurzfristiges Wertsteigerungspotenzial (Miet-Uplift\/WEG) ist hochriskant.';\n            } else { score += 8; }\n        } else if (d.stratType === 'buyhold') {\n            if (d.stratFocus === 'cashflow' && yld > 0 && yld < 4) {\n                score -= 12;\n                stratWarn = 'Ist-Rendite zu niedrig f\u00fcr reine Cashflow-Strategie. Upside notwendig.';\n            }\n            if (d.stratHorizon === 'long' && (d.energy === 'G' || d.energy === 'E')) {\n                score -= 8;\n                stratWarn += ' Langfristiges Halten bei schwacher Energiebilanz birgt regulatorische Risiken.';\n            }\n        } else if (d.stratType === 'develop') {\n            if (!c('opt_weg') && !c('opt_dach')) {\n                score -= 15;\n                stratWarn = 'Entwicklungsstrategie ohne WEG-Option oder Ausbaurecht hat keinen klaren Hebel.';\n            } else { score += 8; }\n        }\n\n        score = Math.max(0, Math.min(100, Math.round(score)));\n\n        let rec, cls, detail;\n        if (score >= 65) {\n            rec = 'STRONG BUY';\n            cls = 'verdict-green';\n            detail = 'Die Fundamentaldaten \u00fcberzeugen. Das Rendite-Risiko-Verh\u00e4ltnis ist attraktiv.';\n        } else if (score >= 40) {\n            rec = 'VERHANDELN';\n            cls = 'verdict-yellow';\n            let discount = 0;\n            if (d.energy === 'G') discount += 150000;\n            if (c('opt_geg')) discount += 60000;\n            if (d.vacancy > 10) discount += 50000;\n            let target = Math.round((d.price - discount) \/ 10000) * 10000;\n            detail = `Potenzial vorhanden, aber zum aktuellen Preis risikobehaftet. Rationaler Zielpreis: ca. <strong>${fmtE.format(target)}<\/strong> (abzgl. Capex-Puffer und Risikoabschlag).`;\n        } else {\n            rec = 'PASS';\n            cls = 'verdict-red';\n            detail = 'Die Risiken \u00fcberwiegen die Chancen. Negativer Leverage-Effekt wahrscheinlich.';\n        }\n\n        if (stratWarn) {\n            detail += `<br><br><strong>Strategie-Check (${d.stratType}):<\/strong> ${stratWarn}`;\n        }\n\n        let metricsHtml = notes.slice(0, 4).map(n =>\n            `<div class=\"verdict-metric\"><span class=\"vm-dot\" style=\"background:var(--${n.c})\"><\/span>${n.t}<\/div>`\n        ).join('');\n\n        const container = document.getElementById('verdict-container');\n        container.innerHTML = `\n            <div class=\"verdict-inner\">\n                <div class=\"verdict-score-area\">\n                    <div class=\"verdict-score-ring\">${score}<\/div>\n                    <div class=\"verdict-score-label\">Investment Score<\/div>\n                <\/div>\n                <div class=\"verdict-content-area\">\n                    <h3>${rec}<\/h3>\n                    <p>${detail}<\/p>\n                    ${metricsHtml ? `<div class=\"verdict-metrics\">${metricsHtml}<\/div>` : ''}\n                <\/div>\n            <\/div>`;\n        container.className = `verdict-box ${cls}`;\n\n        \/\/ Trigger re-animation\n        container.classList.add('transitioning');\n        setTimeout(() => container.classList.remove('transitioning'), 500);\n    }\n\n    return { updateAll, isChecked: c, hasData };\n})();\n\n\/* === SWOT MODULE === *\/\nconst swotApp = (function() {\n    let items = [];\n\n    function toggleAuto(type, text, condition) {\n        const idx = items.findIndex(i => i.text === text && i.type === type && i.auto);\n        if (condition && idx === -1) {\n            items.push({ id: '_' + Math.random().toString(36).substr(2, 9), type, text, auto: true });\n            return true;\n        } else if (!condition && idx !== -1) {\n            items.splice(idx, 1);\n            return true;\n        }\n        return false;\n    }\n\n    function syncOptions() {\n        let ch = false;\n        Object.keys(OPTION_MAP).forEach(id => {\n            const m = OPTION_MAP[id];\n            if (toggleAuto(m.type, m.text, document.getElementById(id).checked)) ch = true;\n        });\n        if (ch) render();\n    }\n\n    function syncAttributes(d, factor) {\n        let ch = false;\n\n        if (toggleAuto('strengths', 'Exzellente Energieeffizienz (Klasse A\/B): Minimales regulatorisches Risiko, niedrige Nebenkosten', d.energy === 'A')) ch = true;\n        if (toggleAuto('weaknesses', 'Kritische Energiebilanz (Klasse G\/H): Hoher Sanierungsbedarf, GEG-Risiko, steigende NK', d.energy === 'G')) ch = true;\n        if (toggleAuto('weaknesses', 'Schwache Energiebilanz (Klasse E\/F): Mittelfristiger Sanierungsbedarf absehbar', d.energy === 'E')) ch = true;\n\n        if (toggleAuto('strengths', 'Neuwertiger Zustand (Kernsaniert): Geringe laufende Instandhaltungskosten', d.mod === 'kernsaniert')) ch = true;\n        if (toggleAuto('weaknesses', 'Sanierungsstau: Substanzieller Capex-Bedarf vor Wertsteigerung', d.mod === 'sanierungsbed\u00fcrftig')) ch = true;\n\n        if (toggleAuto('strengths', 'Attraktiver Einkaufsfaktor unter Marktniveau: Sicherheitsmarge beim Einstieg', factor > 0 && factor < 16)) ch = true;\n        if (toggleAuto('weaknesses', '\u00dcberh\u00f6hter Einkaufsfaktor (>26x): Minimale Fehlertoleranz bei der Bewirtschaftung', factor > 26)) ch = true;\n\n        const vac = parseFloat(document.getElementById('vacancy').value) || 0;\n        if (toggleAuto('weaknesses', 'Hoher Leerstand: Reduzierter Cashflow, m\u00f6glicherweise strukturelle Vermietungsprobleme', vac > 15)) ch = true;\n        if (toggleAuto('strengths', 'Vollvermietung: Stabiler, kalkulierbarer Cashflow', vac === 0 && app.hasData())) ch = true;\n\n        const rent_ist = parseFloat(document.getElementById('rent_ist').value) || 0;\n        const rent_soll = parseFloat(document.getElementById('rent_soll').value) || 0;\n        const upliftPct = rent_ist > 0 ? ((rent_soll \/ rent_ist - 1) * 100) : 0;\n        if (toggleAuto('strengths', 'Signifikante Mietreserve (>20%): Organisches Ertragssteigerungspotenzial', upliftPct > 20)) ch = true;\n\n        const age = new Date().getFullYear() - d.year;\n        if (toggleAuto('weaknesses', 'Geb\u00e4udealter >50 Jahre: Erh\u00f6htes Risiko f\u00fcr Instandhaltungsr\u00fcckstau', age > 50 && d.year > 0 && d.mod !== 'kernsaniert')) ch = true;\n\n        if (ch) render();\n    }\n\n    function addItem(type) {\n        const newItem = { id: '_' + Math.random().toString(36).substr(2, 9), type, text: '', auto: false };\n        items.push(newItem);\n        render(newItem.id);\n        setTimeout(() => {\n            const list = document.getElementById('list-' + type);\n            const lastTA = list.querySelectorAll('textarea');\n            if (lastTA.length) lastTA[lastTA.length - 1].focus();\n        }, 50);\n    }\n\n    function deleteItem(id) {\n        const itemEl = document.querySelector(`[data-item-id=\"${id}\"]`);\n        if (itemEl) {\n            itemEl.style.transition = 'opacity 0.2s ease, transform 0.2s ease';\n            itemEl.style.opacity = '0';\n            itemEl.style.transform = 'translateX(-10px)';\n            setTimeout(() => {\n                items = items.filter(i => i.id !== id);\n                render();\n            }, 200);\n        } else {\n            items = items.filter(i => i.id !== id);\n            render();\n        }\n    }\n\n    function updateItem(id, val) {\n        const item = items.find(i => i.id === id);\n        if (item) item.text = val;\n    }\n\n    function clearAll() {\n        items = [];\n        render();\n    }\n\n    function render(newItemId) {\n        ['strengths', 'weaknesses', 'opportunities', 'threats'].forEach(type => {\n            const el = document.getElementById('list-' + type);\n            el.innerHTML = '';\n            items.filter(i => i.type === type).forEach(item => {\n                const li = document.createElement('li');\n                li.className = 'swot-item' + (item.auto ? ' auto' : '');\n                if (item.id === newItemId) li.className += ' entering';\n                li.setAttribute('data-item-id', item.id);\n                const ro = item.auto ? 'readonly' : '';\n                const cls = item.auto ? 'swot-input-text auto-gen' : 'swot-input-text';\n                li.innerHTML = `\n                    <div class=\"swot-item-icon\">${type === 'strengths' ? '&#9650;' : type === 'weaknesses' ? '&#9660;' : type === 'opportunities' ? '&#9654;' : '&#9888;'}<\/div>\n                    <textarea class=\"${cls}\" ${ro} oninput=\"swotApp.updateItem('${item.id}', this.value); this.style.height='auto'; this.style.height=this.scrollHeight+'px'\">${item.text}<\/textarea>\n                    ${!item.auto ? `<button class=\"btn-del no-print\" onclick=\"swotApp.deleteItem('${item.id}')\">&times;<\/button>` : ''}\n                `;\n                el.appendChild(li);\n            });\n\n            el.querySelectorAll('textarea').forEach(ta => {\n                ta.style.height = 'auto';\n                ta.style.height = ta.scrollHeight + 'px';\n            });\n        });\n    }\n\n    return { syncOptions, syncAttributes, addItem, deleteItem, updateItem, clearAll, render };\n})();\n\nfunction resetAll() {\n    if (!confirm('Alle Eingaben zur\u00fccksetzen und neue Bewertung starten?')) return;\n\n    \/\/ Clear all text and number inputs\n    document.querySelectorAll('input[type=\"text\"], input[type=\"number\"]').forEach(el => el.value = '');\n\n    \/\/ Reset selects to first (placeholder) option\n    document.getElementById('mod').selectedIndex = 0;\n    document.getElementById('energy').selectedIndex = 0;\n    document.getElementById('strat-type').selectedIndex = 0;\n    document.getElementById('strat-focus').selectedIndex = 0;\n    document.getElementById('strat-horizon').selectedIndex = 1; \/\/ medium default\n\n    \/\/ Uncheck all checkboxes\n    document.querySelectorAll('input[type=\"checkbox\"]').forEach(el => el.checked = false);\n\n    \/\/ Clear SWOT items\n    swotApp.clearAll();\n\n    \/\/ Update everything\n    app.updateAll();\n}\n\n\/\/ Init - start empty\napp.updateAll();\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SWOT-Analyse Methodik Diese Analyse dient der strukturierten Bewertung des Immobilien-Investments. Sie trennt strikt zwischen objektbezogenen internen Faktoren (Zustand, Mietstruktur) und marktbedingten externen Einfl\u00fcssen (Lage, Zins, Gesetze). Ziel ist es, nicht nur Risiken zu erkennen, sondern eine klare Strategie (Kaufen, Entwickeln oder Absto\u00dfen) abzuleiten. Strengths (St\u00e4rken) Weaknesses (Schw\u00e4chen) Opportunities (Chancen) Threats (Risiken) Lima Invest | Professional&#8230;<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-21340","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SWOT-Analyse - Lima Invest Immobilien<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/limainvestimmobilien.de\/en\/swot-analyse-immobilien\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SWOT-Analyse - Lima Invest Immobilien\" \/>\n<meta property=\"og:description\" content=\"SWOT-Analyse Methodik Diese Analyse dient der strukturierten Bewertung des Immobilien-Investments. Sie trennt strikt zwischen objektbezogenen internen Faktoren (Zustand, Mietstruktur) und marktbedingten externen Einfl\u00fcssen (Lage, Zins, Gesetze). Ziel ist es, nicht nur Risiken zu erkennen, sondern eine klare Strategie (Kaufen, Entwickeln oder Absto\u00dfen) abzuleiten. Strengths (St\u00e4rken) Weaknesses (Schw\u00e4chen) Opportunities (Chancen) Threats (Risiken) Lima Invest | Professional...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/limainvestimmobilien.de\/en\/swot-analyse-immobilien\/\" \/>\n<meta property=\"og:site_name\" content=\"Lima Invest Immobilien\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-15T11:26:11+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/swot-analyse-immobilien\\\/\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/swot-analyse-immobilien\\\/\",\"name\":\"SWOT-Analyse - Lima Invest Immobilien\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#website\"},\"datePublished\":\"2025-12-27T07:29:55+00:00\",\"dateModified\":\"2026-04-15T11:26:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/swot-analyse-immobilien\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/limainvestimmobilien.de\\\/swot-analyse-immobilien\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/swot-analyse-immobilien\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SWOT-Analyse\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#website\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\",\"name\":\"Lima Invest Immobilien\",\"description\":\"Investmentimmobilien Deutschland | Lima Invest Immobilien\",\"publisher\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/limainvestimmobilien.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#organization\",\"name\":\"Lima Invest Immobilien\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png\",\"contentUrl\":\"https:\\\/\\\/limainvestimmobilien.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png\",\"width\":602,\"height\":476,\"caption\":\"Lima Invest Immobilien\"},\"image\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SWOT-Analyse - Lima Invest Immobilien","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/limainvestimmobilien.de\/en\/swot-analyse-immobilien\/","og_locale":"en_US","og_type":"article","og_title":"SWOT-Analyse - Lima Invest Immobilien","og_description":"SWOT-Analyse Methodik Diese Analyse dient der strukturierten Bewertung des Immobilien-Investments. Sie trennt strikt zwischen objektbezogenen internen Faktoren (Zustand, Mietstruktur) und marktbedingten externen Einfl\u00fcssen (Lage, Zins, Gesetze). Ziel ist es, nicht nur Risiken zu erkennen, sondern eine klare Strategie (Kaufen, Entwickeln oder Absto\u00dfen) abzuleiten. Strengths (St\u00e4rken) Weaknesses (Schw\u00e4chen) Opportunities (Chancen) Threats (Risiken) Lima Invest | Professional...","og_url":"https:\/\/limainvestimmobilien.de\/en\/swot-analyse-immobilien\/","og_site_name":"Lima Invest Immobilien","article_modified_time":"2026-04-15T11:26:11+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/limainvestimmobilien.de\/swot-analyse-immobilien\/","url":"https:\/\/limainvestimmobilien.de\/swot-analyse-immobilien\/","name":"SWOT-Analyse - Lima Invest Immobilien","isPartOf":{"@id":"https:\/\/limainvestimmobilien.de\/#website"},"datePublished":"2025-12-27T07:29:55+00:00","dateModified":"2026-04-15T11:26:11+00:00","breadcrumb":{"@id":"https:\/\/limainvestimmobilien.de\/swot-analyse-immobilien\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/limainvestimmobilien.de\/swot-analyse-immobilien\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/limainvestimmobilien.de\/swot-analyse-immobilien\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/limainvestimmobilien.de\/"},{"@type":"ListItem","position":2,"name":"SWOT-Analyse"}]},{"@type":"WebSite","@id":"https:\/\/limainvestimmobilien.de\/#website","url":"https:\/\/limainvestimmobilien.de\/","name":"Lima Invest Immobilien","description":"Investmentimmobilien Deutschland | Lima Invest Immobilien","publisher":{"@id":"https:\/\/limainvestimmobilien.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/limainvestimmobilien.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/limainvestimmobilien.de\/#organization","name":"Lima Invest Immobilien","url":"https:\/\/limainvestimmobilien.de\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/limainvestimmobilien.de\/#\/schema\/logo\/image\/","url":"https:\/\/limainvestimmobilien.de\/wp-content\/uploads\/2022\/07\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png","contentUrl":"https:\/\/limainvestimmobilien.de\/wp-content\/uploads\/2022\/07\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png","width":602,"height":476,"caption":"Lima Invest Immobilien"},"image":{"@id":"https:\/\/limainvestimmobilien.de\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/comments?post=21340"}],"version-history":[{"count":10,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21340\/revisions"}],"predecessor-version":[{"id":23011,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21340\/revisions\/23011"}],"wp:attachment":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/media?parent=21340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}