/* Right-hand bar panels (static/js/aiq-rail.js). Picked 2026-10-09 from static/proto/rail-panels-drafts.html.
   The panel sits over the page's right edge, beside the bar; only on the desktop shell. */
#rp { --rp-bg:#fff; --rp-ink:#0F172A; --rp-dim:#64748B; --rp-line:#E5E8EE; --rp-soft:#F4F6F9; --rp-hov:#F1F4F8;
  --rp-up:#0E9F75; --rp-dn:#E11D48; --rp-link:#455DDC;
  position:fixed; z-index:94; top:var(--sh-top, 48px); right:var(--sh-rail, 48px); bottom:var(--sh-bottom, 0px); width:344px;
  display:flex; flex-direction:column; background:var(--rp-bg); color:var(--rp-ink); border-left:1px solid var(--rp-line);
  box-shadow:-8px 0 24px rgba(15,23,42,.08); font:13px/1.4 Inter, system-ui, sans-serif; font-variant-numeric:tabular-nums; }
#rp[hidden] { display:none; }
html[data-theme="dark"] #rp { --rp-bg:#25282F; --rp-ink:#E6E9EF; --rp-dim:#8D95A5; --rp-line:#343841; --rp-soft:#2C3038;
  --rp-hov:#2E323A; --rp-up:#43D1A7; --rp-dn:#F73463; --rp-link:#8A9BF0; box-shadow:-8px 0 24px rgba(0,0,0,.35); }
#rp * { box-sizing:border-box; }
#rp a { color:inherit; text-decoration:none; }
#rp .rp-head { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; padding:12px 10px 10px 14px; border-bottom:1px solid var(--rp-line); }
#rp .rp-title { font-weight:600; font-size:14px; }
#rp .rp-sub { color:var(--rp-dim); font-size:11.5px; margin-top:2px; }
#rp .rp-head-btns { display:flex; gap:2px; flex:none; }
#rp .rp-ib { width:26px; height:26px; border:0; background:none; color:var(--rp-dim); border-radius:4px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:14px; }
#rp .rp-ib:hover { background:var(--rp-hov); color:var(--rp-ink); }
#rp .rp-ib.on { color:var(--rp-link); }
#rp .rp-scroll { flex:1; overflow:auto; min-height:0; }
#rp .rp-foot { border-top:1px solid var(--rp-line); padding:10px 14px; }
#rp .rp-foot a, #rp a.rp-link { color:var(--rp-link); font-weight:500; font-size:12.5px; }
#rp .rp-empty { padding:28px 20px; text-align:center; color:var(--rp-dim); font-size:12.5px; }
#rp .rp-empty a { color:var(--rp-link); }
#rp .rp-select { border:1px solid var(--rp-line); background:var(--rp-bg); color:var(--rp-ink); border-radius:4px;
  font:600 13px Inter, system-ui, sans-serif; padding:3px 6px; max-width:210px; }

/* plain rows (watchlist) */
#rp table.rp-t { width:100%; border-collapse:collapse; table-layout:fixed; }
#rp .rp-t .c-p { width:82px; } #rp .rp-t .c-d { width:72px; }
html[data-theme] #rp .rp-t th { font-weight:500; font-size:11px; color:var(--rp-dim); text-align:left; padding:8px 14px 6px;
  background:none !important; border-bottom:1px solid var(--rp-line); }
