.rag-page,.rag-dialog,.rag-generator { --blue:var(--accent); --bg-card:var(--bg-elev-1); --bg-hover:var(--bg-elev-2); }
.rag-page { max-width: 1440px; margin: 0 auto; letter-spacing: 0; }
.rag-page h2,.rag-dialog h2 { margin: 0; font-size: 20px; line-height: 1.4; }
.rag-page h3,.rag-generator h3 { margin: 0; font-size: 15px; line-height: 1.5; }
.rag-head,.rag-row,.rag-actions,.rag-toolbar,.rag-pagination { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.rag-head { justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--border); }
.rag-muted,.rag-meta,.rag-pagination,.rag-evidence-head>span { color:var(--text-dim); font-size:12px; }
.rag-message { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.rag-message:not(:empty) { padding:12px 0; }
.rag-error { color:var(--danger,#e46d79); }
.rag-warning { color:var(--warning,#be9435); font-size:12px; }
.rag-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; }
.rag-libraries { padding:20px 16px 20px 0; border-right:1px solid var(--border); }
.rag-library { display:flex; width:100%; align-items:flex-start; gap:10px; margin-bottom:6px; padding:12px; background:transparent; border:0; border-radius:6px; text-align:left; color:var(--text-dim); }
.rag-library b { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.rag-library small,.rag-library-checks small { display:block; font-size:11px; margin-top:4px; color:var(--text-dim); }
.rag-library.selected { background:var(--bg-hover,rgba(100,130,180,.12)); color:var(--blue); }
.rag-library:hover { background:var(--bg-hover,rgba(100,130,180,.1)); }
.rag-library svg { width:17px; height:17px; flex-shrink:0; }
.rag-main { min-width:0; }
.rag-tabs { display:flex; gap:24px; border-bottom:1px solid var(--border); margin-bottom:18px; }
.rag-tabs button { border:0; border-bottom:2px solid transparent; border-radius:0; padding:18px 0 12px; background:transparent; color:var(--text-dim); }
.rag-tabs button.active { color:var(--blue); border-bottom-color:var(--blue); }
.rag-search-field { display:flex; align-items:center; gap:8px; flex:1; min-width:160px; }
.rag-search-field input { width:100%; }
.rag-page select,.rag-generator select,.rag-dialog select { padding-right:44px; min-height:38px; background-position:right 14px center; }
.rag-toolbar { margin-bottom:16px; }
.rag-toolbar select { width:140px; }
.rag-document-list { display:grid; gap:12px; }
.rag-document { border:1px solid var(--border); border-radius:8px; padding:16px; min-width:0; background:var(--bg-card,var(--bg-secondary)); }
.rag-document h3 { flex:1; min-width:0; }
.rag-title { text-align:left; background:transparent; border:0; padding:0; color:var(--text); font-size:15px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.rag-document p { font-size:13px; color:var(--text-dim); line-height:1.75; margin:12px 0; overflow-wrap:anywhere; }
.rag-meta { display:flex; flex-wrap:wrap; gap:6px 16px; margin:10px 0; overflow-wrap:anywhere; }
.rag-status { display:inline-flex; padding:3px 8px; border-radius:4px; font-size:11px; color:var(--text-dim); background:var(--bg-hover,rgba(128,128,128,.1)); white-space:nowrap; }
.rag-status.validated { color:var(--success,#52af75); }
.rag-status.candidate { color:var(--warning,#be9435); }
.rag-status.deprecated { color:var(--text-faint); }
.rag-tags { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; color:var(--text-dim); font-size:11px; }
.rag-tags span { border-bottom:1px solid var(--border); }
.rag-icon { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0; flex-shrink:0; }
.rag-actions svg,.rag-row svg,.rag-query button svg,.rag-form button svg { width:15px; height:15px; vertical-align:middle; }
.rag-spacer { flex:1; }
.rag-actions a { font-size:12px; }
.rag-empty { padding:50px 16px; text-align:center; color:var(--text-dim); font-size:14px; }
.rag-pagination { justify-content:flex-end; padding-top:20px; }
.rag-pagination button { width:34px; height:34px; padding:8px; }
.rag-form,.rag-query { display:grid; gap:16px; }
.rag-form label,.rag-query label,.rag-generator label:not(.rag-check) { display:grid; gap:6px; color:var(--text-dim); font-size:12px; }
.rag-form input,.rag-form textarea,.rag-form select,.rag-query input,.rag-query textarea,.rag-query select,.rag-generator input:not([type=checkbox]) { width:100%; min-width:0; box-sizing:border-box; }
.rag-form textarea,.rag-query textarea { resize:vertical; line-height:1.8; }
.rag-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rag-query { max-width:850px; padding-bottom:24px; }
.rag-query>button,.rag-form>button { justify-self:start; }
.rag-check { display:flex!important; align-items:center; gap:8px; font-size:12px; margin:0; }
.rag-check input { width:16px; height:16px; flex:0 0 16px; margin:0; accent-color:var(--blue); }
.rag-dialog { width:min(850px,calc(100vw - 32px)); max-height:90dvh; margin:auto; padding:0; background:var(--bg-card,#1c232c); border:1px solid var(--border); border-radius:8px; color:var(--text); box-sizing:border-box; }
.rag-dialog::backdrop { background:rgba(0,0,0,.5); }
.rag-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--bg-card,#1c232c); z-index:1; }
.rag-dialog h2 { font-size:17px; overflow-wrap:anywhere; }
.rag-dialog-body { padding:22px; }
.rag-file { display:inline-flex!important; align-items:center; gap:8px; cursor:pointer; }
.rag-file input { max-width:210px; font-size:12px; }
.rag-fulltext { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:14px; line-height:1.9; max-height:48dvh; overflow:auto; padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.rag-evidence-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 12px; font-size:13px; flex-wrap:wrap; }
.rag-evidence { border-bottom:1px solid var(--border); padding:12px 0; font-size:12px; }
.rag-evidence summary { cursor:pointer; overflow-wrap:anywhere; }
.rag-evidence summary span { display:block; padding-top:6px; color:var(--text-dim); }
.rag-evidence p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; }
.rag-member-list .rag-row { justify-content:space-between; border-bottom:1px solid var(--border); padding:8px 0; }
.rag-generator { padding:20px 0; margin:20px 0; border-block:1px solid var(--border); }
.rag-generator>.rag-form-grid { margin:18px 0; }
.rag-generator details { margin:12px 0; }
.rag-generator summary { font-size:12px; color:var(--text-dim); cursor:pointer; }
.rag-library-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px 0; }
.rag-generator a { font-size:12px; }
.rag-page button:focus-visible,.rag-dialog button:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
@media(max-width:800px) { .rag-layout { grid-template-columns:minmax(0,1fr); gap:8px; } .rag-libraries { display:flex; overflow:auto; border-right:0; border-bottom:1px solid var(--border); padding:12px 0; } .rag-library { width:180px; flex-shrink:0; } .rag-form-grid,.rag-library-checks { grid-template-columns:minmax(0,1fr); } .rag-dialog-body { padding:16px; } .rag-head { gap:16px; } .rag-tabs { gap:20px; } }
