.table{
  background:var(--md-neutral-background-1-rest); display:flex; flex-direction:column; overflow:auto;
}
.table-title{ font-family:var(--font-display); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:28px; color:var(--md-neutral-foreground-1-rest); outline:none; margin-bottom:16px; }
.table-title:empty{ display:none; }
.table-render{ position:relative; overflow:visible; }
.table-body-wrap{ display:flex; align-items:stretch; min-height:0; }
.table-body-wrap .table-render{ min-width:0; }
.table-body-wrap:has(.data-table[data-rows-hug="false"]){ flex:1; }
.table-body-wrap:has(.data-table[data-rows-hug="false"]) .table-render{ flex:1; height:100%; }
.table-col-insert-zone{ flex:0 0 28px; width:28px; padding-left:4px; display:flex; }
.table-insert-col-btn, .table-insert-row-btn{
  flex:1; display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  border:1px dashed var(--ui-border); border-radius:6px; background:none; color:var(--ui-muted);
  cursor:pointer; opacity:0; pointer-events:none; transition:opacity .12s ease;
}
.table-col-insert-zone.armed .table-insert-col-btn, .table-row-insert-zone.armed .table-insert-row-btn{ opacity:1; pointer-events:auto; }
.table-insert-col-btn:hover, .table-insert-row-btn:hover{ border-color:var(--ui-accent); color:var(--ui-accent); background:rgba(0,64,222,0.06); }
.table-row-insert-zone{ height:28px; margin-top:4px; }
.data-table{ border-collapse:collapse; width:100%; table-layout:fixed; }
.data-table[data-cols-fill="false"]{ width:auto; }
.data-table th, .data-table td{ border:1px solid transparent; border-bottom:1px solid var(--md-neutral-stroke-1-rest); padding:10px 12px; text-align:left; vertical-align:top; }
.data-table th{ background:none; }
.data-table tbody tr:last-child td{ border-bottom:none; }
.table-cell{ font-family:var(--font-sans); font-weight:var(--font-weight-light); font-size:var(--md-typography-font-size-500); line-height:1.4; color:var(--md-neutral-foreground-1-rest); outline:none; min-width:24px; word-wrap:break-word; overflow-wrap:break-word; }
.data-table th .table-cell{ font-weight:var(--font-weight-bold); color:var(--md-color-grey-black); font-family:var(--font-display) }
.data-table .cell-sel-top{ border-top:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-bottom{ border-bottom:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-left{ border-left:2px solid var(--ui-accent) !important; }
.data-table .cell-sel-right{ border-right:2px solid var(--ui-accent) !important; }
.table-format-row th{ padding:2px 12px 4px; border-bottom:none; }
.table-col-format-trigger{
  display:flex; align-items:center; justify-content:center; width:100%; height:20px; border:none;
  border-radius:4px; background:none; padding:0; font-family:var(--font-sans); font-size:11px;
  font-weight:var(--font-weight-bold); letter-spacing:0.02em; color:var(--ui-muted); cursor:pointer;
}
.table-col-format-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-col-format-trigger.selected{ color:var(--ui-accent); }
.table-row-index-cell{ border:none !important; background:none !important; width:36px; padding:10px 4px !important; text-align:center; }
.table-row-select-trigger{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:none;
  border-radius:5px; background:none; padding:0; font-family:var(--font-sans); font-size:var(--md-typography-font-size-200);
  color:var(--ui-muted); cursor:pointer;
}
.table-row-select-trigger:hover{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-row-select-trigger.selected{ color:var(--ui-accent); font-weight:var(--font-weight-bold); }
.table-axis-toolbar{
  position:fixed; z-index:1000; display:none; align-items:center; gap:2px; background:var(--md-color-grey-white); border-radius:10px;
  padding:4px; box-shadow:var(--shadow-popover);
}
.table-axis-toolbar.open{ display:flex; }
.table-axis-group{ position:relative; display:flex; align-items:center; gap:2px; }
.table-axis-toolbar:not(.axis-col) .table-axis-format-group,
.table-axis-toolbar:not(.axis-col) .table-axis-fill-group{ display:none; }
.table-axis-toolbar:not(.axis-row) .table-axis-rowheight-group{ display:none; }
.table-axis-toolbar:not(.axis-col) .table-axis-insert-col-left,
.table-axis-toolbar:not(.axis-col) .table-axis-insert-col-right{ display:none; }
.table-axis-toolbar:not(.axis-row) .table-axis-insert-row-above,
.table-axis-toolbar:not(.axis-row) .table-axis-insert-row-below{ display:none; }
.table-axis-toolbar > button, .table-axis-group > button{
  width:26px; height:26px; border:none; border-radius:6px; background:transparent; color:var(--ui-muted);
  font-size:var(--md-typography-font-size-200); cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.table-axis-toolbar > button:hover, .table-axis-group > button:hover{ background:var(--md-neutral-background-2-rest); color:var(--md-neutral-foreground-1-rest); }
.table-axis-toolbar > button:disabled, .table-axis-group > button:disabled{ opacity:0.35; cursor:not-allowed; }
.table-axis-toolbar > button:disabled:hover, .table-axis-group > button:disabled:hover{ background:transparent; }
.table-axis-format-btn{ font-size:11px; font-weight:var(--font-weight-bold); }
.table-axis-fill-btn.is-active, .table-axis-rowheight-btn.is-active{ background:var(--md-neutral-background-2-rest); color:var(--ui-accent); }
.table-axis-format-menu{ left:0; right:auto; }
.table-axis-format-menu button, .table-axis-insert-menu button{ white-space:nowrap; }
.table-axis-format-menu button i.fa-check{ margin-left:auto; visibility:hidden; }
.table-axis-format-menu button.is-active i.fa-check{ visibility:visible; color:var(--ui-accent); }
.table-axis-format-opt-icon{ display:inline-flex; width:16px; justify-content:center; font-weight:var(--font-weight-bold); font-size:11px; color:var(--ui-muted); }
.data-table[data-rows-hug="false"]{ height:100%; }
.table[data-size="S"] .table-cell{ font-size:var(--md-typography-font-size-400); }
.table[data-size="S"] .data-table th, .table[data-size="S"] .data-table td{ padding:6px 8px; }
.icon-select-trigger.table-status-trigger{ width:auto; height:auto; border:none; background:none; padding:0; justify-content:flex-start; }
.table-status-trigger .tag{ cursor:pointer; }
.icon-select-trigger.table-step-trigger{ width:auto; height:auto; border:none; background:none; padding:0; }
.table-step-cell{ padding:0; }
.table-step-cell .icon-select{ display:flex; padding-top: 4px; }
.table-step-stack{ display:flex; flex-direction:column; align-items:stretch; gap:2px; }
.table-step-legend{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; flex-shrink:0; padding-top:8px; }
.table-step-legend:empty{ display:none; }
.table-step-legend-item{ flex:0 0 auto; width:auto; }
.table-step-cell .list-item-label.table-cell{ font-size:var(--md-typography-font-size-500); line-height:28px; }
.table[data-size="S"] .table-step-cell .list-item-label.table-cell{ font-size:var(--md-typography-font-size-400); line-height:24px; }
.data-table .icon-select:has(.table-status-trigger) .icon-select-menu,
.data-table .icon-select:has(.table-step-trigger) .icon-select-menu,
.data-table .date-field-menu{ zoom:calc(1 / var(--zoom, 1)); }
.icon-select-option-dot{ display:inline-flex; width:16px; align-items:center; justify-content:center; flex-shrink:0; }
.icon-select-option-dot::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--dot-color); border:1px solid rgba(20,30,50,0.12); box-sizing:border-box; display:block; }
.data-table .date-field{ display:block; width:100%; }
.data-table .date-field .table-cell{
  display:block; width:100%; box-sizing:border-box; border:none; background:none; padding:0;
  margin:0; cursor:pointer; border-radius:6px;
}
.data-table .date-field .table-cell::placeholder{ color:var(--md-color-pink-600); opacity:1; }
.data-table .date-field .table-cell:placeholder-shown{
  display:inline-block; width:13ch;
  background:var(--md-color-pink-100); color:var(--md-color-pink-600); padding:4px 8px; border-radius:8px; font-size:var(--md-typography-font-size-400);
}

.ct-header-title{ display:flex; align-items:center; gap:6px; }
.ct-label-cell{ font-weight:var(--font-weight-bold); }
.ct-bool-cell{ display:flex; align-items:center; justify-content:center; width:100%; border:none; background:none; padding:2px 0; cursor:pointer; }
.ct-bool-cell i{ font-size:var(--md-typography-font-size-500); }
.ct-bool-cell[data-val="check"] i{ color:var(--md-brand-foreground-1-rest); }
.ct-bool-cell[data-val="xmark"] i{ color:var(--md-neutral-foreground-3-rest); }
.ct-semantic-cell{ display:flex; align-items:flex-start; justify-content:space-between; gap:6px; }
.ct-semantic-cell .table-cell{ color:inherit; }
.icon-select-trigger.ct-level-trigger{ position:relative; width:8px; height:8px; flex-shrink:0; margin-top:5px; border:none; border-radius:50%; background:var(--md-color-orange-700); padding:0; cursor:pointer; zoom:calc(1 / var(--zoom)); }
.icon-select-trigger.ct-level-trigger::after{ content:''; position:absolute; inset:-9px; border-radius:50%; }
.icon-select-trigger.ct-level-trigger:hover{ opacity:0.8; }
.icon-select:has(.ct-level-trigger) .icon-select-menu{
  zoom:calc(1 / var(--zoom));
  min-width:140px; padding:4px; gap:2px;
}
.icon-select:has(.ct-level-trigger) .icon-select-option{ padding:4px 6px; gap:0px; font-size:12px; }
.ct-legend-wrap{ flex-shrink:0; }
.ct-legend-wrap:empty{ display:none; }
.ct-legend-wrap:not(:empty){ padding:8px 12px 4px; }
.comparison-table.table{ overflow:visible; }
.ct-scroll-wrap{ display:flex; flex-direction:column; flex:1; min-height:0; overflow-y:auto; }
.ct-scroll-wrap > *{ flex-shrink:0; }
.comparison-table .table-body-wrap:has(.ct-data-table[data-rows-hug="false"]){ flex:1 0 auto; }
.ct-table-render thead{ position:sticky; top:0; z-index:1; background:var(--md-neutral-background-1-rest); }

