.lr-layout { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 860px) { .lr-layout { grid-template-columns: 1fr; } }
.lr-new, .lr-detail, .lr-thread { display: grid; gap: 14px; padding: 20px; }
.lr-new h2, .lr-thread h2 { margin: 0; font-size: 18px; }
.lr-new label, .lr-thread label, .lr-status-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.lr-new textarea, .lr-thread textarea { resize: vertical; }
.lr-kinds { display: flex; gap: 8px; }
.lr-kinds label { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 999px; cursor: pointer; font-weight: 600; }
.lr-kinds label:has(input:checked) { border-color: var(--accent); }
.lr-list { display: grid; gap: 10px; }
.lr-filter { display: flex; gap: 8px; }
.lr-filter .selected { border-color: var(--accent); }
.lr-item { display: grid; gap: 6px; padding: 16px 18px; color: inherit; text-decoration: none; }
.lr-item:hover { border-color: var(--accent); }
.lr-item p, .lr-next { margin: 0; }
.lr-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lr-line b, .lr-line h1 { flex: 1; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.lr-line h1 { font-size: clamp(22px, 2.4vw, 28px); letter-spacing: -.02em; }
.lr-kind { font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 6px; background: var(--border); }
.lr-status { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border); white-space: nowrap; }
.lr-in-progress { border-color: #5865f2; color: #8b95ff; }
.lr-needs-info { border-color: #fee75c; color: #fee75c; }
.lr-done { border-color: #57f287; color: #57f287; }
.lr-body { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lr-status-form { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.lr-msg { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--border); }
.lr-msg.staff { border-color: var(--accent); }
.lr-msg p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lr-empty { padding: 20px; }
