@import url('../../sach/assets/css/app.css');
.liability-layout { display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:24px; max-width:1180px; margin:24px auto; padding:0 16px; }
.liability-layout .form-card { min-width:0; }
.choice-checks,.inline-radios { display:flex; flex-wrap:wrap; gap:12px 20px; padding:12px; border:1px solid var(--border); border-radius:var(--radius-sm); }
.choice-checks label,.inline-radios label { display:flex; align-items:center; gap:8px; }
.conditional-section { border:1px solid var(--border-light); border-radius:var(--radius-sm); padding:16px; margin:0 0 18px; }
.conditional-section h2 { color:var(--primary); font-size:17px; margin:0 0 10px; }
.conditional-section p { color:var(--text-muted); font-size:13px; margin-bottom:14px; }
.notice-box { padding:16px 18px; border:1.5px solid #d99b20; border-left:5px solid #d17b00; border-radius:var(--radius-sm); background:#fff8e6; color:#573b00; line-height:1.55; }
.notice-box.subtle { margin-top:16px; border-color:var(--border); border-left-color:var(--primary); background:#f5f7ff; color:var(--text); }
.victim-card { border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px; margin-bottom:16px; }
.victim-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; color:var(--primary); font-weight:700; }
.victim-remove { border:0; background:none; color:#a52828; cursor:pointer; font:inherit; }
.acknowledgement { display:flex; gap:10px; align-items:flex-start; margin-top:16px; padding:14px; border:1px solid #d99b20; background:#fff8e6; border-radius:var(--radius-sm); }
.acknowledgement input { margin-top:4px; }
#upload-input { display:none; }
.upload-area { border:2px dashed var(--border); padding:28px 16px; text-align:center; border-radius:var(--radius-sm); cursor:pointer; margin-top:16px; }
.upload-title { font-weight:700; margin:6px 0; }
.upload-sub { color:var(--text-muted); font-size:13px; }
.upload-btn,.btn-secondary { border:1px solid var(--primary); color:var(--primary); background:#f0f1ff; border-radius:8px; padding:9px 14px; font-weight:600; cursor:pointer; }
.image-previews { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:12px; margin-top:14px; }
.image-preview { border:1px solid var(--border-light); border-radius:8px; padding:6px; font-size:12px; overflow-wrap:anywhere; }
.liability-layout [hidden] { display:none !important; }
.liability-layout .datenschutz-box input[type=checkbox] { display:block !important; width:20px; height:20px; margin:2px 0 0; flex:0 0 20px; opacity:1; position:static; pointer-events:auto; accent-color:var(--primary); }
.field-label { display:block; font-weight:600; color:var(--text); }
.image-preview img { background:#fff; }
.image-preview button:disabled { opacity:.55; cursor:wait; }
.image-preview-name { margin:5px 0; }
.image-preview img { width:100%; height:90px; object-fit:cover; border-radius:5px; background:#fff; }
.ai-form-result { margin-top:16px; padding:16px; border-radius:var(--radius-sm); background:#fff8e6; border:1px solid #e7bd63; color:#644900; }
.ai-form-result.complete { background:#effaf2; border-color:#7acb8f; color:#135b27; }
.ai-form-result ul { padding-left:20px; margin:8px 0 0; }
.summary-section { margin:16px 0; }
.summary-section h2 { font-size:17px; color:var(--primary); margin-bottom:8px; }
.summary-line { display:grid; grid-template-columns:minmax(140px, 34%) 1fr; gap:12px; padding:8px; border-bottom:1px solid var(--border-light); overflow-wrap:anywhere; }
.summary-line strong { color:var(--text-muted); }
#ai-spinner.ai-analyzing.visible { display:flex; }
.ai-spinner-icon { width:22px; height:22px; flex:0 0 22px; border:3px solid #bdd7ff; border-top-color:var(--primary); border-radius:50%; animation:liability-spin .75s linear infinite; }
.ai-progress-content { display:grid; gap:5px; flex:1; min-width:0; }
.ai-progress-content strong { color:var(--primary); }
.ai-progress-content > span { color:var(--text-muted); }
.ai-progress-track { height:6px; overflow:hidden; background:#dce6ff; border-radius:999px; }
.ai-progress-track span { display:block; width:40%; height:100%; border-radius:inherit; background:var(--primary); animation:liability-progress 1.25s ease-in-out infinite; }
@keyframes liability-spin { to { transform:rotate(360deg); } }
@keyframes liability-progress { 0% { transform:translateX(-110%); } 100% { transform:translateX(280%); } }
@media (max-width:900px) { .liability-layout { display:block; } .assistant-col { position:static; max-width:420px; margin:24px auto 0; } }
@media (max-width:640px) {
  .assistant-col { display:none; }
  #franzi-fab { display:flex; align-items:center; justify-content:center; position:fixed; bottom:22px; right:18px; width:58px; height:58px; border-radius:50%; background:var(--primary); border:2.5px solid var(--accent); box-shadow:0 4px 22px rgba(0,0,143,.38); cursor:pointer; z-index:9000; transition:transform .15s ease,box-shadow .15s ease; user-select:none; }
  #franzi-fab:active { transform:scale(.91); }
  #franzi-fab:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
  #franzi-fab svg { width:36px; height:36px; }
  #franzi-fab-badge { position:absolute; top:3px; right:3px; width:14px; height:14px; border-radius:50%; background:#e53535; border:2px solid #fff; }
  #franzi-popup { display:block; position:fixed; bottom:92px; right:14px; width:calc(100vw - 28px); max-width:330px; background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow-lg); border:1.5px solid var(--border); z-index:8999; overflow:hidden; opacity:0; pointer-events:none; transform:translateY(10px) scale(.97); transition:opacity .2s ease,transform .2s ease; }
  #franzi-popup.is-open { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); animation:fabPopIn .2s ease forwards; }
  #franzi-popup-header { background:var(--primary); color:#fff; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; font-size:14px; font-weight:700; letter-spacing:.3px; }
  #franzi-popup-close { background:none; border:none; color:rgba(255,255,255,.85); font-size:22px; line-height:1; cursor:pointer; padding:0 4px; }
  #franzi-popup-body { padding:14px 16px; font-size:14px; color:var(--text); line-height:1.55; min-height:52px; }
}
@media (max-width:620px) { .summary-line { grid-template-columns:1fr; gap:3px; } }
