.table-widget{
  background: var(--etw-bg);
  border: 1px solid var(--etw-border);
  border-radius: var(--etw-radius);
  padding: var(--etw-pad);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.table-widget .dataTables_wrapper{
  color: var(--etw-row-text);
}

.table-widget table.dataTable{
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--etw-surface);
}

.table-widget table.dataTable thead th{
  background: var(--etw-header-bg);
  color: var(--etw-header-text);
  border-bottom: 1px solid var(--etw-border) !important;
  font-weight: 600;
  padding: 12px 14px;
}

.table-widget table.dataTable tbody td{
  color: var(--etw-row-text);
  border-bottom: 1px solid var(--etw-border);
  padding: 12px 14px;
  vertical-align: top;
}

.table-widget table.dataTable tbody tr:hover td{
  background: var(--etw-hover-bg);
}

.table-widget table.dataTable.etw-striped tbody tr:nth-child(even) td{
  background: var(--etw-stripe-bg);
}

.table-widget table.dataTable.etw-compact thead th,
.table-widget table.dataTable.etw-compact tbody td{
  padding: 8px 10px;
}

.table-widget .dataTables_filter input,
.table-widget .dataTables_length select{
  border: 1px solid var(--etw-border);
  border-radius: 10px;
  padding: 8px 10px;
  background: var(--etw-surface);
  color: var(--etw-row-text);
  outline: none;
}

.table-widget .dataTables_filter input:focus,
.table-widget .dataTables_length select:focus{
  border-color: var(--etw-accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.20);
}

.table-widget .dataTables_paginate .paginate_button{
  border: 1px solid var(--etw-border) !important;
  background: var(--etw-surface) !important;
  border-radius: 10px;
  margin: 0 2px;
  padding: 6px 10px !important;
  color: var(--etw-row-text) !important;
}

.table-widget .dataTables_paginate .paginate_button.current,
.table-widget .dataTables_paginate .paginate_button:hover{
  border-color: var(--etw-accent) !important;
  background: rgba(37,99,235,0.10) !important;
}

.table-widget .dataTables_paginate .paginate_button.disabled{
  opacity: 0.5;
  cursor: default !important;
}

.table-widget a.etw-link{
  color: var(--etw-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.table-widget a.etw-link:hover{
  color: var(--etw-accent);
}

.table-widget .etw-notice{
  padding: 12px 14px;
  border: 1px dashed var(--etw-border);
  border-radius: var(--etw-radius);
  color: var(--etw-row-text);
  background: var(--etw-surface);
}

@media (max-width: 768px){
  .table-widget{
    padding: 12px;
  }
  .table-widget .dataTables_filter,
  .table-widget .dataTables_length{
    float: none !important;
    text-align: left !important;
    margin: 0 0 10px;
  }
  .table-widget .dataTables_info,
  .table-widget .dataTables_paginate{
    float: none !important;
    text-align: left !important;
  }
}

/* Dropdown filters */
.table-widget th .etw-filter-wrap{margin-top:8px}
.table-widget select.etw-col-filter{
  width:100%;
  min-height:34px;
  padding:6px 8px;
  border:1px solid var(--etw-border);
  border-radius:10px;
  background:var(--etw-surface);
  color:var(--etw-row-text);
  outline:none;
}
.table-widget select.etw-col-filter:focus{
  border-color: var(--etw-accent);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.20);
}

/* 20 accent presets (apply by adding class to the widget wrapper) */
.etw-style-1  { --etw-accent:#2563eb; }
.etw-style-2  { --etw-accent:#16a34a; }
.etw-style-3  { --etw-accent:#dc2626; }
.etw-style-4  { --etw-accent:#9333ea; }
.etw-style-5  { --etw-accent:#0d9488; }
.etw-style-6  { --etw-accent:#f59e0b; }
.etw-style-7  { --etw-accent:#db2777; }
.etw-style-8  { --etw-accent:#4b5563; }
.etw-style-9  { --etw-accent:#0284c7; }
.etw-style-10 { --etw-accent:#65a30d; }
.etw-style-11 { --etw-accent:#b45309; }
.etw-style-12 { --etw-accent:#7c3aed; }
.etw-style-13 { --etw-accent:#0891b2; }
.etw-style-14 { --etw-accent:#be123c; }
.etw-style-15 { --etw-accent:#1e293b; }
.etw-style-16 { --etw-accent:#22c55e; }
.etw-style-17 { --etw-accent:#e11d48; }
.etw-style-18 { --etw-accent:#3b82f6; }
.etw-style-19 { --etw-accent:#a855f7; }
.etw-style-20 { --etw-accent:#14b8a6; }

/* Row hover zoom (subtle) */
.table-widget table.dataTable tbody tr{
  transition: transform .15s ease, background-color .15s ease;
  transform-origin: center;
}
.table-widget table.dataTable tbody tr:hover{
  transform: scale(1.01);
}


/* State filter UI */
.table-widget .etw-topbar{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin-bottom:10px;
}
.table-widget .etw-state-filter-label{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
}
.table-widget .etw-state-filter{
    padding:8px 10px;
    border-radius:8px;
    border:1px solid var(--etw-border, rgba(0,0,0,.15));
    background: var(--etw-surface, #fff);
    color: var(--etw-row-text, #111);
    min-width: 160px;
}
