/* =====================================================
   BIVA TALENT — WORK LOG TABLE COMPONENT
   FULL REPLACEMENT
===================================================== */


/* =====================================================
   TABLE WRAPPER
===================================================== */

.work-log-table-wrapper {
  width: 100%;

  overflow-x: auto;

  background:
    #ffffff;

  scrollbar-width: thin;

  scrollbar-color:
    #cbd5e1
    transparent;
}

.work-log-table-wrapper::-webkit-scrollbar {
  height: 9px;
}

.work-log-table-wrapper::-webkit-scrollbar-track {
  background:
    transparent;
}

.work-log-table-wrapper::-webkit-scrollbar-thumb {
  border:
    2px solid
    #ffffff;

  border-radius:
    999px;

  background:
    #cbd5e1;
}


/* =====================================================
   TABLE
===================================================== */

.work-log-table {
  width: 100%;
  min-width: 1120px;

  border-collapse:
    collapse;

  table-layout:
    fixed;
}


/* =====================================================
   COLUMN WIDTHS
===================================================== */

.work-log-table th:nth-child(1),
.work-log-table td:nth-child(1) {
  width: 125px;
}

.work-log-table th:nth-child(2),
.work-log-table td:nth-child(2) {
  width: 210px;
}

.work-log-table th:nth-child(3),
.work-log-table td:nth-child(3) {
  width: 160px;
}

.work-log-table th:nth-child(4),
.work-log-table td:nth-child(4) {
  width: 95px;
}

.work-log-table th:nth-child(5),
.work-log-table td:nth-child(5) {
  width: 85px;
}

.work-log-table th:nth-child(6),
.work-log-table td:nth-child(6) {
  width: 145px;
}

.work-log-table th:nth-child(7),
.work-log-table td:nth-child(7) {
  width: 165px;
}

.work-log-table th:nth-child(8),
.work-log-table td:nth-child(8) {
  width: 245px;
}


/* =====================================================
   HEADER
===================================================== */

.work-log-table thead {
  background:
    #f8fafc;
}

.work-log-table th {
  padding:
    14px 15px;

  border-bottom:
    1px solid #dce5ef;

  color:
    #64748b;

  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0.06em;

  text-align: left;
  text-transform: uppercase;

  white-space: nowrap;
}


/* =====================================================
   BODY
===================================================== */

.work-log-table td {
  padding:
    16px 15px;

  border-bottom:
    1px solid #e2e8f0;

  color:
    #334155;

  font-size: 11px;
  line-height: 1.45;

  text-align: left;
  vertical-align: middle;

  overflow-wrap: anywhere;
}

.work-log-table tbody tr {
  background:
    #ffffff;

  transition:
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}

.work-log-table tbody tr:hover {
  background:
    #f8fbff;

  box-shadow:
    inset 3px 0 0
    #bfdbfe;
}

.work-log-table tbody tr:last-child td {
  border-bottom: 0;
}

.work-log-table td > strong {
  color:
    #0f172a;

  font-size: 11px;
  font-weight: 850;
}


/* =====================================================
   PRIMARY AND SECONDARY TEXT
===================================================== */

.work-log-main-text {
  overflow-wrap: anywhere;

  color:
    #0f172a;

  font-size: 11px;
  font-weight: 830;
  line-height: 1.4;
}

.work-log-secondary-text {
  margin-top: 4px;

  overflow-wrap: anywhere;

  color:
    #94a3b8;

  font-size: 9px;
  font-weight: 650;
  line-height: 1.4;
}


/* =====================================================
   STATUS BADGE
===================================================== */

.work-log-status {
  width: fit-content;
  min-height: 28px;

  padding:
    4px 9px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border:
    1px solid #e2e8f0;

  border-radius:
    999px;

  color:
    #475569;

  background:
    #f8fafc;

  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;

  white-space: nowrap;
}


/* =====================================================
   DRAFT STATUS
===================================================== */

.work-log-status[data-work-log-status="draft"] {
  border-color:
    #dbe4ee;

  color:
    #475569;

  background:
    #f1f5f9;
}


/* =====================================================
   SUBMITTED STATUS
===================================================== */

.work-log-status[data-work-log-status="submitted"] {
  border-color:
    #bfdbfe;

  color:
    #1d4ed8;

  background:
    #eff6ff;
}


/* =====================================================
   REVISION STATUS
===================================================== */

.work-log-status[data-work-log-status="revision_required"],
.work-log-status[data-work-log-status="revision_requested"] {
  border-color:
    #fed7aa;

  color:
    #c2410c;

  background:
    #fff7ed;
}


/* =====================================================
   REVIEWED STATUS
===================================================== */

.work-log-status[data-work-log-status="reviewed"],
.work-log-status[data-work-log-status="approved"],
.work-log-status[data-work-log-status="completed"] {
  border-color:
    #bbf7d0;

  color:
    #047857;

  background:
    #ecfdf5;
}


/* =====================================================
   REJECTED STATUS
===================================================== */

.work-log-status[data-work-log-status="rejected"] {
  border-color:
    #fecaca;

  color:
    #b91c1c;

  background:
    #fff1f2;
}


/* =====================================================
   CANCELLED STATUS
===================================================== */

.work-log-status[data-work-log-status="cancelled"] {
  border-color:
    #e2e8f0;

  color:
    #64748b;

  background:
    #f1f5f9;
}


/* =====================================================
   ACTION AREA
===================================================== */

.work-log-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 6px;
}


/* =====================================================
   SHARED ACTION BUTTON
===================================================== */

