/* Chats drawer AI status rows, matching chat cards but coloured by
   actual Qore runtime state instead of the AI identity palette.
   Green: ONLINE/WORKING. Yellow: READY. Red: FAILED/OFFLINE/STOP. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row{
 position:relative!important;
 height:40px!important;
 min-height:40px!important;
 max-height:40px!important;
 padding:5px 12px 5px 14px!important;
 margin:0 0 8px!important;
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 gap:10px;
 border:0!important;
 border-radius:12px!important;
 background:var(--surface-2,#122033)!important;
 box-shadow:inset 0 0 0 1px var(--hairline,#1C2B3D)!important;
 color:#cbd6e2;
 overflow:hidden;
}
#drawer #drawerContent .drawer-ai-collapsed > a.qore-ai-runtime-row{
 margin-left:7px!important;
}
/* Preserve the full rounded outline mask from qura-top-fade.css,
   but use the live status colour in place of the generic orange. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row::before{
 background:var(--qore-ai-status,#7d8590)!important;
 opacity:.55!important;
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row.active::before{
 background:var(--qore-ai-status,#7d8590)!important;
 opacity:1!important;
 filter:none!important;
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-copy{
 min-width:0;
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 justify-content:center;
 align-items:stretch;
 gap:1px;
 overflow:hidden;
 white-space:nowrap;
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-copy > span:first-child{
 font-size:13.5px;
 line-height:16px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-meta{
 display:block;
 width:100%;
 max-width:100%;
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:9px;
 line-height:10px;
}
@media(max-width:700px){
 #drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-meta{
  font-size:8.5px;
  line-height:9px;
 }
}
/* Override older per-tone label rules (notably the "sleep" catchall).
   This keeps READY yellow and FAILED red without mislabelling STOP. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .drawer-ai-status-label{
 color:var(--qore-ai-status,#7d8590)!important;
 font-size:inherit!important;
 font-weight:500!important;
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row:not(.active){
 background:var(--surface-2,#122033)!important;
 box-shadow:inset 0 0 0 1px var(--hairline,#1C2B3D)!important;
}
@media (hover:hover) and (pointer:fine){
 #drawer #drawerContent .nav-group > a.qore-ai-runtime-row:not(.active):hover{
  background:var(--surface-2,#122033)!important;
 }
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row[data-ai-live="1"]{
 background:
  radial-gradient(ellipse 84% 110% at 18% 50%,
   color-mix(in srgb,var(--qore-ai-status,#7d8590) 7%,transparent) 0%,
   transparent 82%),
  linear-gradient(116deg,
   color-mix(in srgb,var(--qore-ai-status,#7d8590) 12%,#1b2937) 0%,
   #152330 100%)!important;
 box-shadow:inset 0 1px 1px #d0e0ea24,
  inset 0 2px 4px #0006,
  inset 0 0 10px color-mix(in srgb,var(--qore-ai-status,#7d8590) 6%,transparent)!important;
 color:#f1f5fa;
}
/* Same solid AI symbol used in the Menu icon library, status-coloured. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-icon.qore-ai-runtime-icon svg{
 width:20px;
 height:20px;
 display:block;
 fill:color-mix(in srgb,var(--qore-ai-status,#7d8590) 25%,#091725);
 stroke:none;
 pointer-events:none;
 filter:drop-shadow(-.8px -.8px .45px #000e)
  drop-shadow(1px 1px .65px color-mix(in srgb,var(--qore-ai-status,#7d8590) 75%,#ecf2ff))
  drop-shadow(0 0 1.3px color-mix(in srgb,var(--qore-ai-status,#7d8590) 42%,transparent));
}
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row[data-ai-live="1"] .nav-icon.qore-ai-runtime-icon svg{
 filter:drop-shadow(-.8px -.8px .45px #000e)
  drop-shadow(1px 1px .65px color-mix(in srgb,var(--qore-ai-status,#7d8590) 90%,#ecf2ff))
  drop-shadow(0 0 2.5px color-mix(in srgb,var(--qore-ai-status,#7d8590) 65%,transparent));
}

/* Andre AI’er only: status is a tiny secondary indicator, not a heading.
   Name, border/icon status colours and the AI card layout remain unchanged. */
#drawer #drawerContent .drawer-ai-collapsed > a.qore-ai-runtime-row .nav-meta{
 font-size:6.5px;
 line-height:8px;
}
@media(max-width:700px){
 #drawer #drawerContent .drawer-ai-collapsed > a.qore-ai-runtime-row .nav-meta{
  font-size:6px;
  line-height:7px;
 }
}

/* Andre AI’er only: 30px compact rows; text 16px + 7-8px with a
   1px interline gap, leaving roughly 2-3px above and below. */
#drawer #drawerContent .drawer-ai-collapsed > a.qore-ai-runtime-row{
 height:30px!important;
 min-height:30px!important;
 max-height:30px!important;
 padding-top:2px!important;
 padding-bottom:2px!important;
 margin-bottom:5px!important;
}

/* Andre AI'er: status-coloured edge always 100% visible, whether selected
   or not. Keep the exact rounded edge mask and original status palette. */
#drawer #drawerContent .drawer-ai-collapsed > a.qore-ai-runtime-row::before{
 opacity:1!important;
}
/* Only ONLINE/WORKING runtime statuses can illuminate the button interior.
   READY, FAILED, OFFLINE, STOP and RETRYING remain dark, even if selected.
   The coloured AI icon still conveys status, without a card-wide glow. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row:not([data-ai-live="1"]){
 background:var(--surface-2,#122033)!important;
 box-shadow:inset 0 0 0 1px var(--hairline,#1C2B3D)!important;
}

/* All AI runtime rows, including ONLINE/WORKING, match Andre AI'er's 30px height. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row{
 height:30px!important;
 min-height:30px!important;
 max-height:30px!important;
 padding-top:2px!important;
 padding-bottom:2px!important;
 margin-bottom:5px!important;
}
/* Keep the small status caption legible within the compact row. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-meta{
 font-size:6.5px;
 line-height:8px;
}
@media(max-width:700px){
 #drawer #drawerContent .nav-group > a.qore-ai-runtime-row .nav-meta{
  font-size:6px;
  line-height:7px;
 }
}
/* Not online: matte, recessed neutral AI symbol. Status edge and label remain coloured. */
#drawer #drawerContent .nav-group > a.qore-ai-runtime-row:not([data-ai-live="1"]) .nav-icon.qore-ai-runtime-icon svg{
 fill:#091725!important;
 filter:drop-shadow(-.8px -.8px .45px #000e)
  drop-shadow(1px 1px .45px rgba(154,178,197,.35))!important;
}
