/* ==================================================================
   WP7 · List viewers CSS (Tasks, Clients, Booking Requests, Teams,
   Schedule). All viewers share the .nu-vh-* hero pattern.
   Scoped under [data-new-ui].
   v1.45.8
   ================================================================== */

/* ---- Shared hero ----------------------------------------------- */
[data-new-ui] .nu-vh-hero {
  display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: end;
  margin-bottom: 14px;
}
[data-new-ui] .nu-vh-title {
  margin: 0; font-size: 28px; line-height: 1.15;
  font-weight: var(--nu-t-weight-black);
  letter-spacing: var(--nu-t-ls-tight);
  color: var(--nu-c-text-primary);
}
[data-new-ui] .nu-vh-sub {
  margin: 4px 0 0; color: var(--nu-c-text-muted);
  font-size: var(--nu-t-size-lg);
}
[data-new-ui] .nu-vh-actions { display: flex; gap: 8px; align-items: center; }
[data-new-ui] .nu-vh-btn {
  height: 40px; padding: 0 14px;
  border-radius: var(--nu-r-base);
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--nu-t-family);
  font-weight: var(--nu-t-weight-black);
  font-size: var(--nu-t-size-md);
  cursor: pointer;
  transition: filter .12s, background .12s, border-color .12s;
}
[data-new-ui] .nu-vh-btn .nu-icon { width: 15px; height: 15px; }
[data-new-ui] .nu-vh-btn-outline {
  border: 1px solid var(--nu-c-border-strong);
  background: var(--nu-c-surface-card);
  color: #24425f;
}
[data-new-ui] .nu-vh-btn-outline:hover { background: #f8fbfd; border-color: var(--nu-c-blue); }
[data-new-ui] .nu-vh-btn-green {
  border: 0;
  background: var(--nu-c-green);
  color: #fff;
}
[data-new-ui] .nu-vh-btn-green:hover { filter: brightness(1.08); }

/* ================================================================
   7.2 TASKS
   ================================================================ */

[data-new-ui] .nu-tk-toolbar {
  display: flex; gap: 10px; align-items: center;
  background: var(--nu-c-surface-card);
  border: 1px solid var(--nu-c-border-default);
  border-radius: var(--nu-r-base);
  padding: 10px; margin-bottom: 12px;
  box-shadow: var(--nu-sh-card);
}
[data-new-ui] .nu-tk-search { position: relative; flex: 1; }
[data-new-ui] .nu-tk-search input {
  width: 100%; height: 38px;
  border: 1px solid var(--nu-c-border-strong);
  border-radius: var(--nu-r-base);
  padding: 0 40px 0 12px;
  font-family: var(--nu-t-family); font-size: var(--nu-t-size-md);
  background: #fbfdff;
}
[data-new-ui] .nu-tk-search .nu-icon {
  position: absolute; right: 12px; top: 10px;
  width: 18px; height: 18px; color: #7890a1;
}

[data-new-ui] .nu-tk-board { padding: 14px; }
[data-new-ui] .nu-tk-board-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 10px; margin-bottom: 10px;
  border-bottom: 1px solid var(--nu-c-border-default);
}
[data-new-ui] .nu-tk-board-title {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--nu-t-size-lg);
  font-weight: var(--nu-t-weight-black);
  color: var(--nu-c-text-primary);
}
[data-new-ui] .nu-tk-board-title .nu-icon { width: 16px; height: 16px; color: var(--nu-c-green); }
[data-new-ui] .nu-tk-board-sort { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted); font-weight: var(--nu-t-weight-heavy); }

[data-new-ui] .nu-tk-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
[data-new-ui] .nu-tk-card {
  border: 1px solid var(--nu-c-border-default);
  border-radius: var(--nu-r-base);
  padding: 12px;
  background: #fbfdff;
  cursor: pointer;
  transition: background .12s, transform .12s, box-shadow .12s;
}
[data-new-ui] .nu-tk-card:hover {
  background: var(--nu-c-surface-card);
  transform: translateY(-1px);
  box-shadow: var(--nu-sh-dropdown);
}
[data-new-ui] .nu-tk-done { opacity: 0.72; }
[data-new-ui] .nu-tk-card-head {
  display: grid; grid-template-columns: 22px 1fr auto;
  gap: 8px; align-items: center; margin-bottom: 6px;
}
[data-new-ui] .nu-tk-check {
  width: 20px; height: 20px;
  border: 2px solid #8ca0b2; border-radius: 4px;
  display: grid; place-items: center;
  color: transparent;
}
[data-new-ui] .nu-tk-check .nu-icon { width: 14px; height: 14px; }
[data-new-ui] .nu-tk-check-done {
  background: var(--nu-c-green); border-color: var(--nu-c-green); color: #fff;
}
[data-new-ui] .nu-tk-card-title {
  font-size: var(--nu-t-size-md); font-weight: var(--nu-t-weight-heavy);
  color: var(--nu-c-text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
[data-new-ui] .nu-tk-meta {
  font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted);
  margin-bottom: 8px;
}
[data-new-ui] .nu-tk-foot {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
[data-new-ui] .nu-tk-assignee {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--nu-t-size-sm); color: var(--nu-c-text-primary);
  font-weight: var(--nu-t-weight-heavy);
  margin-right: auto;
}

[data-new-ui] .nu-tk-footer {
  padding-top: 12px; margin-top: 12px;
  border-top: 1px solid var(--nu-c-border-default);
  display: flex; justify-content: space-between;
  font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted);
}