.table-action {
  min-height: 35px;

  padding:
    0 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 6px;

  border:
    1px solid #dbeafe;

  border-radius: 9px;

  color:
    #1d4ed8;

  background:
    #eff6ff;

  font: inherit;

  font-size: 9px;
  font-weight: 840;
  line-height: 1;

  white-space: nowrap;

  cursor: pointer;

  transition:
    color 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

.table-action:hover {
  border-color:
    #bfdbfe;

  background:
    #dbeafe;

  transform:
    translateY(-1px);

  box-shadow:
    0 5px 12px
    rgba(37, 99, 235, 0.1);
}

.table-action:disabled {
  opacity: 0.55;

  cursor: wait;

  transform: none;

  box-shadow: none;
}

.table-action svg {
  width: 14px;
  height: 14px;

  flex:
    0 0 14px;

  fill: none;

  stroke:
    currentColor;

  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =====================================================
   VIEW ACTION
===================================================== */

.table-action-view {
  border-color:
    #dbeafe;

  color:
    #1d4ed8;

  background:
    #eff6ff;
}

.table-action-view:hover {
  border-color:
    #bfdbfe;

  background:
    #dbeafe;
}


/* =====================================================
   EDIT ACTION
===================================================== */

.table-action-edit {
  border-color:
    #dbe4ee;

  color:
    #475569;

  background:
    #f8fafc;
}

.table-action-edit:hover {
  border-color:
    #cbd5e1;

  color:
    #0f172a;

  background:
    #f1f5f9;
}


/* =====================================================
   SUBMIT ACTION
===================================================== */

.table-action-submit {
  border-color:
    #bbf7d0;

  color:
    #047857;

  background:
    #ecfdf5;
}

.table-action-submit:hover {
  border-color:
    #86efac;

  color:
    #065f46;

  background:
    #dcfce7;

  box-shadow:
    0 5px 12px
    rgba(16, 185, 129, 0.1);
}


/* =====================================================
   EMPTY STATE
===================================================== */

.work-log-empty-state {
  min-height: 340px;

  padding:
    42px 24px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.work-log-empty-state
.empty-state-icon {
  width: 64px;
  height: 64px;

  margin-bottom: 16px;

  display: grid;
  place-items: center;

  border-radius: 19px;

  color:
    #1d4ed8;

  background:
    #eff6ff;
}

.work-log-empty-state
.empty-state-icon svg {
  width: 29px;
  height: 29px;

  fill: none;

  stroke:
    currentColor;

  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.work-log-empty-state h3 {
  margin: 0;

  color:
    #0f172a;

  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.025em;
}

.work-log-empty-state p {
  max-width: 480px;

  margin:
    8px auto 0;

  color:
    #64748b;

  font-size: 11px;
  line-height: 1.6;
}


/* =====================================================
   FOCUS
===================================================== */

.work-log-table
button:focus-visible {
  outline: 0;

  box-shadow:
    0 0 0 3px
    rgba(37, 99, 235, 0.18);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

  .work-log-table {
    min-width: 1050px;
  }

  .work-log-table th,
  .work-log-table td {
    padding:
      14px 12px;
  }

}


/* =====================================================
   MOBILE CARD LAYOUT
===================================================== */

@media (max-width: 700px) {

  .work-log-table-wrapper {
    padding: 12px;

    overflow: visible;

    background:
      #f8fafc;
  }

  .work-log-table {
    min-width: 0;

    border-collapse:
      separate;

    border-spacing:
      0;
  }

  .work-log-table thead {
    display: none;
  }

  .work-log-table,
  .work-log-table tbody,
  .work-log-table tr,
  .work-log-table td {
    display: block;

    width: 100%;
  }

  .work-log-table tbody {
    display: grid;

    gap: 12px;
  }

  .work-log-table tbody tr {
    padding:
      5px 14px;

    border:
      1px solid #dce5ef;

    border-radius: 15px;

    background:
      #ffffff;

    box-shadow:
      0 6px 18px
      rgba(15, 23, 42, 0.055);
  }

  .work-log-table tbody tr:hover {
    background:
      #ffffff;

    box-shadow:
      0 8px 22px
      rgba(15, 23, 42, 0.075);
  }

  .work-log-table td {
    padding:
      11px 0;

    display: grid;

    grid-template-columns:
      minmax(105px, 0.35fr)
      minmax(0, 1fr);

    align-items: center;

    gap: 12px;

    border-bottom:
      1px solid #e2e8f0;
  }

  .work-log-table td:last-child {
    border-bottom: 0;
  }

  .work-log-table td::before {
    content:
      attr(data-label);

    color:
      #64748b;

    font-size: 8px;
    font-weight: 850;
    line-height: 1.3;
    letter-spacing: 0.06em;

    text-transform: uppercase;
  }

  .work-log-actions {
    display: grid;

    grid-template-columns:
      repeat(3, minmax(0, 1fr));

    width: 100%;
  }

  .table-action {
    width: 100%;

    padding:
      0 8px;
  }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

  .work-log-table-wrapper {
    padding: 10px;
  }

  .work-log-table tbody tr {
    padding:
      4px 12px;

    border-radius: 14px;
  }

  .work-log-table td {
    grid-template-columns: 1fr;

    gap: 5px;
  }

  .work-log-table td::before {
    margin-bottom: 1px;
  }

  .work-log-actions {
    grid-template-columns: 1fr;
  }

  .table-action {
    min-height: 39px;
  }

}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 360px) {

  .work-log-table-wrapper {
    padding:
      8px;
  }

  .work-log-table tbody tr {
    padding:
      3px 10px;
  }

}


/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {

  .work-log-table tbody tr,
  .table-action {
    transition: none;
  }

}