/* v1.5.4 — home navigation, Java dialog, definitive search rendering & sidebar hierarchy. Built on v1.5.2 trust/answer UX. */
/* v1.5.2 — trust, mascot, answer presentation & search-icon polish. This layer intentionally neutralizes legacy page chrome
       while preserving existing IDs, behavior hooks, diagnostic surfaces, and accessibility states. */
    :root{
      --jb-v15-sidebar:280px;
      --jb-v15-sidebar-collapsed:64px;
      --jb-v15-header:58px;
      --jb-v15-chat-max:920px;
      --jb-v15-composer-max:920px;
      --jb-v15-radius:18px;
    }
    html,body{height:100%;}
    body.jb-app-v15{
      margin:0!important;
      min-height:100dvh!important;
      height:100dvh!important;
      overflow:hidden!important;
      background:var(--surface)!important;
      color:var(--text);
      font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    body.jb-app-v15 .jb-app-main,
    body.jb-app-v15 .jb-page,
    body.jb-app-v15 .jb-grid,
    body.jb-app-v15 .jb-workspace{
      width:100%!important;
      max-width:none!important;
      height:100%!important;
      min-height:0!important;
      margin:0!important;
      padding:0!important;
      overflow:hidden!important;
    }
    body.jb-app-v15 .jb-workspace{
      display:grid!important;
      grid-template-columns:var(--jb-v15-sidebar) minmax(0,1fr)!important;
      gap:0!important;
      background:var(--surface)!important;
      border:0!important;
      transition:grid-template-columns .18s ease;
    }
    body.jb-app-v15.jb-sidebar-collapsed .jb-workspace{
      grid-template-columns:var(--jb-v15-sidebar-collapsed) minmax(0,1fr)!important;
    }
    body.jb-app-v15 .jb-chat-column{
      display:block!important;
      min-width:0!important;
      min-height:0!important;
      height:100%!important;
      overflow:hidden!important;
      background:var(--surface)!important;
    }
    body.jb-app-v15 .jb-panel{
      height:100%!important;
      min-height:0!important;
      display:grid!important;
      grid-template-rows:auto minmax(0,1fr) auto!important;
      border:0!important;
      border-radius:0!important;
      box-shadow:none!important;
      overflow:hidden!important;
      background:var(--surface)!important;
    }

    /* Sidebar */
    body.jb-app-v15 .jb-history-panel{
      position:relative!important;
      min-width:0!important;box-sizing:border-box!important;
      inset:auto!important;
      top:auto!important;
      width:auto!important;
      height:100%!important;
      max-height:none!important;
      padding:0!important;
      display:flex!important;
      flex-direction:column!important;
      overflow:hidden!important;
      border:0!important;
      border-right:1px solid var(--line)!important;
      border-radius:0!important;
      box-shadow:none!important;
      background:color-mix(in srgb,var(--surface2) 91%,var(--surface))!important;
      transition:width .18s ease,transform .2s ease;
    }
    body.jb-app-v15 .jb-sidebar-head{
      flex:none;
      min-height:62px;
      padding:13px 10px 9px 14px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:space-between!important;
      gap:8px!important;
      border:0!important;
      background:transparent!important;
    }
    body.jb-app-v15 .jb-sidebar-identity{display:flex;align-items:center;min-width:0;padding-left:2px;}
    body.jb-app-v15 .jb-sidebar-mark{display:none!important;}
    body.jb-app-v15 .jb-sidebar-name{min-width:0;display:flex;align-items:center;}
    body.jb-app-v15 .jb-sidebar-name strong{font-size:19px;line-height:1;letter-spacing:-.035em;font-weight:760;color:var(--text);}
    body.jb-app-v15 .jb-sidebar-name small{display:none!important;}
    body.jb-app-v15 .jb-sidebar-head-actions{display:flex;align-items:center;gap:3px;}
    body.jb-app-v15 .jb-sidebar-collapse,
    body.jb-app-v15 .jb-history-close{
      width:34px!important;height:34px!important;min-width:34px!important;
      display:grid;place-items:center;border:0!important;border-radius:9px!important;
      background:transparent!important;color:var(--muted)!important;font:700 21px/1 Inter,sans-serif;cursor:pointer;
    }
    body.jb-app-v15 .jb-sidebar-collapse:hover,
    body.jb-app-v15 .jb-history-close:hover{background:var(--surface)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-history-close{display:none!important;}
    body.jb-app-v15 .jb-sidebar-new{
      flex:none;width:calc(100% - 16px)!important;min-height:40px!important;margin:2px 8px 6px!important;padding:8px 10px!important;
      display:flex!important;align-items:center!important;gap:10px!important;border:0!important;border-radius:9px!important;
      background:transparent!important;color:var(--text)!important;box-shadow:none!important;font-size:12px!important;font-weight:680!important;text-align:left!important;cursor:pointer;
    }
    body.jb-app-v15 .jb-sidebar-new:hover{background:var(--surface)!important;}
    body.jb-app-v15 .jb-sidebar-new span:first-child{width:22px;text-align:center;font-size:20px;font-weight:380;line-height:1;}
    body.jb-app-v15 .jb-sidebar-search-wrap{
      flex:none;margin:0 8px 8px!important;min-height:38px!important;
      display:flex!important;align-items:center!important;gap:8px!important;
      padding:0 10px!important;border:1px solid transparent!important;border-radius:9px!important;
      background:transparent!important;
    }
    body.jb-app-v15 .jb-sidebar-search-wrap:hover,
    body.jb-app-v15 .jb-sidebar-search-wrap:focus-within{background:var(--surface)!important;border-color:color-mix(in srgb,var(--line) 88%,transparent)!important;}
    body.jb-app-v15 .jb-sidebar-search-icon{color:var(--muted);font-size:15px;}
    body.jb-app-v15 .jb-history-search{
      width:100%!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
      padding:8px 0!important;border-radius:0!important;color:var(--text)!important;font:500 12px/1.3 Inter,sans-serif!important;outline:0!important;
    }
    body.jb-app-v15 .jb-history-summary{
      flex:none;display:flex!important;align-items:center!important;justify-content:space-between!important;
      padding:3px 12px 5px 16px!important;border:0!important;background:transparent!important;
    }
    body.jb-app-v15 .jb-session-count{font-size:10px!important;font-weight:650!important;color:var(--muted)!important;}
    body.jb-app-v15 .jb-history-select-toggle{
      border:0!important;background:transparent!important;color:var(--muted)!important;border-radius:7px!important;
      padding:5px 7px!important;font-size:10px!important;font-weight:700!important;cursor:pointer;
    }
    body.jb-app-v15 .jb-history-select-toggle:hover{background:var(--surface)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-session-list{
      flex:1!important;min-height:0!important;max-height:none!important;overflow:auto!important;
      padding:2px 8px 8px!important;scrollbar-width:thin;
    }
    body.jb-app-v15 .jb-history-group-title{
      padding:11px 8px 5px!important;color:var(--muted)!important;font-size:9px!important;font-weight:760!important;
      text-transform:none!important;letter-spacing:.02em!important;
    }
    body.jb-app-v15 .jb-history-group{margin:0!important;padding:0!important;list-style:none!important;}
    body.jb-app-v15 .jb-session-card{
      position:relative!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
      align-items:center!important;gap:3px!important;margin:1px 0!important;padding:2px!important;
      border:0!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;transform:none!important;
    }
    body.jb-app-v15 .jb-session-card:hover,
    body.jb-app-v15 .jb-session-card.active{background:color-mix(in srgb,var(--surface) 88%,transparent)!important;}
    body.jb-app-v15 .jb-session-card.active::before{content:none!important;}
    body.jb-app-v15 .jb-session-open{
      min-width:0!important;border:0!important;background:transparent!important;color:var(--text)!important;
      text-align:left!important;padding:8px 7px!important;border-radius:7px!important;cursor:pointer!important;font:inherit!important;
    }
    body.jb-app-v15 .jb-session-title{display:-webkit-box!important;font-size:11.5px!important;font-weight:650!important;line-height:1.35!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    body.jb-app-v15 .jb-session-meta{display:none!important;}
    body.jb-app-v15 .jb-session-actions{display:flex!important;align-items:center!important;gap:1px!important;}
    body.jb-app-v15 .jb-session-pin,
    body.jb-app-v15 .jb-session-menu-btn{
      width:27px!important;height:27px!important;border:0!important;background:transparent!important;border-radius:7px!important;
      color:var(--muted)!important;opacity:0!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-session-card:hover .jb-session-menu-btn,
    body.jb-app-v15 .jb-session-card:focus-within .jb-session-menu-btn,
    body.jb-app-v15 .jb-session-card.pinned .jb-session-pin{opacity:1!important;}
    body.jb-app-v15 .jb-session-card:hover .jb-session-pin{opacity:.65!important;}
    body.jb-app-v15 .jb-session-pin:hover,
    body.jb-app-v15 .jb-session-menu-btn:hover{background:var(--surface2)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-session-menu{
      right:3px!important;top:34px!important;z-index:80!important;min-width:160px!important;padding:5px!important;
      border:1px solid var(--line)!important;border-radius:11px!important;background:var(--surface)!important;
      box-shadow:0 16px 44px rgba(15,23,42,.18)!important;
    }
    body.jb-app-v15 .jb-history-bulk{
      margin:0 8px 7px!important;padding:8px!important;border:1px solid var(--line)!important;border-radius:10px!important;
      background:var(--surface)!important;gap:5px!important;
    }
    body.jb-app-v15 .jb-history-bulk .btn{font-size:10px!important;padding:6px 8px!important;border-radius:7px!important;}
    body.jb-app-v15 .jb-history-storage-banner{margin:0 9px 8px!important;border-radius:10px!important;padding:9px!important;font-size:10px!important;}
    body.jb-app-v15 .jb-sidebar-manage{flex:none;margin:3px 10px 7px!important;border:0!important;background:transparent!important;}
    body.jb-app-v15 .jb-sidebar-manage>summary{
      padding:7px 8px!important;border-radius:8px!important;color:var(--muted)!important;font-size:10px!important;font-weight:700!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-sidebar-manage>summary:hover{background:var(--surface)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-sidebar-manage-menu{padding:6px!important;gap:4px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;}
    body.jb-app-v15 .jb-sidebar-manage-menu .btn{width:100%!important;justify-content:flex-start!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:10.5px!important;}
    body.jb-app-v15 .jb-sidebar-bottom{
      flex:none;display:grid!important;gap:2px!important;padding:7px 8px 10px!important;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;
      background:transparent!important;
    }
    body.jb-app-v15 .jb-sidebar-link{
      min-height:36px!important;width:100%!important;display:flex!important;align-items:center!important;gap:10px!important;
      padding:7px 9px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;
      text-decoration:none!important;text-align:left!important;font:650 10.5px/1.2 Inter,sans-serif!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-sidebar-link:hover{background:var(--surface)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-sidebar-icon-link>span:first-child{width:20px;text-align:center;font-size:14px;flex:none;}
    body.jb-app-v15 .jb-sidebar-status-row{
      display:none!important;align-items:center!important;gap:6px!important;padding:6px 9px 0!important;color:var(--muted)!important;font-size:9px!important;
    }
    body.jb-app-v15 .jb-history-storage-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    body.jb-app-v15 .jb-history-layout-status{display:none!important;}
    body.jb-app-v15 .jb-sidebar-version{margin-left:auto;white-space:nowrap;font-size:9px!important;}
    body.jb-app-v15 .jb-history-note{display:none!important;}

    /* Collapsed desktop sidebar */
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-head{padding-inline:8px!important;justify-content:center!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-identity{display:none!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-head-actions{width:100%;justify-content:center;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-collapse{transform:rotate(180deg);}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-new{
      width:40px!important;height:40px!important;margin:3px auto 8px!important;padding:0!important;justify-content:center!important;border-color:transparent!important;background:transparent!important;
    }
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-new span:last-child,
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-search-wrap,
    body.jb-app-v15.jb-sidebar-collapsed .jb-history-summary,
    body.jb-app-v15.jb-sidebar-collapsed .jb-history-bulk,
    body.jb-app-v15.jb-sidebar-collapsed .jb-history-storage-banner,
    body.jb-app-v15.jb-sidebar-collapsed .jb-session-list,
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-manage,
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-status-row{display:none!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-bottom{margin-top:auto;align-items:center;padding-inline:8px!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-link{width:40px!important;height:40px!important;min-height:40px!important;margin-inline:auto!important;padding:0!important;justify-content:center!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-link-label{display:none!important;}
    body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-icon-link>span:first-child{width:auto;}

    /* Conversation header */
    body.jb-app-v15 .jb-head{
      position:relative!important;box-sizing:border-box!important;z-index:40!important;height:auto!important;min-height:var(--jb-v15-header)!important;
      display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
      padding:9px 12px!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
      background:color-mix(in srgb,var(--surface) 97%,transparent)!important;backdrop-filter:blur(12px)!important;
    }
    body.jb-app-v15 .jb-head-main{min-width:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;gap:9px!important;}
    body.jb-app-v15 .jb-history-toggle{
      display:none!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;
      place-items:center!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted)!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-history-toggle:hover{background:var(--surface2)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-history-toggle>span:first-child{font-size:18px;line-height:1;}
    body.jb-app-v15 .jb-history-toggle-label{display:none!important;}
    body.jb-app-v15 .jb-brand{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;flex:1 1 auto!important;}
    body.jb-app-v15 .jb-mascot{
      width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;border-radius:9px!important;
      background:color-mix(in srgb,var(--surface2) 88%,transparent)!important;box-shadow:none!important;overflow:hidden!important;
    }
    body.jb-app-v15 .jb-mascot::after{border-radius:9px!important;border-color:color-mix(in srgb,var(--line) 90%,transparent)!important;}
    body.jb-app-v15 .jb-mascot img{border-radius:9px!important;}
    body.jb-app-v15 .jb-title{min-width:0!important;flex:1 1 auto!important;}
    body.jb-app-v15 .jb-title h1{
      max-width:none!important;margin:0!important;font-size:13.5px!important;line-height:1.3!important;font-weight:710!important;
      letter-spacing:-.017em!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;
      display:block!important;
    }
    body.jb-app-v15 .jb-title small{margin-top:2px!important;font-size:9.5px!important;font-weight:540!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    body.jb-app-v15 .jb-panel.jb-has-conversation .jb-title small{display:none!important;}
    body.jb-app-v15 .jb-head-menu{position:relative!important;margin-left:0!important;flex:0 0 auto!important;border:0!important;}
    body.jb-app-v15 .jb-head-menu>summary{
      list-style:none!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;
      border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted)!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-head-menu>summary::-webkit-details-marker{display:none!important;}
    body.jb-app-v15 .jb-head-menu>summary:hover{background:var(--surface2)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-head-menu-body{
      position:absolute!important;right:0!important;top:calc(100% + 6px)!important;z-index:90!important;
      width:220px!important;padding:6px!important;display:grid!important;gap:2px!important;
      border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface)!important;box-shadow:0 18px 48px rgba(15,23,42,.18)!important;
    }
    body.jb-app-v15 .jb-head-menu:not([open]) .jb-head-menu-body{display:none!important;}
    body.jb-app-v15 .jb-head-menu-item{
      width:100%!important;min-height:36px!important;padding:8px 9px!important;display:flex!important;align-items:center!important;
      border:0!important;border-radius:8px!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;
      text-align:left!important;font:650 11px/1.25 Inter,sans-serif!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-head-menu-item:hover{background:var(--surface2)!important;}
    body.jb-app-v15 .jb-version-badge[data-state="ready"]{color:#18794e!important;}
    body.jb-app-v15 .jb-version-badge[data-state="mismatch"]{color:#b42318!important;}

    /* Message canvas */
    body.jb-app-v15 .jb-messages{
      position:relative!important;min-height:0!important;height:auto!important;overflow:auto!important;overscroll-behavior:contain!important;
      display:flex!important;flex-direction:column!important;gap:0!important;
      padding:22px max(18px,calc((100% - var(--jb-v15-chat-max))/2)) 26px!important;
      background:var(--surface)!important;scroll-behavior:smooth!important;scroll-padding-bottom:118px!important;
    }
    body.jb-app-v15 .jb-panel.jb-has-conversation .jb-messages::before{content:none!important;display:none!important;}
    body.jb-app-v15 .jb-message{
      width:100%!important;max-width:var(--jb-v15-chat-max)!important;margin:0 auto!important;padding:11px 0!important;
      display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;
      animation:jbFade .16s ease-out!important;
    }
    body.jb-app-v15 .jb-message.user{
      display:flex!important;justify-content:flex-end!important;align-items:flex-start!important;padding:9px 0 13px!important;
    }
    body.jb-app-v15 .jb-message.user .jb-avatar{display:none!important;}
    body.jb-app-v15 .jb-avatar{
      width:28px!important;height:28px!important;min-width:28px!important;border-radius:8px!important;
      border:1px solid color-mix(in srgb,var(--line) 88%,transparent)!important;background:var(--surface2)!important;
      box-shadow:none!important;font-size:8px!important;overflow:hidden!important;
    }
    body.jb-app-v15 .jb-avatar img{border-radius:7px!important;}
    body.jb-app-v15 .jb-bubble-wrap{
      min-width:0!important;max-width:none!important;width:auto!important;display:grid!important;gap:5px!important;
    }
    body.jb-app-v15 .jb-message.user .jb-bubble-wrap{width:auto!important;max-width:min(76%,640px)!important;}
    body.jb-app-v15 .jb-bubble{
      padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
      color:var(--text)!important;line-height:1.65!important;font-size:14px!important;overflow-wrap:anywhere!important;
    }
    body.jb-app-v15 .jb-message.user .jb-bubble{
      padding:10px 14px!important;border:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;border-radius:18px!important;
      background:color-mix(in srgb,var(--surface2) 88%,var(--surface))!important;color:var(--text)!important;box-shadow:none!important;line-height:1.5!important;
    }
    body.jb-app-v15 .jb-bubble strong{color:var(--text)!important;font-weight:750!important;}
    body.jb-app-v15 .jb-message.user .jb-bubble strong{color:var(--text)!important;}
    body.jb-app-v15 .jb-bubble p{margin:.42rem 0!important;line-height:1.65!important;}
    body.jb-app-v15 .jb-bubble .jb-md-heading{margin:1rem 0 .35rem!important;line-height:1.28!important;color:var(--text)!important;font-weight:780!important;}
    body.jb-app-v15 .jb-bubble .jb-md-heading.level2{font-size:1.05rem!important;}
    body.jb-app-v15 .jb-bubble .jb-md-heading.level3{font-size:.96rem!important;}
    body.jb-app-v15 .jb-bubble ul,
    body.jb-app-v15 .jb-bubble ol{margin:.35rem 0 .72rem 1.25rem!important;padding:0!important;}
    body.jb-app-v15 .jb-bubble li{margin:.28rem 0!important;padding-left:.08rem!important;}
    body.jb-app-v15 .jb-bubble code{border-radius:6px!important;background:color-mix(in srgb,var(--surface2) 92%,transparent)!important;padding:.12rem .32rem!important;}
    body.jb-app-v15 .jb-bubble pre.jb-code-block{
      margin:.7rem 0!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:11px!important;
      background:color-mix(in srgb,var(--surface2) 86%,var(--surface))!important;
    }
    body.jb-app-v15 .jb-table-wrap{margin:.72rem 0!important;border-radius:12px!important;box-shadow:none!important;}
    body.jb-app-v15 .jb-time{
      margin-top:1px!important;color:var(--muted)!important;font-size:9px!important;font-weight:520!important;opacity:.72!important;
    }
    body.jb-app-v15 .jb-message.user .jb-time{text-align:right!important;color:var(--muted)!important;}
    body.jb-app-v15 .jb-claim-guard{margin:10px 0 2px!important;border-radius:10px!important;padding:9px 10px!important;font-size:10.5px!important;line-height:1.55!important;}
    body.jb-app-v15 .jb-claim-guard strong{display:inline!important;margin-right:.38em!important;}

    /* Response actions — deliberately quiet until needed. */
    body.jb-app-v15 .jb-message-actions{
      display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:1px!important;margin-top:2px!important;min-height:29px!important;
    }
    body.jb-app-v15 .jb-message-action,
    body.jb-app-v15 .jb-inline-sources>summary,
    body.jb-app-v15 .jb-message-more>summary{
      min-height:28px!important;padding:5px 7px!important;border:0!important;border-radius:7px!important;background:transparent!important;
      color:var(--muted)!important;box-shadow:none!important;font:620 10px/1.2 Inter,sans-serif!important;cursor:pointer!important;list-style:none!important;
    }
    body.jb-app-v15 .jb-message-action:hover,
    body.jb-app-v15 .jb-inline-sources>summary:hover,
    body.jb-app-v15 .jb-message-more>summary:hover{background:var(--surface2)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-inline-sources,
    body.jb-app-v15 .jb-message-more{position:relative!important;border:0!important;background:transparent!important;margin:0!important;overflow:visible!important;}
    body.jb-app-v15 .jb-inline-sources>summary::-webkit-details-marker,
    body.jb-app-v15 .jb-message-more>summary::-webkit-details-marker{display:none!important;}
    body.jb-app-v15 .jb-inline-sources-body,
    body.jb-app-v15 .jb-message-more-body{
      position:absolute!important;left:0!important;top:calc(100% + 6px)!important;bottom:auto!important;z-index:70!important;
      width:min(360px,calc(100vw - 34px))!important;max-height:min(52vh,430px)!important;overflow:auto!important;
      padding:7px!important;display:grid!important;gap:4px!important;border:1px solid var(--line)!important;border-radius:12px!important;
      background:var(--surface)!important;box-shadow:0 18px 52px rgba(15,23,42,.18)!important;
    }
    body.jb-app-v15 .jb-inline-sources:not([open])>.jb-inline-sources-body,
    body.jb-app-v15 .jb-message-more:not([open])>.jb-message-more-body{display:none!important;}
    body.jb-app-v15 .jb-inline-sources-body a{padding:9px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;font-size:11px!important;}
    body.jb-app-v15 .jb-inline-sources-body a:hover{background:var(--surface2)!important;}
    body.jb-app-v15 .jb-message-more-body>.jb-quality,
    body.jb-app-v15 .jb-message-more-body>.jb-handoff{margin:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;}
    body.jb-app-v15 .jb-message-more-body>.jb-quality>summary,
    body.jb-app-v15 .jb-message-more-body>.jb-handoff>summary{
      padding:9px 10px!important;border-radius:8px!important;background:transparent!important;font-size:11px!important;font-weight:680!important;
    }
    body.jb-app-v15 .jb-message-more-body>.jb-quality>summary:hover,
    body.jb-app-v15 .jb-message-more-body>.jb-handoff>summary:hover{background:var(--surface2)!important;}
    body.jb-app-v15 .jb-message-more-body .jb-quality-body,
    body.jb-app-v15 .jb-message-more-body .jb-handoff-body{
      position:static!important;width:auto!important;max-width:none!important;max-height:none!important;margin:2px 0 5px!important;padding:9px!important;
      border:1px solid var(--line)!important;border-radius:9px!important;background:color-mix(in srgb,var(--surface2) 72%,var(--surface))!important;box-shadow:none!important;
    }

    /* Follow-up tail */
    body.jb-app-v15 .jb-message-followup{margin:12px 0 0!important;gap:7px!important;}
    body.jb-app-v15 .jb-message-followup-title{font-size:9.5px!important;font-weight:620!important;color:var(--muted)!important;}
    body.jb-app-v15 .jb-message-followup-list{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
    body.jb-app-v15 .jb-message-followup .jb-followup-chip,
    body.jb-app-v15 .jb-followup-more>summary{
      min-height:32px!important;max-width:340px!important;padding:6px 11px!important;border:1px solid var(--line)!important;border-radius:999px!important;
      background:transparent!important;color:var(--text)!important;font:600 10.5px/1.3 Inter,sans-serif!important;box-shadow:none!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-message-followup .jb-followup-chip:hover,
    body.jb-app-v15 .jb-followup-more>summary:hover{background:var(--surface2)!important;}
    body.jb-app-v15 .jb-scenario-badge{display:none!important;}
    body.jb-app-v15 .jb-followup-more-body{border-radius:11px!important;box-shadow:0 16px 44px rgba(15,23,42,.18)!important;}

    /* Empty state */
    body.jb-app-v15 .jb-empty-state{
      width:min(100%,650px)!important;margin:auto!important;padding:40px 18px 18px!important;display:grid!important;place-items:center!important;align-content:center!important;
      gap:8px!important;text-align:center!important;color:var(--text)!important;
    }
    body.jb-app-v15 .jb-empty-state-mark{
      width:42px!important;height:42px!important;border-radius:12px!important;display:grid!important;place-items:center!important;
      background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 90%,#fff),color-mix(in srgb,var(--red) 70%,var(--blue)))!important;
      border:0!important;color:#fff!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;box-shadow:none!important;
    }
    body.jb-app-v15 .jb-empty-state-mark img{width:100%;height:100%;object-fit:contain;display:block;border-radius:11px;}
    body.jb-app-v15 .jb-empty-state h2{margin:4px 0 0!important;font-size:clamp(1.35rem,2vw,1.75rem)!important;font-weight:730!important;letter-spacing:-.035em!important;}
    body.jb-app-v15 .jb-empty-state p{max-width:520px!important;margin:0!important;color:var(--muted)!important;font-size:12.5px!important;line-height:1.55!important;}

    /* Composer */
    body.jb-app-v15 .jb-conversation-footer{
      position:relative!important;z-index:35!important;flex:none!important;border:0!important;background:linear-gradient(180deg,transparent 0,var(--surface) 18%)!important;
      padding:0 max(14px,calc((100% - var(--jb-v15-composer-max))/2)) 9px!important;
    }
    body.jb-app-v15 .jb-composer{
      width:100%!important;max-width:var(--jb-v15-composer-max)!important;margin:0 auto!important;padding:0!important;display:grid!important;gap:8px!important;
      border:0!important;background:transparent!important;box-shadow:none!important;
    }
    body.jb-app-v15 .jb-suggestions{
      display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0 2px 2px!important;
    }
    body.jb-app-v15 .jb-panel.jb-has-conversation .jb-suggestions{display:none!important;}
    body.jb-app-v15 .jb-chip{
      min-height:62px!important;padding:10px 12px!important;display:grid!important;gap:3px!important;align-content:center!important;
      border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface)!important;color:var(--text)!important;
      text-align:left!important;box-shadow:none!important;transform:none!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-chip strong{font-size:11.5px!important;font-weight:700!important;}
    body.jb-app-v15 .jb-chip span{color:var(--muted)!important;font-size:9.8px!important;line-height:1.35!important;font-weight:500!important;}
    body.jb-app-v15 .jb-chip:hover{background:var(--surface2)!important;border-color:color-mix(in srgb,var(--blue) 28%,var(--line))!important;transform:none!important;}
    body.jb-app-v15 .jb-compose-shell{
      width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;padding:6px 7px!important;border:1px solid color-mix(in srgb,var(--line) 94%,transparent)!important;border-radius:20px!important;background:var(--surface)!important;
      box-shadow:0 5px 20px rgba(15,23,42,.065)!important;transition:border-color .16s ease,box-shadow .16s ease!important;
    }
    body.jb-app-v15 .jb-compose-shell:focus-within{border-color:color-mix(in srgb,var(--blue) 42%,var(--line))!important;box-shadow:0 5px 22px rgba(15,23,42,.07),0 0 0 2px color-mix(in srgb,var(--blue) 7%,transparent)!important;}
    body.jb-app-v15 .jb-compose-row{
      width:100%!important;box-sizing:border-box!important;padding:0!important;min-height:48px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:4px!important;align-items:center!important;
    }
    body.jb-app-v15 .jb-file-btn{
      width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;display:grid!important;place-items:center!important;align-self:center!important;
      border:0!important;border-radius:10px!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important;font-size:22px!important;font-weight:400!important;cursor:pointer!important;
    }
    body.jb-app-v15 .jb-file-btn:hover{background:var(--surface2)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-composer textarea{
      width:100%!important;box-sizing:border-box!important;min-height:42px!important;max-height:168px!important;resize:none!important;padding:10px 6px 8px!important;
      border:0!important;border-radius:0!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;
      font:500 14px/1.5 Inter,sans-serif!important;outline:0!important;
    }
    body.jb-app-v15 .jb-composer textarea::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)!important;}
    body.jb-app-v15 #sendBtn{
      width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;display:grid!important;place-items:center!important;align-self:center!important;
      border:0!important;border-radius:12px!important;background:var(--text)!important;color:var(--surface)!important;box-shadow:none!important;
    }
    body.jb-app-v15 #sendBtn:disabled{opacity:.24!important;cursor:not-allowed!important;}
    body.jb-app-v15 #sendBtn[data-state="generating"]{background:var(--text)!important;opacity:1!important;}
    body.jb-app-v15 .jb-send-icon svg{width:17px!important;height:17px!important;stroke:currentColor!important;stroke-width:2.1!important;fill:none!important;}
    body.jb-app-v15 .jb-file-row{
      display:none!important;align-items:center!important;gap:7px!important;margin:4px 2px 0!important;padding:7px 8px!important;
      border:0!important;border-radius:9px!important;background:var(--surface2)!important;
    }
    body.jb-app-v15 .jb-file-row.has-file{display:flex!important;}
    body.jb-app-v15 .jb-file-status{min-width:0!important;flex:1!important;font-size:9.8px!important;font-weight:560!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    body.jb-app-v15 .jb-file-remove{border:0!important;background:transparent!important;padding:5px 7px!important;border-radius:7px!important;font-size:9.5px!important;font-weight:650!important;color:var(--muted)!important;}
    body.jb-app-v15 .jb-file-remove:hover{background:var(--surface)!important;color:var(--text)!important;}
    body.jb-app-v15 .jb-meta{
      min-height:14px!important;display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important;
      padding:0 8px!important;border:0!important;color:color-mix(in srgb,var(--muted) 84%,transparent)!important;font-size:8.8px!important;line-height:1.25!important;text-align:center!important;
    }
    body.jb-app-v15 .jb-system-status{display:none!important;}
    body.jb-app-v15 .jb-scroll-latest{
      position:absolute!important;left:50%!important;bottom:calc(var(--jb-footer-height,80px) + 8px)!important;transform:translateX(-50%)!important;
      min-height:34px!important;padding:7px 10px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--surface)!important;
      color:var(--muted)!important;box-shadow:0 8px 22px rgba(15,23,42,.10)!important;font-size:10px!important;font-weight:650!important;z-index:34!important;
    }

    /* Dialogs, toast, diagnostic */
    body.jb-app-v15 .jb-confirm-modal,
    body.jb-app-v15 .jb-diagnostic-modal{backdrop-filter:blur(8px)!important;}
    body.jb-app-v15 .jb-confirm-dialog,
    body.jb-app-v15 .jb-diagnostic-dialog{border-radius:16px!important;box-shadow:0 26px 80px rgba(0,0,0,.28)!important;}
    body.jb-app-v15 .jb-diagnostic-dialog{width:min(980px,100%)!important;}
    body.jb-app-v15 .jb-diagnostic-head{padding:15px 16px!important;background:var(--surface)!important;}
    body.jb-app-v15 .jb-diagnostic-actions{padding:10px 16px!important;background:var(--surface2)!important;}
    body.jb-app-v15 .jb-toast{bottom:18px!important;}

    /* Focus and reduced motion */
    body.jb-app-v15 button:focus-visible,
    body.jb-app-v15 a:focus-visible,
    body.jb-app-v15 summary:focus-visible,
    body.jb-app-v15 input:focus-visible,
    body.jb-app-v15 textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 72%,transparent)!important;outline-offset:2px!important;}
    body.jb-app-v15 .jb-compose-shell textarea:focus-visible{outline:0!important;outline-offset:0!important;box-shadow:none!important;}
    @media(prefers-reduced-motion:reduce){body.jb-app-v15 *,body.jb-app-v15 *::before,body.jb-app-v15 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}}

    /* Tablet / mobile */
    @media(max-width:1099px){
      :root{--jb-v15-header:56px;}
      body.jb-app-v15 .jb-workspace,
      body.jb-app-v15.jb-sidebar-collapsed .jb-workspace{grid-template-columns:minmax(0,1fr)!important;}
      body.jb-app-v15 .jb-history-panel{
        position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:1100!important;
        width:min(86vw,316px)!important;height:100dvh!important;transform:translateX(-104%)!important;
        border-right:1px solid var(--line)!important;box-shadow:0 24px 72px rgba(15,23,42,.24)!important;
      }
      body.jb-app-v15.jb-history-open .jb-history-panel{transform:translateX(0)!important;}
      body.jb-app-v15 .jb-history-panel[inert]{pointer-events:none!important;}
      body.jb-app-v15 .jb-history-close{display:grid!important;}
      body.jb-app-v15 .jb-sidebar-collapse{display:none!important;}
      body.jb-app-v15 .jb-history-toggle{display:grid!important;}
      body.jb-app-v15 .jb-messages{padding-inline:max(16px,calc((100% - var(--jb-v15-chat-max))/2))!important;}
      body.jb-app-v15 .jb-conversation-footer{padding-inline:max(12px,calc((100% - var(--jb-v15-composer-max))/2))!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-identity{display:flex!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-new{width:calc(100% - 20px)!important;height:auto!important;margin:4px 10px 8px!important;padding:9px 11px!important;justify-content:flex-start!important;border-color:color-mix(in srgb,var(--line) 88%,transparent)!important;background:var(--surface)!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-new span:last-child,
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-search-wrap,
      body.jb-app-v15.jb-sidebar-collapsed .jb-history-summary,
      body.jb-app-v15.jb-sidebar-collapsed .jb-session-list,
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-manage,
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-status-row{display:revert!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-bottom{margin-top:0!important;align-items:stretch!important;padding-inline:8px!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-link{width:100%!important;height:auto!important;min-height:36px!important;margin:0!important;padding:7px 9px!important;justify-content:flex-start!important;}
      body.jb-app-v15.jb-sidebar-collapsed .jb-sidebar-link-label{display:inline!important;}
    }
    @media(max-width:700px){
      body.jb-app-v15 .jb-head{padding-inline:8px!important;}
      body.jb-app-v15 .jb-mascot{width:29px!important;height:29px!important;min-width:29px!important;}
      body.jb-app-v15 .jb-title h1{max-width:none!important;font-size:12px!important;line-height:1.28!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;}
      body.jb-app-v15 .jb-title small{display:none!important;}
      body.jb-app-v15 .jb-messages{padding:15px 12px 20px!important;}
      body.jb-app-v15 .jb-message{grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important;padding:10px 2px!important;}
      body.jb-app-v15 .jb-avatar{width:25px!important;height:25px!important;min-width:25px!important;}
      body.jb-app-v15 .jb-bubble{font-size:13.5px!important;line-height:1.62!important;}
      body.jb-app-v15 .jb-message.user .jb-bubble-wrap{max-width:88%!important;}
      body.jb-app-v15 .jb-message.user .jb-bubble{padding:9px 12px!important;border-radius:16px!important;}
      body.jb-app-v15 .jb-suggestions{grid-template-columns:1fr!important;gap:6px!important;max-height:146px!important;overflow:auto!important;padding-bottom:2px!important;}
      body.jb-app-v15 .jb-chip{min-height:54px!important;padding:9px 11px!important;}
      body.jb-app-v15 .jb-chip span{display:none!important;}
      body.jb-app-v15 .jb-conversation-footer{padding:0 8px 7px!important;}
      body.jb-app-v15 .jb-compose-shell{padding:6px!important;border-radius:16px!important;}
      body.jb-app-v15 .jb-compose-row{grid-template-columns:38px minmax(0,1fr) 38px!important;}
      body.jb-app-v15 .jb-composer textarea{font-size:16px!important;padding-inline:5px!important;}
      body.jb-app-v15 .jb-meta{font-size:8.5px!important;padding-inline:5px!important;}
      body.jb-app-v15 .jb-message-followup-list{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important;padding-bottom:2px!important;}
      body.jb-app-v15 .jb-message-followup-list::-webkit-scrollbar{display:none!important;}
      body.jb-app-v15 .jb-message-followup .jb-followup-chip,
      body.jb-app-v15 .jb-followup-more>summary{flex:0 0 auto!important;max-width:82vw!important;}
      body.jb-app-v15 .jb-inline-sources-body,
      body.jb-app-v15 .jb-message-more-body,
      body.jb-app-v15 .jb-followup-more-body{
        position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:8px!important;width:auto!important;max-height:58vh!important;
        z-index:1400!important;border-radius:15px!important;padding:8px!important;
      }
      body.jb-app-v15 .jb-empty-state{padding:26px 12px 16px!important;}
      body.jb-app-v15 .jb-empty-state h2{font-size:1.3rem!important;}
      body.jb-app-v15 .jb-empty-state p{font-size:11.5px!important;}
    }

/* Legacy pseudo-elements are disabled because V1.5 uses explicit accessible icons. */
body.jb-app-v15 .jb-file-btn::before,
body.jb-app-v15 #sendBtn::before{content:none!important;display:none!important;}

body.jb-app-v15 .jb-copy-message,
body.jb-app-v15 .jb-regenerate-message{
  width:auto!important;min-width:0!important;padding:5px 7px!important;font-size:10px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
}
body.jb-app-v15 .jb-copy-message::before,
body.jb-app-v15 .jb-regenerate-message::before{margin:0!important;font-size:13px!important;line-height:1!important;}

/* V1.5.1 final invariants */
body.jb-app-v15 .jb-sidebar-status-row{display:none!important;}


/* V1.5.2 — Java mascot, trust UX, response presentation, source/validation actions. */
body.jb-app-v15 .jb-sidebar-search-icon{width:18px!important;height:18px!important;display:grid!important;place-items:center!important;flex:0 0 18px!important;font-size:0!important;line-height:0!important;}
body.jb-app-v15 .jb-sidebar-search-icon svg{width:15px!important;height:15px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
body.jb-app-v15 .jb-history-search{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-variant-ligatures:none!important;letter-spacing:0!important;}

body.jb-app-v15 .jb-empty-state{width:min(100%,760px)!important;gap:14px!important;padding:26px 18px 22px!important;align-content:center!important;}
body.jb-app-v15 .jb-empty-hero{display:grid!important;place-items:center!important;gap:8px!important;text-align:center!important;}
body.jb-app-v15 .jb-empty-state-mark{width:148px!important;height:148px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
body.jb-app-v15 .jb-empty-state-mark img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 18px 28px rgba(16,37,63,.12))!important;}
body.jb-app-v15 .jb-empty-state h2{margin:0!important;font-size:clamp(1.45rem,2.2vw,1.95rem)!important;font-weight:760!important;letter-spacing:-.04em!important;}
body.jb-app-v15 .jb-empty-state p{max-width:610px!important;font-size:12.5px!important;line-height:1.55!important;}
body.jb-app-v15 .jb-empty-trust{width:min(100%,660px)!important;margin-top:4px!important;padding:12px!important;border:1px solid color-mix(in srgb,var(--blue) 14%,var(--line))!important;border-radius:15px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 3%,var(--surface)),color-mix(in srgb,var(--red) 2%,var(--surface)))!important;box-shadow:0 8px 28px rgba(16,37,63,.05)!important;text-align:left!important;}
body.jb-app-v15 .jb-empty-trust-head{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;}
body.jb-app-v15 .jb-empty-trust-icon{width:22px!important;height:22px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--blue) 10%,var(--surface))!important;color:var(--blue)!important;font-size:11px!important;font-weight:900!important;}
body.jb-app-v15 .jb-empty-trust-head strong{display:block!important;font-size:11px!important;line-height:1.35!important;}
body.jb-app-v15 .jb-empty-trust-head span:not(.jb-empty-trust-icon){display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:10px!important;line-height:1.5!important;}
body.jb-app-v15 .jb-empty-trust-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:9px!important;}
body.jb-app-v15 .jb-empty-trust-item{min-width:0!important;padding:8px 9px!important;border-radius:10px!important;background:color-mix(in srgb,var(--surface2) 76%,transparent)!important;}
body.jb-app-v15 .jb-empty-trust-item strong{display:block!important;font-size:9.8px!important;line-height:1.3!important;}
body.jb-app-v15 .jb-empty-trust-item span{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:8.9px!important;line-height:1.4!important;}

body.jb-app-v15 .jb-bubble ul,body.jb-app-v15 .jb-bubble ol{margin:.52rem 0 .68rem 1.25rem!important;padding:0!important;}
body.jb-app-v15 .jb-bubble li{margin:.32rem 0!important;padding-left:.12rem!important;}
body.jb-app-v15 .jb-table-wrap{margin:.75rem 0 1rem!important;border-color:color-mix(in srgb,var(--line) 90%,var(--blue))!important;box-shadow:0 5px 18px rgba(16,37,63,.04)!important;}
body.jb-app-v15 .jb-table th{font-size:11.5px!important;letter-spacing:-.01em!important;background:color-mix(in srgb,var(--blue) 5%,var(--surface2))!important;}
body.jb-app-v15 .jb-table td{font-size:11.5px!important;background:var(--surface)!important;}
body.jb-app-v15 .jb-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface2) 56%,var(--surface))!important;}
body.jb-app-v15 .jb-response-callout{position:relative!important;margin:.75rem 0!important;padding:9px 11px 9px 33px!important;border-radius:11px!important;border:1px solid var(--line)!important;background:var(--surface2)!important;font-size:11.5px!important;line-height:1.55!important;}
body.jb-app-v15 .jb-response-callout::before{position:absolute!important;left:10px!important;top:9px!important;width:16px!important;height:16px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:9px!important;font-weight:900!important;content:'i';}
body.jb-app-v15 .jb-callout-verify{border-color:color-mix(in srgb,#d97706 30%,var(--line))!important;background:color-mix(in srgb,#f59e0b 6%,var(--surface))!important;}
body.jb-app-v15 .jb-callout-verify::before{background:color-mix(in srgb,#f59e0b 14%,var(--surface))!important;color:#a05a00!important;content:'!';}
body.jb-app-v15 .jb-callout-safety{border-color:color-mix(in srgb,var(--red) 28%,var(--line))!important;background:color-mix(in srgb,var(--red) 5%,var(--surface))!important;}
body.jb-app-v15 .jb-callout-safety::before{background:color-mix(in srgb,var(--red) 12%,var(--surface))!important;color:var(--red)!important;content:'!';}
body.jb-app-v15 .jb-callout-next{border-color:color-mix(in srgb,var(--blue) 26%,var(--line))!important;background:color-mix(in srgb,var(--blue) 4%,var(--surface))!important;}
body.jb-app-v15 .jb-callout-next::before{background:color-mix(in srgb,var(--blue) 10%,var(--surface))!important;color:var(--blue)!important;content:'→';}
body.jb-app-v15 .jb-callout-info::before{background:color-mix(in srgb,var(--blue) 10%,var(--surface))!important;color:var(--blue)!important;}

body.jb-app-v15 .jb-answer-trust{margin:5px 0 1px!important;padding:7px 8px!important;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important;color:var(--muted)!important;}
body.jb-app-v15 .jb-answer-trust-main{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex:1 1 360px!important;}
body.jb-app-v15 .jb-answer-trust-badge{flex:none!important;padding:3px 6px!important;border-radius:999px!important;background:color-mix(in srgb,var(--blue) 6%,var(--surface2))!important;color:var(--text)!important;font-size:9px!important;font-weight:760!important;white-space:nowrap!important;}
body.jb-app-v15 .jb-answer-trust[data-tone="verify"] .jb-answer-trust-badge,body.jb-app-v15 .jb-answer-trust[data-tone="attention"] .jb-answer-trust-badge{background:color-mix(in srgb,#f59e0b 9%,var(--surface2))!important;}
body.jb-app-v15 .jb-answer-trust-note{font-size:9px!important;line-height:1.4!important;}
body.jb-app-v15 .jb-answer-trust-actions{display:flex!important;align-items:center!important;gap:2px!important;flex-wrap:wrap!important;}
body.jb-app-v15 .jb-answer-trust-actions button{border:0!important;background:transparent!important;color:var(--muted)!important;border-radius:7px!important;padding:5px 6px!important;font:inherit!important;font-size:9px!important;font-weight:720!important;cursor:pointer!important;}
body.jb-app-v15 .jb-answer-trust-actions button:hover{background:var(--surface2)!important;color:var(--text)!important;}
body.jb-app-v15 .jb-claim-guard{margin:8px 0 3px!important;padding:8px 10px!important;border:1px solid color-mix(in srgb,#f59e0b 25%,var(--line))!important;background:color-mix(in srgb,#f59e0b 5%,var(--surface))!important;}

@media(max-width:700px){
  body.jb-app-v15 .jb-empty-state{padding:18px 10px 14px!important;gap:10px!important;}
  body.jb-app-v15 .jb-empty-state-mark{width:104px!important;height:104px!important;}
  body.jb-app-v15 .jb-empty-state h2{font-size:1.3rem!important;}
  body.jb-app-v15 .jb-empty-state p{font-size:11px!important;}
  body.jb-app-v15 .jb-empty-trust{padding:10px!important;border-radius:13px!important;}
  body.jb-app-v15 .jb-empty-trust-grid{grid-template-columns:1fr!important;gap:4px!important;}
  body.jb-app-v15 .jb-empty-trust-item{padding:6px 8px!important;}
  body.jb-app-v15 .jb-answer-trust{align-items:flex-start!important;padding:7px 3px!important;}
  body.jb-app-v15 .jb-answer-trust-main{display:grid!important;gap:4px!important;flex-basis:100%!important;}
  body.jb-app-v15 .jb-answer-trust-actions{width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important;}
  body.jb-app-v15 .jb-answer-trust-actions::-webkit-scrollbar{display:none!important;}
  body.jb-app-v15 .jb-answer-trust-actions button{flex:0 0 auto!important;}
}


/* V1.5.4 — Home navigation, Java modal, definitive search rendering, full header title. */
body.jb-app-v15 .jb-sidebar-home{
  appearance:none!important;-webkit-appearance:none!important;border:0!important;background:transparent!important;color:inherit!important;
  padding:4px 5px!important;margin:-4px -5px!important;border-radius:9px!important;cursor:pointer!important;text-align:left!important;
}
body.jb-app-v15 .jb-sidebar-home:hover,body.jb-app-v15 .jb-sidebar-home:focus-visible{background:var(--surface)!important;}
body.jb-app-v15 .jb-sidebar-home:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 58%,transparent)!important;outline-offset:2px!important;}
body.jb-app-v15 .jb-history-summary{display:none!important;}
body.jb-app-v15 .jb-sidebar-manage-menu #selectSessionsBtn{display:flex!important;width:100%!important;justify-content:flex-start!important;}

/* Search: our SVG is the only search icon; native WebKit search decoration is disabled. */
body.jb-app-v15 .jb-sidebar-search-wrap{position:relative!important;}
body.jb-app-v15 .jb-sidebar-search-icon{
  position:static!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;
  width:17px!important;height:17px!important;flex:0 0 17px!important;margin:0!important;overflow:visible!important;
}
body.jb-app-v15 .jb-sidebar-search-icon svg{width:16px!important;height:16px!important;overflow:visible!important;}
body.jb-app-v15 .jb-history-search{-webkit-appearance:none!important;appearance:none!important;padding:8px 0!important;}
body.jb-app-v15 .jb-history-search::-webkit-search-decoration,
body.jb-app-v15 .jb-history-search::-webkit-search-cancel-button,
body.jb-app-v15 .jb-history-search::-webkit-search-results-button,
body.jb-app-v15 .jb-history-search::-webkit-search-results-decoration{-webkit-appearance:none!important;display:none!important;}
body.jb-app-v15 .jb-history-search::-ms-clear,body.jb-app-v15 .jb-history-search::-ms-reveal{display:none!important;width:0!important;height:0!important;}

/* Header uses the complete first-question title on desktop rather than the shortened history label. */
body.jb-app-v15 .jb-panel.jb-has-conversation .jb-head{height:auto!important;min-height:62px!important;align-items:flex-start!important;}
body.jb-app-v15 .jb-panel.jb-has-conversation .jb-head-main{align-items:flex-start!important;min-width:0!important;flex:1 1 auto!important;}
body.jb-app-v15 .jb-panel.jb-has-conversation .jb-brand{align-items:flex-start!important;min-width:0!important;}
body.jb-app-v15 .jb-panel.jb-has-conversation .jb-title h1{
  max-width:none!important;width:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;overflow-wrap:anywhere!important;word-break:normal!important;
  line-height:1.35!important;padding-top:5px!important;
}

/* Dedicated Java Electrindo new-conversation confirmation. */
body.jb-app-v15 .jb-new-chat-modal{background:rgba(8,16,30,.46)!important;backdrop-filter:blur(7px)!important;}
body.jb-app-v15 .jb-new-chat-dialog{
  position:relative!important;width:min(500px,100%)!important;padding:0!important;overflow:hidden!important;border-radius:20px!important;
  border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line))!important;background:var(--surface)!important;
  box-shadow:0 28px 90px rgba(8,24,48,.28)!important;
}
body.jb-app-v15 .jb-new-chat-dialog::before{content:''!important;display:block!important;height:4px!important;background:linear-gradient(90deg,var(--blue),color-mix(in srgb,var(--blue) 48%,var(--red)),var(--red))!important;}
body.jb-app-v15 .jb-new-chat-brand{display:flex!important;align-items:center!important;gap:10px!important;padding:17px 20px 6px!important;}
body.jb-app-v15 .jb-new-chat-brand img{width:42px!important;height:42px!important;object-fit:contain!important;filter:drop-shadow(0 8px 14px rgba(16,37,63,.12))!important;}
body.jb-app-v15 .jb-new-chat-brand strong{display:block!important;font-size:13px!important;letter-spacing:-.02em!important;}
body.jb-app-v15 .jb-new-chat-brand span{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:9.5px!important;font-weight:600!important;}
body.jb-app-v15 .jb-new-chat-dialog h2{margin:8px 20px 5px!important;font-size:18px!important;letter-spacing:-.035em!important;}
body.jb-app-v15 .jb-new-chat-dialog>p{margin:0 20px 12px!important;color:var(--muted)!important;font-size:11.5px!important;line-height:1.55!important;}
body.jb-app-v15 .jb-new-chat-context{margin:0 20px 16px!important;padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:color-mix(in srgb,var(--surface2) 74%,transparent)!important;color:var(--muted)!important;font-size:10.5px!important;line-height:1.5!important;}
body.jb-app-v15 .jb-new-chat-context ul{margin:0!important;padding-left:17px!important;}
body.jb-app-v15 .jb-new-chat-context li+li{margin-top:4px!important;}
body.jb-app-v15 .jb-new-chat-dialog .jb-confirm-actions{margin:0!important;padding:13px 20px 18px!important;border-top:1px solid var(--line)!important;background:color-mix(in srgb,var(--surface2) 40%,var(--surface))!important;}
body.jb-app-v15 .jb-new-chat-dialog .jb-confirm-actions .btn{min-height:38px!important;border-radius:10px!important;font-size:11px!important;}
body.jb-app-v15.jb-new-conversation-open{overflow:hidden!important;}

body.jb-app-v15 .jb-new-chat-dialog #newConversationConfirmBtn{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;box-shadow:none!important;}
body.jb-app-v15 .jb-new-chat-dialog #newConversationConfirmBtn:hover{background:color-mix(in srgb,var(--blue) 88%,#000)!important;}
body.jb-app-v15 .jb-new-chat-dialog #newConversationCancelBtn{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:none!important;}

@media(max-width:700px){
  body.jb-app-v15 .jb-panel.jb-has-conversation .jb-title h1{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;padding-top:2px!important;}
  body.jb-app-v15 .jb-new-chat-modal{place-items:end center!important;padding:8px!important;}
  body.jb-app-v15 .jb-new-chat-dialog{width:100%!important;border-radius:18px 18px 14px 14px!important;}
  body.jb-app-v15 .jb-new-chat-brand{padding:15px 16px 4px!important;}
  body.jb-app-v15 .jb-new-chat-dialog h2{margin-inline:16px!important;}
  body.jb-app-v15 .jb-new-chat-dialog>p{margin-inline:16px!important;}
  body.jb-app-v15 .jb-new-chat-context{margin-inline:16px!important;}
  body.jb-app-v15 .jb-new-chat-dialog .jb-confirm-actions{padding:12px 16px 16px!important;}
}


/* V1.5.4 — single-surface composer + structured response intelligence foundation. */
body.jb-app-v15 .jb-compose-shell{
  min-height:60px!important;padding:8px 9px!important;border:1px solid color-mix(in srgb,var(--line) 94%,transparent)!important;border-radius:24px!important;
  background:var(--surface)!important;box-shadow:0 7px 24px rgba(15,23,42,.075)!important;
}
body.jb-app-v15 .jb-compose-shell:focus-within{
  border-color:color-mix(in srgb,var(--blue) 42%,var(--line))!important;box-shadow:0 8px 26px rgba(15,23,42,.08),0 0 0 2px color-mix(in srgb,var(--blue) 7%,transparent)!important;
}
/* Kill the legacy inner pill. The shell above is the only visual composer surface. */
body.jb-app-v15 .jb-compose-row,
body.jb-app-v15 .jb-compose-row:focus-within{
  min-height:44px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
}
body.jb-app-v15 .jb-compose-row textarea,
body.jb-app-v15 .jb-compose-row textarea:hover,
body.jb-app-v15 .jb-compose-row textarea:focus,
body.jb-app-v15 .jb-compose-row textarea:focus-visible{
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
}
body.jb-app-v15 .jb-file-btn,body.jb-app-v15 #sendBtn{position:relative!important;z-index:1!important;}

body.jb-app-v15 .jb-answer-trust-main{flex-wrap:wrap!important;}
body.jb-app-v15 .jb-answer-trust-source{
  display:inline-flex!important;align-items:center!important;min-height:20px!important;padding:3px 7px!important;border:1px solid color-mix(in srgb,var(--line) 88%,transparent)!important;
  border-radius:999px!important;background:var(--surface)!important;color:var(--muted)!important;font-size:9px!important;font-weight:700!important;white-space:nowrap!important;
}
body.jb-app-v15 .jb-answer-trust[data-source-mode="internal"] .jb-answer-trust-source{color:color-mix(in srgb,var(--blue) 82%,var(--text))!important;background:color-mix(in srgb,var(--blue) 5%,var(--surface))!important;}
body.jb-app-v15 .jb-answer-trust[data-source-mode="general"] .jb-answer-trust-source,
body.jb-app-v15 .jb-answer-trust[data-source-mode="dynamic_external"] .jb-answer-trust-source{color:#9a5b00!important;background:color-mix(in srgb,#f59e0b 7%,var(--surface))!important;border-color:color-mix(in srgb,#f59e0b 24%,var(--line))!important;}

body.jb-app-v15 .jb-fact-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin:8px 0 14px!important;
}
body.jb-app-v15 .jb-fact-grid .jb-fact-item{
  margin:0!important;padding:9px 10px!important;border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;border-radius:11px!important;background:color-mix(in srgb,var(--surface2) 58%,transparent)!important;
  font-size:12px!important;line-height:1.45!important;
}
body.jb-app-v15 .jb-fact-grid .jb-fact-item strong{display:block!important;margin-bottom:2px!important;color:var(--text)!important;font-size:10px!important;letter-spacing:.01em!important;}
body.jb-app-v15 .jb-verification-list{
  list-style:none!important;margin:8px 0 14px!important;padding:0!important;display:grid!important;gap:5px!important;
}
body.jb-app-v15 .jb-verification-list li{position:relative!important;margin:0!important;padding:7px 9px 7px 29px!important;border-radius:10px!important;background:color-mix(in srgb,var(--surface2) 52%,transparent)!important;}
body.jb-app-v15 .jb-verification-list li::before{content:'✓'!important;position:absolute!important;left:10px!important;top:7px!important;color:var(--blue)!important;font-weight:900!important;}
body.jb-app-v15 .jb-message.bot .jb-bubble>ol{counter-reset:jb-step!important;list-style:none!important;margin:9px 0 14px!important;padding:0!important;display:grid!important;gap:6px!important;}
body.jb-app-v15 .jb-message.bot .jb-bubble>ol>li{counter-increment:jb-step!important;position:relative!important;margin:0!important;padding:8px 9px 8px 34px!important;border-radius:10px!important;background:color-mix(in srgb,var(--surface2) 46%,transparent)!important;}
body.jb-app-v15 .jb-message.bot .jb-bubble>ol>li::before{content:counter(jb-step)!important;position:absolute!important;left:9px!important;top:8px!important;width:18px!important;height:18px!important;border-radius:6px!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--blue) 9%,var(--surface2))!important;color:var(--blue)!important;font-size:9px!important;font-weight:850!important;}

@media(max-width:700px){
  body.jb-app-v15 .jb-compose-shell{min-height:56px!important;padding:7px!important;border-radius:19px!important;}
  body.jb-app-v15 .jb-fact-grid{grid-template-columns:1fr!important;}
  body.jb-app-v15 .jb-answer-trust-source{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
}

/* V1.6.0 — context-aware knowledge + verified external-source presentation. */
body.jb-app-v15 .jb-answer-trust[data-source-mode="web"] .jb-answer-trust-source{
  color:#075f55!important;background:color-mix(in srgb,#0f9f8d 8%,var(--surface))!important;border-color:color-mix(in srgb,#0f9f8d 26%,var(--line))!important;
}
body.jb-app-v15 .jb-inline-sources-body a[data-source-type="web"]{
  position:relative!important;padding-left:12px!important;border-left:2px solid color-mix(in srgb,#0f9f8d 54%,var(--line))!important;
}
body.jb-app-v15 .jb-source-marker{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:24px!important;height:19px!important;margin:0 2px!important;padding:0 5px!important;
  border:1px solid color-mix(in srgb,#0f9f8d 28%,var(--line))!important;border-radius:999px!important;background:color-mix(in srgb,#0f9f8d 7%,var(--surface))!important;
  color:#087466!important;font-size:9px!important;font-weight:850!important;line-height:1!important;vertical-align:baseline!important;
}
body.jb-dark.jb-app-v15 .jb-answer-trust[data-source-mode="web"] .jb-answer-trust-source,
body.jb-dark.jb-app-v15 .jb-source-marker{color:#7be0d3!important;}