/* ================================================================
   7.3 CLIENTS
   ================================================================ */

[data-new-ui] .nu-cl-card { padding: 16px; }
[data-new-ui] .nu-cl-cardhead {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; padding-bottom: 12px; margin-bottom: 8px;
  border-bottom: 1px solid var(--nu-c-border-default);
}
[data-new-ui] .nu-cl-cardtitle { margin: 0; font-size: var(--nu-t-size-lg); font-weight: var(--nu-t-weight-black); }
[data-new-ui] .nu-cl-cardsub   { margin: 4px 0 0; color: var(--nu-c-text-muted); font-size: var(--nu-t-size-sm); }
[data-new-ui] .nu-cl-search { max-width: 320px; }

[data-new-ui] .nu-cl-head, [data-new-ui] .nu-cl-row {
  display: grid; grid-template-columns: 2fr 1.6fr .8fr 24px;
  gap: 16px; align-items: center;
}
[data-new-ui] .nu-cl-head {
  padding: 10px 0 8px;
  color: var(--nu-c-text-muted);
  font-size: var(--nu-t-size-xs); font-weight: var(--nu-t-weight-black);
  letter-spacing: 0.08em; text-transform: uppercase;
  border-bottom: 1px solid var(--nu-c-border-default);
}
[data-new-ui] .nu-cl-row {
  min-height: 74px;
  border-bottom: 1px solid #ebf0f4;
  text-decoration: none; color: var(--nu-c-text-primary);
  cursor: pointer;
  transition: background .1s;
}
[data-new-ui] .nu-cl-row:hover { background: #f8fbfd; }
[data-new-ui] .nu-cl-row:last-of-type { border-bottom: 0; }
[data-new-ui] .nu-cl-main { display: flex; align-items: center; gap: 12px; }
[data-new-ui] .nu-cl-name { font-size: var(--nu-t-size-md); font-weight: var(--nu-t-weight-heavy); }
[data-new-ui] .nu-cl-kind { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted); }
[data-new-ui] .nu-cl-contact { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-primary); font-weight: var(--nu-t-weight-heavy); }
[data-new-ui] .nu-cl-contact span { color: var(--nu-c-text-muted); font-weight: 500; }
[data-new-ui] .nu-cl-chev {
  color: var(--nu-c-text-muted);
  display: grid; place-items: center;
}
[data-new-ui] .nu-cl-chev .nu-icon { width: 14px; height: 14px; }

[data-new-ui] .nu-cl-footer {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 14px; margin-top: 10px;
  border-top: 1px solid var(--nu-c-border-default);
  font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted);
}

/* ================================================================
   7.4 BOOKING REQUESTS
   ================================================================ */

[data-new-ui] .nu-br-card { padding: 16px; margin-bottom: 12px; }
[data-new-ui] .nu-br-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; margin-bottom: 12px;
}
[data-new-ui] .nu-br-title-wrap { flex: 1; }
[data-new-ui] .nu-br-title {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--nu-t-size-lg); font-weight: var(--nu-t-weight-black);
}
[data-new-ui] .nu-br-sub { margin: 4px 0 0; color: var(--nu-c-text-muted); font-size: var(--nu-t-size-sm); }

[data-new-ui] .nu-br-linkrow {
  display: flex; align-items: center; gap: 8px;
}
[data-new-ui] .nu-br-linkinput {
  flex: 1; height: 40px;
  border: 1px solid var(--nu-c-border-strong);
  border-radius: var(--nu-r-base);
  padding: 0 12px;
  background: #fbfdff;
  font-family: monospace; font-size: var(--nu-t-size-sm);
  color: var(--nu-c-text-primary);
}

[data-new-ui] .nu-br-list {
  border: 1px solid var(--nu-c-border-default);
  border-radius: var(--nu-r-base);
  overflow: hidden;
}
[data-new-ui] .nu-br-item {
  display: grid;
  grid-template-columns: 1.4fr auto auto auto auto auto;
  gap: 12px; align-items: center;
  padding: 12px 14px;
  border-top: 1px solid #ebf0f4;
  background: var(--nu-c-surface-card);
}
[data-new-ui] .nu-br-item:first-child { border-top: 0; }
[data-new-ui] .nu-br-person { font-weight: var(--nu-t-weight-heavy); font-size: var(--nu-t-size-md); }
[data-new-ui] .nu-br-jobmeta { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted); margin-top: 2px; }
[data-new-ui] .nu-br-time { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-primary); font-weight: var(--nu-t-weight-heavy); }