html[data-theme] #rp .rp-t td { padding:7px 14px; border-bottom:1px solid var(--rp-line); background:none !important; white-space:nowrap; }
#rp .rp-t th + th, #rp .rp-t td + td { padding-left:4px; }
html[data-theme] #rp .rp-t tbody tr:hover td { background:var(--rp-hov) !important; cursor:pointer; }
html[data-theme] #rp .rp-t tr.cur td { background:var(--rp-soft) !important; }
#rp .rp-t tr.cur td:first-child { box-shadow:inset 2px 0 #455DDC; }
#rp .r { text-align:right !important; }
#rp .nm { display:block; color:var(--rp-dim); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#rp .up { color:var(--rp-up); } #rp .dn { color:var(--rp-dn); } #rp .muted { color:var(--rp-dim); }
#rp .rp-drop { margin:12px 14px; border:1px dashed var(--rp-line); border-radius:4px; padding:10px; text-align:center; color:var(--rp-dim); font-size:12px; }
#rp.rp-dragging .rp-drop { border-color:#455DDC; color:var(--rp-link); background:var(--rp-soft); }
#rp .rp-addcur { margin:10px 14px 0; width:calc(100% - 28px); }

/* buttons + inputs */
#rp .rp-btn { border:0; background:#455DDC; color:#fff; border-radius:4px; padding:0 12px; height:32px; font:600 12.5px Inter, system-ui, sans-serif; cursor:pointer; }
#rp .rp-btn:disabled { opacity:.5; cursor:default; }
#rp .rp-btn.ghost { background:none; border:1px solid var(--rp-line); color:var(--rp-ink); }
#rp textarea, #rp input[type=text], #rp select.rp-tag { border:1px solid var(--rp-line) !important; background:var(--rp-bg) !important;
  color:var(--rp-ink) !important; border-radius:4px; padding:7px 9px; font:13px Inter, system-ui, sans-serif; outline:none; }
#rp textarea:focus, #rp input[type=text]:focus { border-color:#455DDC !important; }

/* ask */
#rp .rp-ctx { margin:10px 14px 0; padding:7px 10px; background:var(--rp-soft); border-radius:4px; font-size:12px; color:var(--rp-dim);
  display:flex; gap:6px; align-items:center; }
#rp .rp-ctx b { color:var(--rp-ink); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#rp .rp-chat { padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
#rp .msg { padding:9px 11px; border-radius:4px; max-width:94%; overflow-wrap:anywhere; }
#rp .msg.me { align-self:flex-end; background:#455DDC; color:#fff; white-space:pre-wrap; }
#rp .msg.ai { background:var(--rp-soft); }
#rp .msg.ai p { margin:0 0 8px; } #rp .msg.ai p:last-child { margin-bottom:0; }
#rp .msg.ai ul, #rp .msg.ai ol { margin:0 0 8px; padding-left:18px; }
#rp .msg.ai ul { list-style:disc; } #rp .msg.ai ol { list-style:decimal; }
#rp .msg.ai table { border-collapse:collapse; font-size:12px; margin:4px 0 8px; display:block; overflow-x:auto; }
#rp .msg.ai th, #rp .msg.ai td { border-bottom:1px solid var(--rp-line); padding:3px 6px; text-align:left; background:none !important; }
#rp .msg.ai h1, #rp .msg.ai h2, #rp .msg.ai h3 { font-size:13px; margin:8px 0 4px; }
#rp .msg.err { background:none; border:1px solid var(--rp-dn); color:var(--rp-dn); font-size:12.5px; }
#rp .msg.err a { text-decoration:underline; }
#rp .rp-step { font-size:11.5px; color:var(--rp-dim); display:flex; gap:6px; align-items:center; }
#rp .rp-more { margin-top:6px; font-size:12px; }
#rp .rp-dots { display:inline-flex; gap:3px; padding:4px 0; }
#rp .rp-dots i { width:5px; height:5px; border-radius:50%; background:var(--rp-dim); animation:rp-dot 1s infinite ease-in-out; }
#rp .rp-dots i:nth-child(2) { animation-delay:.15s; } #rp .rp-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes rp-dot { 0%, 80%, 100% { opacity:.25; } 40% { opacity:1; } }
#rp .sugg { display:flex; flex-wrap:wrap; gap:6px; }
#rp .sugg button { border:1px solid var(--rp-line); background:var(--rp-bg); color:var(--rp-ink); border-radius:999px; padding:4px 10px;
  font:500 12px Inter, system-ui, sans-serif; cursor:pointer; }
