/* V196 - Task Management Table UI final polish
   Scope: CSS override only for /tasks table. No business logic changes.
   Loaded after static/style.css to avoid old version conflicts. */

:root{
  --task-ui-ink:#111827;
  --task-ui-text:#1f2937;
  --task-ui-muted:#475569;
  --task-ui-line:#e5e7eb;
  --task-ui-soft:#f8fafc;
  --task-ui-blue:#2563eb;
  --task-ui-blue-soft:#dbeafe;
  --task-ui-shadow:0 10px 28px rgba(15,23,42,.055);
}

/* Make the task page read like the Regulatory report: white cards, clear lines, high contrast. */
.task-grid-card{
  background:#ffffff!important;
  border:1px solid #dbe5f2!important;
  border-radius:18px!important;
  box-shadow:var(--task-ui-shadow)!important;
  padding:16px!important;
  overflow:hidden!important;
}

.task-grid-toolbar,
.task-grid-toolbar-compact,
.task-grid-toolbar-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:0 0 14px!important;
  margin:0!important;
  background:#ffffff!important;
  border-bottom:1px solid #edf2f7!important;
}

.task-grid-pagebox{
  width:auto!important;
  max-width:480px!important;
  min-width:320px!important;
  padding:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:16px!important;
  background:#f8fbff!important;
  box-shadow:none!important;
}

.task-grid-pagebox .pager{
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.task-saas-table-wrap,
.data-grid-wrap.task-saas-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  margin-top:12px!important;
  border:1px solid #dbe5f2!important;
  border-radius:14px!important;
  background:#ffffff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.035)!important;
}

/* Base table */
#taskDataGrid.table-tasks,
#taskDataGrid.task-saas-table,
table#taskDataGrid{
  width:100%!important;
  min-width:1540px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  background:#ffffff!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  color:var(--task-ui-ink)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
}

/* Reliable column widths via colgroup */
#taskDataGrid .task-col-select{width:54px!important;min-width:54px!important;max-width:54px!important}
#taskDataGrid .task-col-id{width:76px!important;min-width:76px!important;max-width:76px!important}
#taskDataGrid .task-col-task{width:390px!important;min-width:390px!important;max-width:390px!important}
#taskDataGrid .task-col-type{width:145px!important;min-width:145px!important;max-width:145px!important}
#taskDataGrid .task-col-contract{width:118px!important;min-width:118px!important;max-width:118px!important}
#taskDataGrid .task-col-company{width:230px!important;min-width:230px!important;max-width:230px!important}
#taskDataGrid .task-col-province{width:125px!important;min-width:125px!important;max-width:125px!important}
#taskDataGrid .task-col-user{width:175px!important;min-width:175px!important;max-width:175px!important}
#taskDataGrid .task-col-date{width:122px!important;min-width:122px!important;max-width:122px!important}
#taskDataGrid .task-col-status{width:158px!important;min-width:158px!important;max-width:158px!important}
#taskDataGrid .task-col-actions{width:108px!important;min-width:108px!important;max-width:108px!important}

#taskDataGrid th,
#taskDataGrid td{
  display:table-cell!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
  border-bottom:1px solid var(--task-ui-line)!important;
  opacity:1!important;
  text-shadow:none!important;
}

#taskDataGrid thead th{
  height:48px!important;
  padding:13px 14px!important;
  background:#f8fafc!important;
  color:#111827!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-align:left!important;
}

#taskDataGrid tbody td{
  height:54px!important;
  padding:13px 14px!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.38!important;
  letter-spacing:0!important;
  background:#ffffff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#taskDataGrid tbody tr:nth-child(even) td{
  background:#fcfdff!important;
}

#taskDataGrid tbody tr:hover td{
  background:#f8fafc!important;
}

/* Select checkbox column: never ellipsis, no stray dots */
#taskDataGrid th.select-col,
#taskDataGrid td.select-col{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  padding:0 10px!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#taskDataGrid th.select-col::after,
#taskDataGrid td.select-col::after,
#taskDataGrid th.select-col::before,
#taskDataGrid td.select-col::before{
  content:none!important;
}

#taskDataGrid input[type="checkbox"]{
  width:24px!important;
  height:34px!important;
  min-width:24px!important;
  margin:0!important;
  accent-color:var(--task-ui-blue)!important;
}