[data-new-ui] .nu-br-blockform {
  display: grid; grid-template-columns: 1fr 1fr 2fr auto; gap: 8px;
  margin-bottom: 12px;
}
[data-new-ui] .nu-br-input {
  height: 40px;
  border: 1px solid var(--nu-c-border-strong);
  border-radius: var(--nu-r-base);
  padding: 0 12px;
  background: #fbfdff;
  font-family: var(--nu-t-family); font-size: var(--nu-t-size-md);
}
[data-new-ui] .nu-br-blocked-empty {
  border: 1px dashed var(--nu-c-border-default);
  border-radius: var(--nu-r-base);
  padding: 16px; text-align: center;
  color: var(--nu-c-text-muted); font-size: var(--nu-t-size-md);
  background: #f8fbfd;
}
[data-new-ui] .nu-br-blocked-empty .nu-icon { display: none; }

/* ================================================================
   7.5 TEAMS
   ================================================================ */

[data-new-ui] .nu-tm-woc { padding: 16px; margin-bottom: 12px; }
[data-new-ui] .nu-tm-cardhead {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--nu-c-border-default);
}
[data-new-ui] .nu-tm-cardtitle {
  display: flex; align-items: center; gap: 8px;
  font-size: var(--nu-t-size-lg); font-weight: var(--nu-t-weight-black);
}
[data-new-ui] .nu-tm-cardsub { margin: 4px 0 0; color: var(--nu-c-text-muted); font-size: var(--nu-t-size-sm); }
[data-new-ui] .nu-tm-search { max-width: 260px; }

[data-new-ui] .nu-tm-row {
  display: grid; grid-template-columns: 2fr auto 3fr 24px;
  gap: 16px; align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #ebf0f4;
  cursor: pointer;
  transition: background .1s;
}
[data-new-ui] .nu-tm-row:hover { background: #f8fbfd; }
[data-new-ui] .nu-tm-row:last-of-type { border-bottom: 0; }
[data-new-ui] .nu-tm-person { display: flex; align-items: center; gap: 12px; }
[data-new-ui] .nu-tm-name { font-size: var(--nu-t-size-md); font-weight: var(--nu-t-weight-heavy); }
[data-new-ui] .nu-tm-sub { font-size: var(--nu-t-size-sm); color: var(--nu-c-text-muted); margin-top: 2px; }
[data-new-ui] .nu-tm-jobs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
[data-new-ui] .nu-tm-jobchip {
  text-decoration: none;
  transition: filter .12s;
}
[data-new-ui] .nu-tm-jobchip:hover { filter: brightness(1.08); }
[data-new-ui] .nu-tm-noassign { color: var(--nu-c-text-muted); font-style: italic; font-size: var(--nu-t-size-sm); }
[data-new-ui] .nu-tm-chev {
  color: var(--nu-c-text-muted);
  display: grid; place-items: center;
}
[data-new-ui] .nu-tm-chev .nu-icon { width: 14px; height: 14px; }
[data-new-ui] .nu-tm-more {
  padding-top: 10px;
  color: var(--nu-c-text-muted); font-size: var(--nu-t-size-sm);
}

[data-new-ui] .nu-tm-grid2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
[data-new-ui] .nu-tm-crew, [data-new-ui] .nu-tm-workload { padding: 16px; }
[data-new-ui] .nu-tm-crewrow {
  display: grid; grid-template-columns: 1fr auto 50px auto;
  gap: 12px; align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #ebf0f4;
}
[data-new-ui] .nu-tm-crewrow:last-of-type { border-bottom: 0; }
[data-new-ui] .nu-tm-crewname { font-weight: var(--nu-t-weight-heavy); }

/* 7.6 SCHEDULE: retired v1.45.11 — month calendar lives in new-ui-schedule.css (file 04). */

/* ---- Responsive ----------------------------------------------- */
@media (max-width: 1199px) {
  [data-new-ui] .nu-tk-grid { grid-template-columns: repeat(2, 1fr); }
  [data-new-ui] .nu-cl-head, [data-new-ui] .nu-cl-row { grid-template-columns: 1.5fr 1.2fr .7fr 20px; }
  [data-new-ui] .nu-tm-grid2 { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  [data-new-ui] .nu-tk-grid { grid-template-columns: 1fr; }
  [data-new-ui] .nu-cl-head { display: none; }
  [data-new-ui] .nu-cl-row { grid-template-columns: 1fr; gap: 8px; padding: 14px 0; min-height: 0; }
  [data-new-ui] .nu-cl-chev { display: none; }
  [data-new-ui] .nu-tm-row { grid-template-columns: 1fr; gap: 8px; }
  [data-new-ui] .nu-tm-chev { display: none; }
  [data-new-ui] .nu-br-item { grid-template-columns: 1fr; gap: 6px; }
  [data-new-ui] .nu-br-blockform { grid-template-columns: 1fr; }
  [data-new-ui] .nu-br-linkrow { flex-wrap: wrap; }
  [data-new-ui] .nu-br-linkinput { flex-basis: 100%; }
}
