/* 16.24.0 ARTIFACTS under the routines beside a chat (hub/ui/artifacts.js, prefix afx): one compact row per item */
.afx { display:flex; flex-direction:column; min-height:0; flex:0 1 auto; max-height:46%; border-top:1px solid var(--line); }
.brtp .afx { max-height:44%; }
.afx > .hd.afx-head { display:flex; align-items:center; gap:8px; padding:6px 12px; border-bottom:1px solid var(--line); font-size:11px; letter-spacing:.18em; color:var(--acc); }
.afx-head .btn.s { letter-spacing:.08em; padding:3px 9px; }
.afx-new { font-size:9.5px; letter-spacing:.1em; color:var(--bg, #04121a); background:var(--acc); border-radius:8px; padding:1px 6px; }
.afx-list { overflow:auto; min-height:0; padding:2px 0; }
.afx-empty { padding:10px 12px; line-height:1.45; }
.afx-row { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:6px; padding:5px 8px 5px 12px; border-bottom:1px solid rgba(94,234,212,.08); min-width:0; }
.afx-row[data-new='1'] { background:rgba(94,234,212,.06); }
.afx-ic { color:var(--acc); font-size:15px; line-height:1; text-align:center; }
.afx-row[data-kind='pdf'] .afx-ic { color:#ffb721; } .afx-row[data-kind='image'] .afx-ic { color:#9ad1ff; } .afx-row[data-kind='other'] .afx-ic, .afx-row[data-kind='sheet'] .afx-ic { color:var(--dim); }
.afx-main { display:grid; gap:1px; min-width:0; background:none; border:0; padding:0; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.afx-main:hover .afx-tt, .afx-main:focus-visible .afx-tt { color:var(--acc); text-decoration:underline; }
.afx-t { display:flex; align-items:center; gap:6px; min-width:0; }
.afx-tt { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; font-weight:600; font-size:12.5px; }
.afx-nb { flex:none; font-size:9px; letter-spacing:.1em; color:var(--acc); border:1px solid var(--acc); border-radius:7px; padding:0 5px; }
.afx-sub { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.afx-acts { display:flex; align-items:center; gap:4px; flex:none; }
.afx-acts .btn.s, .afx-acts .menu > summary.btn.s { padding:2px 7px; font-size:10px; letter-spacing:.06em; }
/* the narrow right column: OPEN is the row itself, DOWNLOAD and MORE are icons; the dialog shows all three in words */
.brt-dock .afx-open, .brtp .afx-open { display:none; }
.afx-dli { display:none; }
.brt-dock .afx-dl, .brtp .afx-dl { padding:2px 7px; font-size:13px; line-height:1; text-decoration:none; }
.brt-dock .afx-dlt, .brtp .afx-dlt { display:none; }
.brt-dock .afx-dli, .brtp .afx-dli { display:inline; }
.brt-dock .afx-acts .menu > summary.btn.s, .brtp .afx-acts .menu > summary.btn.s { padding:2px 7px; font-size:13px; line-height:1; letter-spacing:0; }
.afx-more { display:block; width:100%; background:none; border:0; color:var(--acc); padding:7px 12px; text-align:left; cursor:pointer; letter-spacing:.08em; }
.afx-more:hover { text-decoration:underline; }
.dlg.afx-dlg { width:min(760px,96vw); }
.afx-dlg .afx-dlist { max-height:min(60vh,560px); border:1px solid var(--line); border-radius:6px; }
.afx-dlg .afx-kinds { margin:4px 0; }
.afx-dlg .filter-bar input { flex:1; min-width:0; }
@media (max-width:600px) {
  .afx-row { grid-template-columns:20px minmax(0,1fr); }
  .afx-acts { grid-column:2; justify-content:flex-start; }
  .afx-dlg .afx-open { display:inline-flex; }
}
/* LAST OUTPUT on a routine card (routines.js brtCard) */
.brt-out { display:flex; align-items:center; gap:6px; min-width:0; }
.brt-out button { background:none; border:0; padding:0; color:var(--acc); font:inherit; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; text-align:left; }
.brt-out button:hover { text-decoration:underline; }
.afx-pages { display:flex; flex-wrap:wrap; gap:5px; margin:10px 0; }
.afx-pages [aria-current="page"] { border-color:var(--acc); color:var(--acc); }
.afx-dlg .filter-bar { display:flex; flex-wrap:wrap; gap:6px; }
.afx-dlg .filter-bar input[type="date"], .afx-dlg .filter-bar select { min-width:130px; }
