:root{--bg:#0b0e14;--panel:#121826;--panel2:#0f1420;--text:#e8eefc;--muted:#a7b3d6;--border:rgba(255,255,255,.10);--accent:#6ea8fe;--danger:#ff6b6b;}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);position:sticky;top:0;z-index:10}
.brand{display:flex;gap:10px;align-items:center}.logo{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-weight:700}
.title{font-weight:650;letter-spacing:.2px}.version{color:var(--muted);font-size:12px;margin-top:2px}
.controls{display:flex;gap:8px}select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.layout{display:grid;grid-template-columns:1fr 360px;gap:14px;padding:14px}@media (max-width:980px){.layout{grid-template-columns:1fr}}
.chat{border:1px solid var(--border);border-radius:16px;background:var(--panel2);overflow:hidden;display:flex;flex-direction:column;min-height:70vh}
.messages{padding:14px;display:flex;flex-direction:column;gap:10px;overflow:auto;flex:1}
.msg{max-width:92%;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.03)}
.msg.user{align-self:flex-end;background:rgba(110,168,254,.08)}.msg.assistant{align-self:flex-start}
.msg .meta{display:flex;gap:10px;color:var(--muted);font-size:12px;margin-bottom:6px}.msg .meta .tag{padding:2px 8px;border:1px solid var(--border);border-radius:999px}
.composer{display:flex;gap:10px;padding:12px;border-top:1px solid var(--border);background:var(--panel)}
.composer input{flex:1;padding:10px 12px;background:rgba(255,255,255,.03);color:var(--text);border:1px solid var(--border);border-radius:12px;outline:none}
.composer button{padding:10px 14px;background:rgba(110,168,254,.18);color:var(--text);border:1px solid var(--border);border-radius:12px;cursor:pointer}
.hint{padding:10px 12px;border-top:1px dashed var(--border);color:var(--muted);font-size:12px;background:rgba(255,255,255,.02)}
.side .card{border:1px solid var(--border);border-radius:16px;background:var(--panel2);padding:12px 12px;margin-bottom:14px}
.cardTitle{font-weight:650;margin-bottom:6px}.cardBody{color:var(--muted);line-height:1.35;font-size:14px}
code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:8px;border:1px solid var(--border)}

.userbar{display:flex;gap:8px;align-items:center}
.pill{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--muted);font-size:12px}
.btn{padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;font-size:13px}
.btn.primary{background:rgba(110,168,254,.18)}
.pendingList{display:flex;flex-direction:column;gap:8px}
.pendingItem{border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.pendingItem .who{font-size:13px;color:var(--text)}
.pendingItem .meta2{font-size:12px;color:var(--muted)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;place-items:center;padding:14px;z-index:1000}
.modal.show{display:grid}
.modalInner{width:min(520px,100%);border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:14px}
.modalTitle{font-weight:650;margin-bottom:10px}
.form{display:flex;flex-direction:column;gap:8px}
.form input{padding:10px 12px;background:rgba(255,255,255,.03);color:var(--text);border:1px solid var(--border);border-radius:12px;outline:none}
.row{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.tabs{display:flex;gap:8px;margin-bottom:10px}
.tabBtn{padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;font-size:13px}
.tabActive{background:rgba(110,168,254,.18)}
.small{font-size:12px;color:var(--muted);margin-bottom:8px}