/* ID */
#taskDataGrid th[data-col="id"],
#taskDataGrid td[data-col="id"],
#taskDataGrid .col-id{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  text-align:center!important;
  color:#111827!important;
  font-weight:650!important;
  font-variant-numeric:tabular-nums!important;
}

/* TASK: primary visual anchor */
#taskDataGrid th[data-col="task"],
#taskDataGrid td[data-col="task"]{
  width:390px!important;
  min-width:390px!important;
  max-width:390px!important;
  text-align:left!important;
  color:#111827!important;
}

#taskDataGrid td[data-col="task"],
#taskDataGrid .task-title-cell,
#taskDataGrid .column-task-name{
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

#taskDataGrid .task-title-cell a,
#taskDataGrid td[data-col="task"] a{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  color:#111827!important;
  text-decoration:none!important;
  overflow:hidden!important;
}

#taskDataGrid .task-title-main{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.32!important;
  letter-spacing:0!important;
}

#taskDataGrid .task-title-cell a:hover .task-title-main{
  color:#1d4ed8!important;
}

/* Important scan columns */
#taskDataGrid td[data-col="contract"],
#taskDataGrid .task-contract-cell{
  color:#1d4ed8!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums!important;
}

#taskDataGrid td[data-col="company"],
#taskDataGrid .task-company-cell{
  color:#111827!important;
  font-weight:650!important;
}

#taskDataGrid td[data-col="manager"],
#taskDataGrid td[data-col="deployment"],
#taskDataGrid td[data-col="assignee"]{
  color:#111827!important;
  font-weight:550!important;
}

#taskDataGrid td[data-col="type"],
#taskDataGrid td[data-col="province_old"],
#taskDataGrid td[data-col="province_new"],
#taskDataGrid td[data-col="actual_start"],
#taskDataGrid td[data-col="actual_end"]{
  color:#1f2937!important;
  font-weight:500!important;
}

/* Ellipsis only for text cells, never turns td into block */
#taskDataGrid td.ellipsis{
  display:table-cell!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Status / action columns separated and readable */
#taskDataGrid th[data-col="status"],
#taskDataGrid td[data-col="status"]{
  width:158px!important;
  min-width:158px!important;
  max-width:158px!important;
  text-align:center!important;
  border-left:1px solid #e5e7eb!important;
  overflow:visible!important;
}

#taskDataGrid th[data-col="actions"],
#taskDataGrid td[data-col="actions"]{
  width:108px!important;
  min-width:108px!important;
  max-width:108px!important;
  text-align:center!important;
  border-left:1px solid #e5e7eb!important;
  overflow:visible!important;
}

#taskDataGrid .status-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:112px!important;
  height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

#taskDataGrid .status-badge.status-not_started,
#taskDataGrid .status-badge.status-not_started.status-overdue{
  color:#344054!important;
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
}

#taskDataGrid .status-badge.status-in_progress,
#taskDataGrid .status-badge.status-in_progress.status-overdue{
  color:#1d4ed8!important;
  background:#dbeafe!important;
  border-color:#bfdbfe!important;
}

#taskDataGrid .status-badge.status-experiment_finished,
#taskDataGrid .status-badge.status-experiment_finished.status-overdue,
#taskDataGrid .status-badge.status-completed,
#taskDataGrid .status-badge.status-completed.status-overdue{
  color:#047857!important;
  background:#d1fae5!important;
  border-color:#bbf7d0!important;
}

#taskDataGrid .task-action-group{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  overflow:visible!important;
}

#taskDataGrid .task-action-group form{
  display:inline-flex!important;
  margin:0!important;
  padding:0!important;
}

#taskDataGrid .task-icon-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:1!important;
}

/* Column hidden JS compatibility */
#taskDataGrid .col-hidden{
  display:none!important;
}

@media(max-width:760px){
  .task-grid-card{padding:12px!important;border-radius:16px!important}
  .task-grid-toolbar,.task-grid-toolbar-compact,.task-grid-toolbar-clean{flex-direction:column!important;align-items:stretch!important}
  .task-grid-pagebox{min-width:0!important;width:100%!important;max-width:none!important}
  .column-visible-btn{width:100%!important}
  #taskDataGrid.table-tasks,#taskDataGrid.task-saas-table,table#taskDataGrid{min-width:1450px!important}
}
