.rules-lab .rules-workspace { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:1.25rem; align-items:start; }
.rules-lab .rule-query { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.7rem; align-items:end; padding:1rem; border:1px solid var(--lab-line); border-radius:12px; background:#fff; }
.rules-lab .rule-query label { grid-column:1/-1; margin:0; font-size:.9rem; font-weight:700; }
.rules-lab .rules-help { padding:1.05rem; border:1px solid var(--lab-line); border-radius:12px; background:#fff; }
.rules-lab .rules-help h3 { margin-top:0; }
.rules-lab .rules-help ol { margin-bottom:0; padding-left:1.2rem; }
.rules-lab .rule-answer { margin-top:1rem; padding:1.2rem; border:1px solid var(--lab-line); border-radius:12px; background:#fff; }
.rules-lab .rule-answer-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.rules-lab .rule-answer-head h3 { margin:.1rem 0 .55rem; }
.rules-lab .rule-status { flex:none; padding:.28rem .55rem; border-radius:999px; background:#e7f1eb; color:#28543b; font-size:.76rem; font-weight:800; }
.rules-lab .rule-status[data-state="incomplete"] { color:#75450d; background:#f5ead8; }
.rules-lab .rule-status[data-state="conflict"] { color:#7b3030; background:#f8e6e6; }
.rules-lab .rule-status[data-state="missing"] { color:#514c86; background:#eeeefa; }
.rules-lab .rule-warning { margin:.8rem 0; padding:.8rem; border-left:4px solid #a76f22; background:#faf2e5; }
.rules-lab .rule-claims { display:grid; gap:.7rem; margin-top:1rem; }
.rules-lab .rule-claim { padding:.9rem; border:1px solid var(--lab-line); border-radius:9px; background:var(--lab-soft); }
.rules-lab .rule-claim strong { display:block; margin-bottom:.35rem; }
.rules-lab .rule-citation { display:inline-block; margin-top:.45rem; color:var(--navy); font-size:.82rem; font-weight:700; }
.rules-lab .rule-searched { display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--lab-line); color:var(--lab-muted); font-size:.82rem; }
.rules-lab .source-list-head { display:flex; justify-content:space-between; gap:1rem; align-items:end; margin:2rem 0 .8rem; }
.rules-lab .source-list-head h3 { margin:.15rem 0 0; }
.rules-lab .source-list-head p { margin:0; color:var(--lab-muted); }
.rules-lab .source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.rules-lab .source-card { position:relative; padding:1rem; border:1px solid var(--lab-line); border-radius:12px; background:#fff; }
.rules-lab .source-card[data-status="vervallen"] { background:#f7f5f2; }
.rules-lab .source-card-head { display:flex; justify-content:space-between; gap:.7rem; align-items:start; }
.rules-lab .source-card h4 { margin:.25rem 0 .45rem; font-family:var(--serif); font-size:1.08rem; }
.rules-lab .source-card p { margin:.25rem 0; color:var(--lab-muted); font-size:.86rem; }
.rules-lab .source-toggle { display:flex; gap:.45rem; align-items:center; color:var(--lab-ink); font-size:.8rem; font-weight:700; }
.rules-lab .source-toggle input { width:auto; }
.rules-lab .source-status { display:inline-block; margin-top:.65rem; padding:.2rem .45rem; border-radius:999px; color:#28543b; background:#e7f1eb; font-size:.72rem; font-weight:800; }
.rules-lab .source-status[data-status="vervallen"] { color:#75450d; background:#f5ead8; }
.rules-lab .source-passages { margin-top:.7rem; padding-top:.7rem; border-top:1px solid var(--lab-line); }
.rules-lab .source-passages details + details { margin-top:.45rem; }
.rules-lab .source-passages summary { cursor:pointer; color:var(--navy); font-size:.82rem; font-weight:700; }
.rules-lab .source-passages blockquote { margin:.45rem 0 0; padding:.6rem .7rem; border-left:3px solid var(--lab-accent); background:var(--lab-soft); font-size:.82rem; }
.rules-lab .rules-hierarchy { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.rules-lab .rules-hierarchy div { position:relative; padding:1rem; border:1px solid var(--lab-line); border-radius:10px; background:#fff; }
.rules-lab .rules-hierarchy div:not(:last-child)::after { content:"→"; position:absolute; right:-.7rem; top:50%; z-index:2; color:var(--lab-accent); font-weight:800; }
.rules-lab .rules-hierarchy span,.rules-lab .rules-hierarchy small { display:block; color:var(--lab-muted); }
.rules-lab .rules-hierarchy span { margin-bottom:.35rem; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.rules-lab .rules-hierarchy small { margin-top:.35rem; line-height:1.4; }
.rules-lab .design-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.rules-lab .feature-fieldset { grid-column:1/-1; }
.rules-lab .design-output { margin-top:1.5rem; padding:1.2rem; border:1px solid var(--lab-line); border-radius:12px; background:#fff; }
.rules-lab .brief-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:1rem 0 1.3rem; }
.rules-lab .brief-card { padding:.85rem; border:1px solid var(--lab-line); border-radius:8px; background:var(--lab-soft); }
.rules-lab .brief-card strong { display:block; margin-bottom:.3rem; }
.rules-lab .build-prompt { white-space:pre-wrap; overflow-wrap:anywhere; max-height:520px; overflow:auto; }
@media (max-width:980px) { .rules-lab .source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rules-lab .rules-hierarchy { grid-template-columns:repeat(2,minmax(0,1fr)); } .rules-lab .rules-hierarchy div::after { display:none; } }
@media (max-width:760px) { .rules-lab .rules-workspace,.rules-lab .design-grid,.rules-lab .brief-grid,.rules-lab .source-grid,.rules-lab .rules-hierarchy { grid-template-columns:1fr; } .rules-lab .rule-query { grid-template-columns:1fr; } .rules-lab .rule-query label { grid-column:auto; } .rules-lab .source-list-head { align-items:start; flex-direction:column; } }
