:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f9fafb;--bg-hover: #f0f4f8;--accent-primary: #00a67e;--accent-secondary: #008f6b;--accent-dim: rgba(0, 166, 126, .1);--accent-glow: rgba(0, 166, 126, .2);--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-tertiary: #718096;--text-muted: #a0aec0;--brand-purple: #2d1b4e;--border-primary: #e2e8f0;--border-subtle: #edf2f7;--danger: #e53e3e;--warning: #dd6b20;--success: #00a67e;--font-mono: "SF Mono", "Menlo", "Monaco", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 20px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--transition-fast: .15s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{max-width:900px;margin:0 auto;padding:24px 24px 48px}.app-header{text-align:center;margin-bottom:28px;animation:fadeInDown .5s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.app-header h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--brand-purple);margin:0 0 8px}.tagline{margin:0;color:var(--text-secondary);font-size:1rem}.disclaimer-inline,.disclaimer{font-size:.8rem;color:var(--text-tertiary);margin-top:8px}.stepper{display:flex;justify-content:center;gap:12px;margin-top:16px;font-size:.85rem;color:var(--text-muted)}.stepper span{padding:4px 12px;border-radius:var(--radius-pill);background:var(--bg-secondary);border:1px solid var(--border-primary)}.stepper .active{color:var(--accent-secondary);font-weight:700;background:var(--accent-dim);border-color:var(--accent-primary)}.layout-single{display:block;width:100%;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-sm);min-height:auto}.panel.wide{min-height:auto}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.panel-head h2{font-size:1.35rem;font-weight:700;color:var(--brand-purple);margin:0}.step-label{margin:0 0 4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:600}.lead{color:var(--text-secondary);margin:0 0 20px;line-height:1.5;font-size:.95rem}.field{margin-bottom:16px}.field label,.whatif label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:var(--text-tertiary)}.field input[type=search],.field input[type=number],.field input[type=date],.field select,.whatif input,.modal-filter{width:100%;padding:12px 14px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);font:inherit;color:var(--text-primary);outline:none;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.field input:focus,.field select:focus,.whatif input:focus,.modal-filter:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-md),0 0 0 3px var(--accent-dim)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.grid-2{grid-template-columns:1fr}.explain-summary{grid-template-columns:1fr!important}}.check{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;color:var(--text-primary)!important}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn.primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.ghost{background:transparent;color:var(--text-secondary)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.start-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle)}.hint,.muted,.small{color:var(--text-tertiary);font-size:.85rem}.small{font-size:.78rem}.selected-line{margin:8px 0 0;font-size:.9rem;color:var(--text-secondary)}.linkish{background:none;border:none;color:var(--accent-secondary);text-decoration:underline;cursor:pointer;font:inherit;padding:0 2px}.badge{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-pill);background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.badge.ok{background:var(--accent-dim);color:var(--accent-secondary);border-color:var(--accent-primary)}.badge.fail{background:#e53e3e14;color:var(--danger);border-color:var(--danger)}.code-picker{position:relative}.chips,.case-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.case-chips{margin:12px 0 20px;font-size:.85rem}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-dim);border:1px solid transparent;border-radius:var(--radius-pill);padding:4px 10px;font-size:.78rem;color:var(--accent-secondary);font-family:var(--font-mono);font-weight:600}.chip button{border:none;background:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--text-tertiary)}.suggest{position:absolute;z-index:20;left:0;right:0;margin:6px 0 0;padding:0;list-style:none;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);max-height:280px;overflow:auto;box-shadow:var(--shadow-md)}.suggest button{width:100%;text-align:left;border:none;background:none;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;cursor:pointer;font:inherit;border-bottom:1px solid var(--border-subtle)}.suggest button:hover{background:var(--bg-hover)}.suggest-code{font-family:var(--font-mono);font-weight:700;color:var(--brand-purple)}.suggest-name{color:var(--text-secondary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-kind{font-size:.7rem;text-transform:uppercase;color:var(--accent-secondary);font-weight:600}.case-summary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:16px;font-size:.85rem;color:var(--text-secondary)}.case-summary-main{display:flex;flex-direction:column;gap:4px}.breadcrumb{list-style:none;margin:0 0 16px;padding:8px 0;font-size:.8rem}.breadcrumb li{padding:0;border-bottom:1px dashed var(--border-subtle)}.breadcrumb li:last-child{border-bottom:none}.breadcrumb-jump{display:flex;gap:10px;width:100%;align-items:baseline;text-align:left;border:none;background:transparent;padding:8px 4px;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-xs)}.breadcrumb-jump:hover{background:var(--bg-hover)}.breadcrumb-jump:hover .bc-q{color:var(--text-secondary);text-decoration:underline}.bc-q{color:var(--text-tertiary);flex:1}.bc-a{font-weight:700;color:var(--accent-secondary);flex-shrink:0}.mdc-hd-hint{margin:12px 0 16px;padding:12px 14px;background:var(--accent-dim);border:1px solid rgba(0,166,126,.25);border-radius:var(--radius-md)}.mdc-hd-hint .mdc-title{margin:0 0 4px;color:var(--text-primary)}.mdc-hd-hint .muted{margin:0 0 10px}.mdc-hd-hint .btn{margin:0}.decision-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:20px;background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.decision-card.hybrid-gate{border-color:var(--brand-purple);background:#2d1b4e08}.decision-card.terminal{border-color:var(--accent-primary);background:var(--accent-dim)}.decision-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.decision-card h3{font-size:1.15rem;font-weight:600;margin:8px 0 12px;color:var(--text-primary);line-height:1.4}.answer-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.answer-row .btn{flex:1;min-width:120px;padding:16px 20px;font-size:1.1rem;border-width:2px}.answer-row .btn.primary,.answer-row .btn.yes{background:var(--accent-dim);border-color:var(--accent-primary);color:var(--accent-secondary)}.answer-row .btn.primary:hover,.answer-row .btn.yes:hover{background:var(--accent-primary);color:#fff}.answer-row .btn.no{background:#e53e3e14;border-color:var(--danger);color:var(--danger)}.answer-row .btn.no:hover{background:var(--danger);color:#fff}.banner{padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:.9rem}.banner.warn{background:#dd6b201a;border:1px solid rgba(221,107,32,.35);color:var(--warning)}.banner.fail{background:#e53e3e14;border:1px solid rgba(229,62,62,.3);color:var(--danger)}.ok{color:var(--success)}.fail{color:var(--danger)}.explain-summary,.family-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}.explain-summary .summary-card,.family-candidates .summary-card{padding:14px;border-radius:var(--radius-md);border:2px solid transparent;background:var(--bg-tertiary)}.explain-summary .summary-card.hybrid.active,.family-candidates .summary-card.hybrid.active{border-color:var(--danger);background:#e53e3e14}.explain-summary .summary-card.standard.active,.family-candidates .summary-card.standard.active{border-color:var(--accent-primary);background:var(--accent-dim)}.explain-summary .label,.family-candidates .label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.explain-summary .value,.family-candidates .value{font-family:var(--font-mono);font-size:1.35rem;font-weight:700;color:var(--accent-secondary)}.explain-summary .value.hybrid-drg-code,.family-candidates .value.hybrid-drg-code{color:var(--danger)}.family-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.family-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);font:inherit;font-weight:600;font-family:var(--font-mono);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.family-tab:hover{border-color:var(--text-muted)}.family-tab.active{border-color:var(--danger);background:#e53e3e14;color:var(--danger)}.family-tab .tab-dot{font-size:.65rem}.family-tab.eligible .tab-dot{color:var(--danger)}.family-tab:not(.eligible) .tab-dot{color:var(--success)}.check-list{list-style:none;margin:0 0 18px;padding:0}.check-list li{display:grid;grid-template-columns:1.4rem 1fr 1.2rem;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-subtle);align-items:start}.check-fulfilled{width:1.05rem;height:1.05rem;margin-top:4px;accent-color:var(--text-secondary);pointer-events:none;cursor:default;flex-shrink:0}.ampel{justify-self:end;margin-top:2px;font-size:1rem;line-height:1.2}.check-list li.pass .ampel,.ampel.pass{color:var(--danger)}.check-list li.fail .ampel,.ampel.fail{color:var(--success)}.check-list.no-ampel li{grid-template-columns:1.4rem 1fr}.check-label{font-size:.85rem;font-weight:600;white-space:pre-wrap;color:var(--text-primary)}.check-detail{font-size:.8rem;color:var(--text-tertiary);margin-top:4px}.raw-toggle{margin:4px 0 8px;font-size:.8rem}.raw-text{margin:6px 0 0;padding:8px 10px;border-left:3px solid var(--border, #d4d4d8);color:var(--text-tertiary);font-size:.8rem;white-space:pre-wrap}abbr[title]{text-decoration:underline dotted;cursor:help}.check-tables{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}.check-tables .linkish{text-align:left;white-space:normal}.check-edit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}.inline-edit{display:flex;flex-direction:column;gap:4px;margin-top:6px;font-size:.8rem;color:var(--text-secondary)}.inline-edit input{max-width:200px;padding:8px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);font:inherit}.inline-edit-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.linkish:disabled{color:var(--text-muted);text-decoration:none;cursor:not-allowed}.whatif{display:grid;gap:10px;margin-bottom:14px;padding:14px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.tips{margin:0 0 12px;padding-left:1.2rem;font-size:.85rem;color:var(--text-tertiary)}.result-verdict{padding:16px 18px;border-radius:var(--radius-md);margin-bottom:14px;border:1px solid var(--border-primary);text-align:center}.result-verdict.hybrid{background:#e53e3e14;border-color:var(--danger)}.result-verdict.standard{background:var(--accent-dim);border-color:var(--accent-primary)}.verdict-kicker{margin:0 0 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-tertiary)}.result-verdict.hybrid .verdict-kicker{color:var(--danger)}.result-verdict.standard .verdict-kicker{color:var(--accent-secondary)}.verdict-text{margin:0;font-size:1.15rem;font-weight:600;line-height:1.35;color:var(--text-primary)}.result-box{margin:0 0 18px;padding:18px;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:.9rem;border:1px solid var(--border-primary);text-align:center}.result-box.is-hybrid{border-color:var(--danger);background:#e53e3e14}.result-box.is-standard{border-color:var(--accent-primary);background:var(--accent-dim)}.result-kind{margin:0 0 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-weight:600}.result-drg{font-family:var(--font-mono);font-size:2rem;font-weight:700;margin:0;color:var(--accent-secondary)}.result-box.is-hybrid .result-drg,.hybrid-drg-code{color:var(--danger)}.result-box.is-standard .result-drg{color:var(--accent-secondary)}.result-alt{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--border-primary);font-size:.9rem;text-align:left}.result-alt .block{display:block;margin-top:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e73;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--bg-secondary);border-radius:var(--radius-md);width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column;padding:20px;gap:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary)}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.modal-header h2{font-size:1.15rem;font-weight:700;color:var(--brand-purple);margin:0}.virtual-list{overflow:auto;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-tertiary)}.virtual-row{display:grid;grid-template-columns:7.5rem 1fr auto;gap:12px;align-items:center;padding:0 12px;font-size:.82rem;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.virtual-row.clickable{cursor:pointer;border-left:none;border-right:none;border-top:none;background:transparent;font:inherit;width:100%;text-align:left}.virtual-row.clickable:hover{background:var(--bg-hover)}.virtual-row.hit{background:var(--accent-dim)}.virtual-row code{font-family:var(--font-mono);font-weight:700;color:var(--brand-purple)}.virtual-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row-action{font-size:.75rem;color:var(--accent-secondary);font-weight:600;justify-self:end}h3{font-size:1rem;font-weight:700;color:var(--brand-purple);margin:8px 0}.goal-lead{margin:0 0 12px}.goal-lead strong{color:var(--text-primary);font-weight:700}.path-semantics{margin:-6px 0 16px}.path-section{margin:0 0 20px}.path-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 6px}.path-section-title.with-ampel{display:flex;align-items:center;justify-content:space-between;gap:10px}.path-section-title .ampel{margin:0;flex-shrink:0}.path-section .muted.small{margin:0 0 8px}.path-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0 0 10px}.path-card{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-tertiary);min-width:0}.path-card.eligible{border-color:#e53e3e73;background:#e53e3e0d}.path-card.winner{border-color:var(--danger);border-width:2px;background:#e53e3e14}.path-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.path-card-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--text-primary)}.oder-badge{display:inline-block;padding:2px 7px;border-radius:var(--radius-pill);background:var(--bg-secondary);border:1px solid var(--border-primary);font-size:.65rem;font-weight:700;letter-spacing:.06em;color:var(--text-tertiary)}.path-status{font-size:.75rem;font-weight:700;white-space:nowrap}.path-status.is-met{color:var(--danger)}.path-status.is-open{color:var(--success)}.path-status.is-partial{color:var(--text-tertiary)}.path-card .check-list,.check-list.compact{margin-bottom:0}.path-card .check-list li,.check-list.compact li{padding:8px 0}.path-card .check-list li:last-child,.check-list.compact li:last-child{border-bottom:none}.leaves-group{margin-top:10px;padding:10px 12px;border:1px dashed var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary)}.leaves-heading{margin:0 0 4px;font-size:.75rem;font-weight:700;color:var(--text-secondary)}.leaves-section .check-list{padding:4px 12px;border:1px dashed var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-tertiary)}.path-expander{margin:4px 0 0;font-weight:600}@media (max-width: 560px){.path-cards{grid-template-columns:1fr}}.path-view-switch{display:inline-flex;gap:0;margin:0 0 12px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.path-view-switch button{padding:6px 14px;border:0;background:transparent;font:inherit;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.path-view-switch button+button{border-left:1px solid var(--border-primary)}.path-view-switch button:hover{background:var(--bg-hover)}.path-view-switch button.active{background:var(--accent-dim);color:var(--accent-secondary)}.path-wizard{margin-top:4px}.path-wizard-progress{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.path-wizard-chips{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}.path-chip{min-width:1.7rem;padding:2px 5px;text-align:center;font-size:.7rem;font-weight:700;font-family:var(--font-mono);border-radius:var(--radius-xs);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary)}.path-chip.eliminated{color:var(--text-muted);background:var(--bg-tertiary);text-decoration:line-through;border-color:var(--border-subtle)}.path-chip.confirmed{color:var(--danger);border-color:var(--danger);background:#e53e3e14;text-decoration:none}.path-wizard-feedback{margin:0 0 10px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.path-question-card{padding:16px 18px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-tertiary);margin-bottom:14px}.path-question-kicker{margin:0 0 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.path-question-text{margin:0 0 10px;font-size:1.05rem;font-weight:700;color:var(--text-primary);text-transform:none;letter-spacing:0}.path-question-hint{margin:0 0 10px}.path-question-card .check-tables,.path-question-card .check-edit{margin-top:0;margin-bottom:8px}.path-wizard-continue{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.path-wizard-continue .btn.primary{margin-left:auto}.path-wizard-history{margin:0 0 12px;padding-left:1.2rem;font-size:.82rem;color:var(--text-secondary)}.path-wizard-history li{margin:4px 0}.path-wizard-actions{display:flex;gap:8px;flex-wrap:wrap}.path-wizard-end{margin:0 0 14px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-tertiary)}.path-wizard-end.is-confirmed{border-color:var(--danger);background:#e53e3e0f}.path-wizard-end.is-none{border-color:var(--accent-primary);background:var(--accent-dim)}.path-wizard-kicker{margin:0 0 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.path-wizard-end.is-confirmed .path-wizard-kicker{color:var(--danger)}.path-wizard-end.is-none .path-wizard-kicker{color:var(--accent-secondary)}.path-wizard-end .path-cards{margin-top:10px;margin-bottom:0}
