/* 公共模块的通用样式（源头 null53/gateway-common）。颜色取 --gw-* 变量，网关没定义时依次回退到
   shadcn 风格的 --foreground / --border / … 和固定颜色；变量名不一样的网关在自己的 app.css 里给 :root 定义 --gw-*。 */
.gw-common-panel{
  --gwc-fg:var(--gw-fg,var(--foreground,#1f2328));
  --gwc-muted:var(--gw-muted-fg,var(--muted-foreground,#5f6670));
  --gwc-border:var(--gw-border,var(--border,#e5e7eb));
  --gwc-surface:var(--gw-card,var(--card,var(--background,#fff)));
  /* 表头吸顶时要不透明，否则滚动的行会从底下透出来 */
  --gwc-head:var(--gw-table-header,var(--table-header,var(--card,var(--background,#f6f7f9))));
  --gwc-success:var(--gw-success,var(--success,#16a34a));
  --gwc-danger:var(--gw-danger,var(--destructive,#dc2626));
  --gwc-warning:var(--gw-warning,var(--warning,#d97706));
  --gwc-mono:var(--gw-mono,var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace));
  --gwc-radius:var(--gw-radius,12px);
  color:var(--gwc-fg);
}
.gw-common-panel[hidden]{display:none!important}
.gw-common-panel .gw-muted{color:var(--gwc-muted)}
.gw-common-panel .gw-mono{font-family:var(--gwc-mono);font-size:12.5px}
.gw-common-panel .gw-note{display:block;color:var(--gwc-muted);font-size:12.5px;font-weight:400;line-height:1.55;white-space:normal}
.gw-common-panel .gw-stack{display:flex;flex-direction:column;gap:2px;min-width:0}
.gw-common-panel .gw-stack small{color:var(--gwc-muted);font-size:12px;line-height:1.45}
.gw-common-panel .gw-error{margin:0;color:var(--gwc-danger);font-size:13px}
.gw-common-panel .gw-error[hidden]{display:none}

/* 状态小标签：success / danger / warning / muted。文字往前景色混一点（浅色主题里更深、深色主题里更亮），圆点用原色 */
.gw-pill{--gw-pill-c:var(--gwc-muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;font-weight:600;
  color:color-mix(in oklab,var(--gw-pill-c) 78%,var(--gwc-fg))}
.gw-pill::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gw-pill-c)}
.gw-pill-success{--gw-pill-c:var(--gwc-success)}
.gw-pill-danger{--gw-pill-c:var(--gwc-danger)}
.gw-pill-warning{--gw-pill-c:var(--gwc-warning)}
.gw-pill-muted{--gw-pill-c:var(--gwc-muted);color:var(--gwc-muted)}

/* 公共表格：表头吸顶（不透明背景 + 下边线），默认一行截断；.gw-wrap 的格子（及里面的 small）可以换行，
   .gw-break 长串（地址）可以在任意处换行（配合 GwCommon.breakable 在点号后插 <wbr>，优先在点号处断）。网关自己的 td/small 截断样式在这里压掉。外框（圆角边框的滚动区）由各模块给。 */
.gw-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.gw-common-panel .gw-table th,.gw-common-panel .gw-table td{padding:10px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--gwc-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-common-panel .gw-table thead th{position:sticky;top:0;z-index:2;height:auto;padding-top:10px;padding-bottom:10px;background:var(--gwc-head);color:var(--gwc-muted);font-size:12.5px;font-weight:600;border-bottom:0;box-shadow:inset 0 -1px 0 var(--gwc-border)}
.gw-common-panel .gw-table tbody tr:last-child td{border-bottom:0}
.gw-common-panel .gw-table td small{display:block;max-width:none;margin-top:0;overflow:visible;text-overflow:clip;white-space:normal}
.gw-common-panel .gw-table td.gw-wrap,.gw-common-panel .gw-table td.gw-wrap *{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.gw-common-panel .gw-table td.gw-wrap{line-height:1.5}
.gw-common-panel .gw-table td.gw-break{white-space:normal;overflow-wrap:anywhere;line-height:1.45;text-overflow:clip}
.gw-common-panel .gw-table tr.gw-empty td{padding:40px 12px;text-align:center;color:var(--gwc-muted);white-space:normal}
