/* Base */
.tsat-table-wrap{ overflow:auto; border:1px solid #e5e7eb; border-radius:12px; }
.tsat-toolbar{ padding:10px 12px; border-bottom:1px solid #e5e7eb; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.tsat-search{ width:260px; max-width:100%; padding:8px 10px; border:1px solid #e5e7eb; border-radius:8px; font-size:14px; }
.tsat-badge{ background:#eef2ff; color:#3730a3; border-radius:999px; padding:4px 10px; font-size:12px; }
.tsat-table{ width:100%; border-collapse:separate; border-spacing:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.tsat-table thead th{ position:sticky; top:0; background:#fafafa; font-weight:600; font-size:14px; padding:10px 12px; text-align:left; border-bottom:1px solid #e5e7eb; user-select:none; }
.tsat-table tbody td{ padding:10px 12px; border-bottom:1px solid #f1f5f9; font-size:14px; vertical-align:middle; }
.tsat-table tbody tr:hover{ background:#f8fafc; }
.tsat-z-name{ text-decoration:none; color:#111827; }
.tsat-z-name:hover{ text-decoration:underline; }
.tsat-note{ color:#6b7280; font-size:12px; padding:8px 12px; }
.tsat-color{ display:inline-block; padding:2px 8px; border:1px dashed #cbd5e1; border-radius:999px; font-size:12px; }

/* Widget */
.tsat-widget{ border:1px solid #e5e7eb; border-radius:12px; padding:10px; }
.tsat-widget-title{ font-weight:700; margin-bottom:8px; }
.tsat-widget-list{ list-style:none; margin:0; padding:0; }
.tsat-widget-list li{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 6px; border-bottom:1px dashed #e5e7eb; }
.tsat-widget-list li.sub{ justify-content:flex-start; gap:16px; color:#475569; font-size:13px; }
.tsat-widget-list li:last-child{ border-bottom:none; }
.tsat-widget-list .name{ flex:1; margin:0 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tsat-archive-list{ list-style:none; padding-left:0; }
.tsat-archive-list li{ padding:6px 0; border-bottom:1px dashed #e5e7eb; }
.tsat-archive-list a{ text-decoration:none; }

/* Chart */
.tsat-chart-wrap{ border:1px solid #e5e7eb; padding:12px; border-radius:12px; margin:12px 0; }
.tsat-chart-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:8px; }
.tsat-chart-toolbar button{ padding:6px 10px; border:1px solid #e5e7eb; background:#fff; border-radius:8px; cursor:pointer; }
.tsat-chart-toolbar button:hover{ background:#f3f4f6; }
.tsat-legend label{ margin-left:8px; font-size:14px; }

/* Dark */
.tsat-dark, .tsat-dark-root .tsat-table-wrap, .tsat-dark-root .tsat-widget, .tsat-dark-root .tsat-chart-wrap{
  background:#0f172a; color:#e5e7eb; border-color:#1f2937;
}
.tsat-dark .tsat-table thead th, .tsat-dark-root .tsat-table thead th{ background:#111827; border-bottom-color:#1f2937; color:#e5e7eb; }
.tsat-dark .tsat-table tbody td, .tsat-dark-root .tsat-table tbody td{ border-bottom-color:#1f2937; color:#e5e7eb; }
.tsat-dark .tsat-z-name, .tsat-dark-root .tsat-z-name{ color:#e5e7eb; }
.tsat-dark .tsat-chart-toolbar button{ background:#0f172a; color:#e5e7eb; border-color:#1f2937; }
.tsat-dark .tsat-chart-toolbar button:hover{ background:#111827; }
