.rb-ai-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  padding: max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background: rgba(9,26,37,.58);
  backdrop-filter: blur(5px);
  font-family: system-ui,-apple-system,"Segoe UI",sans-serif;
}
.rb-ai-panel {
  width: min(920px,100%);
  max-height: min(860px,calc(100dvh - 36px));
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #d8e4e8;
  border-radius: 20px;
  color: #183542;
  background: #f8fbfc;
  box-shadow: 0 22px 70px rgba(6,24,33,.3);
}
.rb-ai-head { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 20px; border-bottom:1px solid #dce7ea; background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.rb-ai-head h2 { margin:0; font-size:20px; }
.rb-ai-head p { margin:4px 0 0; color:#627983; font-size:11px; }
.rb-ai-close { flex:none; width:42px; height:42px; border:1px solid #ccdadd; border-radius:11px; color:#47616a; background:#fff; font-size:25px; cursor:pointer; }
.rb-ai-body { display:grid; gap:16px; padding:18px; }
.rb-ai-card { padding:17px; border:1px solid #d7e4e6; border-radius:15px; background:#fff; }
.rb-ai-card h3 { margin:0 0 8px; font-size:15px; }
.rb-ai-card p { margin:5px 0; color:#58717b; font-size:12px; line-height:1.6; }
.rb-ai-disclosure { border-color:#acd8ce; background:linear-gradient(145deg,#f1fffb,#fff); }
.rb-ai-tutorial { border-color:#c9d9ef; background:linear-gradient(145deg,#f7f9ff,#fff); }
.rb-ai-tutorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.rb-ai-tutorial details { padding:11px 12px; border:1px solid #d5e0ef; border-radius:11px; background:#fff; }
.rb-ai-tutorial summary { cursor:pointer; color:#294f73; font-size:12px; font-weight:800; }
.rb-ai-tutorial ol { margin:9px 0 11px; padding-left:20px; color:#58717b; font-size:11px; line-height:1.65; }
.rb-ai-history { padding:0; overflow:hidden; }
.rb-ai-history > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 17px; cursor:pointer; color:#35535e; font-size:13px; font-weight:800; list-style:none; }
.rb-ai-history > summary::-webkit-details-marker { display:none; }
.rb-ai-history > summary::after { content:"⌄"; color:#6f858c; font-size:18px; }
.rb-ai-history[open] > summary::after { content:"⌃"; }
.rb-ai-history > summary span { min-width:24px; padding:2px 7px; border-radius:999px; color:#4d666f; background:#eef4f5; text-align:center; font-size:10px; }
.rb-ai-history > p { margin:0; padding:0 17px 12px; }
.rb-ai-history > .rb-ai-connection-list,.rb-ai-history > .rb-ai-admin-list { padding:0 17px 17px; }

.rb-ai-disclosure ul { margin:10px 0 0; padding-left:20px; color:#45656c; font-size:12px; line-height:1.65; }
.rb-ai-recommendations { border-color:#c9d9ef; background:linear-gradient(145deg,#f5f8ff,#fff); }
.rb-ai-recommendation-list { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 12px; }
.rb-ai-recommendation-chip { display:inline-flex; align-items:center; min-height:30px; padding:0 10px; border:1px solid #c5d5ea; border-radius:999px; color:#2f5677; background:#fff; font-size:11px; font-weight:750; }
.rb-ai-recommendation-disclaimer { padding:10px 11px; border-radius:10px; color:#665526!important; background:#fff8de; }
.rb-ai-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.rb-ai-field { display:grid; gap:6px; color:#35535e; font-size:12px; font-weight:700; }
.rb-ai-field select,.rb-ai-field input { width:100%; min-height:44px; box-sizing:border-box; padding:9px 11px; border:1px solid #c8d9dd; border-radius:10px; color:#183d48; background:#fff; font:14px system-ui; }
.rb-ai-locked-role { display:grid; gap:5px; align-content:center; min-height:44px; padding:8px 11px; border:1px solid #9bcfc4; border-radius:10px; color:#35535e; background:#effbf8; box-sizing:border-box; }
.rb-ai-locked-role span { font-size:10px; font-weight:700; }
.rb-ai-locked-role strong { color:#155f53; font-size:13px; }
.rb-ai-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.rb-ai-methods article { padding:13px; border:1px solid #d5e4e6; border-radius:11px; background:#fbfdfd; }
.rb-ai-methods h4 { margin:7px 0; font-size:13px; }
.rb-ai-methods p,.rb-ai-methods ol { margin:6px 0 11px; color:#58717b; font-size:11px; line-height:1.6; }
.rb-ai-methods ol { padding-left:19px; }
.rb-ai-method-badge { display:inline-flex; padding:3px 7px; border-radius:99px; color:#11695c; background:#ddf7f1; font-size:9px; font-weight:800; }
.rb-ai-method-badge.secondary { color:#385d72; background:#e6f0f5; }
.rb-ai-method-badge.personal { color:#715316; background:#fff0c9; }
.rb-ai-scopes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.rb-ai-scope { display:flex; align-items:flex-start; gap:8px; padding:10px; border:1px solid #d9e5e7; border-radius:10px; color:#45616a; background:#fbfdfd; font-size:11px; line-height:1.45; }
.rb-ai-scope input { margin-top:2px; accent-color:#13796a; }
.rb-ai-primary,.rb-ai-secondary,.rb-ai-danger { min-height:40px; padding:0 13px; border-radius:9px; font:750 12px system-ui; cursor:pointer; }
.rb-ai-primary { border:1px solid #147363; color:#fff; background:#147363; }
.rb-ai-secondary { border:1px solid #a9c4c8; color:#315863; background:#fff; }
.rb-ai-danger { border:1px solid #dbabab; color:#9a3d3d; background:#fff8f8; }
.rb-ai-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:13px; }
.rb-ai-connection-list { display:grid; gap:10px; }
.rb-ai-empty { padding:18px; border:1px dashed #bfd0d5; border-radius:11px; color:#698088; text-align:center; font-size:12px; }
.rb-ai-connection { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:13px; border:1px solid #d9e5e7; border-radius:12px; background:#fbfdfd; }
.rb-ai-connection strong { font-size:13px; }
.rb-ai-meta { display:flex; flex-wrap:wrap; gap:6px; margin:7px 0; }
.rb-ai-chip { padding:4px 7px; border-radius:999px; color:#315b61; background:#e8f4f3; font-size:10px; font-weight:700; }
.rb-ai-chip.revoked,.rb-ai-chip.expired { color:#874646; background:#faeaea; }
.rb-ai-scopeline { color:#647b82; font-size:10px; line-height:1.55; }
.rb-ai-secret { margin-top:12px; padding:13px; border:1px solid #deb966; border-radius:11px; background:#fff9e7; }
.rb-ai-secret strong { color:#745217; font-size:12px; }
.rb-ai-secret code { display:block; overflow:auto; margin:8px 0; padding:9px; border-radius:7px; color:#e6f8f3; background:#163f45; white-space:pre-wrap; word-break:break-all; font-size:10px; }
.rb-ai-status { min-height:18px; margin-top:8px; color:#176a5e; font-size:11px; }
.rb-ai-status.error { color:#a33e3e; }
.rb-ai-admin-list { display:grid; gap:8px; max-height:360px; overflow:auto; }
.rb-ai-admin-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border:1px solid #dce6e8; border-radius:10px; font-size:11px; }
.rb-ai-admin-row small { display:block; margin-top:3px; color:#6c8187; }
.rb-ai-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.rb-ai-admin-stats { display:flex; flex:none; gap:7px; }
.rb-ai-admin-stats span { min-width:70px; padding:8px; border-radius:9px; color:#4b6670; background:#eef6f7; text-align:center; font-size:9px; }
.rb-ai-admin-stats b { display:block; color:#195d54; font-size:17px; }
.rb-ai-entry-count { display:inline-grid; min-width:17px; height:17px; margin-left:auto; padding:0 4px; place-items:center; border-radius:99px; color:#fff; background:#167466; font-size:9px; }
.class-account-beta-features { display:grid; gap:6px; margin:7px 0; padding:9px 6px; border-top:1px solid #d9e8ea; border-bottom:1px solid #d9e8ea; background:#f5fbfa; }
.class-account-beta-features > strong { display:block; padding:0 5px 6px; color:#1b6c60; font-size:9px; font-weight:850; letter-spacing:.04em; }
.class-account-beta-features > button { display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:0 10px; border:1px solid #b8d7d1; border-radius:9px; color:#21564e; background:#fff; text-align:left; cursor:pointer; }
.class-account-beta-features > button:hover { background:#eaf7f4; }
.class-account-beta-features > button .class-icon { width:18px; height:18px; }
.class-account-beta-features > button span { display:grid; gap:2px; }
.class-account-beta-features > button small { color:#6d817e; font-size:8px; }
@media (max-width:700px) {
  .rb-ai-overlay { padding:0; place-items:stretch; }
  .rb-ai-panel { width:100%; max-height:100dvh; border:0; border-radius:0; }
  .rb-ai-body { padding:13px; }
  .rb-ai-grid,.rb-ai-scopes,.rb-ai-methods,.rb-ai-tutorial-grid { grid-template-columns:1fr; }
  .rb-ai-admin-heading { display:grid; }
  .rb-ai-admin-row { grid-template-columns:1fr auto; }
  .rb-ai-admin-row > :nth-child(2) { grid-column:1; }
}