#rp .sugg button:hover { border-color:#455DDC; }
#rp .rp-input { display:flex; gap:6px; padding:10px 12px; border-top:1px solid var(--rp-line); }
#rp .rp-input textarea { flex:1; min-width:0; resize:none; max-height:120px; }
#rp .rp-input .rp-btn { padding:0; width:34px; flex:none; align-self:flex-end; font-size:14px; display:flex; align-items:center; justify-content:center; }

/* notes */
#rp .rp-add { padding:12px 14px; border-bottom:1px solid var(--rp-line); }
#rp .rp-add textarea { width:100%; resize:none; display:block; }
#rp .rp-add-row { display:flex; gap:6px; margin-top:6px; justify-content:space-between; }
#rp .rp-add select.rp-tag { height:32px; padding:0 6px; }
#rp .note { padding:11px 14px; border-bottom:1px solid var(--rp-line); }
#rp .note-top { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
#rp .note-tk { font-weight:600; font-size:12px; }
#rp .tag { font-size:10.5px; font-weight:600; color:#9646EF; background:rgba(150,70,239,.1); padding:1px 6px; border-radius:4px; }
#rp .note-meta { margin-left:auto; color:var(--rp-dim); font-size:11px; white-space:nowrap; }
#rp .note-body { white-space:pre-wrap; overflow-wrap:anywhere; }

/* activity */
#rp .rp-seg { display:flex; gap:2px; margin:10px 14px 4px; background:var(--rp-soft); padding:2px; border-radius:4px; }
#rp .rp-seg button { flex:1; border:0; background:none; color:var(--rp-dim); font:500 11.5px Inter, system-ui, sans-serif; padding:5px 0;
  border-radius:3px; cursor:pointer; white-space:nowrap; }
#rp .rp-seg button.on { background:var(--rp-bg); color:var(--rp-ink); box-shadow:0 1px 2px rgba(0,0,0,.08); }
#rp .rp-sec { font-size:11px; font-weight:600; color:var(--rp-dim); padding:12px 14px 4px; }
#rp .ev { display:flex; gap:10px; padding:10px 14px; border-bottom:1px solid var(--rp-line); position:relative; }
#rp .ev:hover, #rp .rec:hover { background:var(--rp-hov); }
#rp .ev.unread::before { content:""; position:absolute; left:5px; top:16px; width:5px; height:5px; border-radius:50%; background:#455DDC; }
#rp .ev-ic { color:var(--rp-dim); font-size:15px; margin-top:1px; }
#rp .ev.unread .ev-t { font-weight:600; }
#rp .ev-main { flex:1; min-width:0; }
#rp .ev-s { color:var(--rp-dim); font-size:12px; }
#rp .ev-when { color:var(--rp-dim); font-size:11px; white-space:nowrap; }

/* recent */
#rp .rec { display:flex; gap:10px; align-items:center; padding:9px 14px; border-bottom:1px solid var(--rp-line); }
#rp .tk { width:52px; flex:none; font-weight:600; font-size:12px; overflow:hidden; text-overflow:ellipsis; }
#rp .tk.pg { color:var(--rp-dim); }
#rp .rec-t { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; }

/* skeleton rows while a panel loads (same height as the rows they stand for) */
#rp .rp-skel { height:46px; margin:0 14px; border-bottom:1px solid var(--rp-line); display:flex; align-items:center; }
#rp .rp-skel i { display:block; height:10px; width:60%; border-radius:4px; background:var(--rp-soft); }

@media (max-width:767px) { #rp { display:none !important; } }

/* Phones: no right-hand bar (its display rules in _shell.html only exist from 768px up, so below that the icons fell
   into the page as a loose row at the bottom-left; found 2026-10-10). */
@media (max-width: 767px) { #aiq-rail, #rp { display: none !important; } }
