/* Exact dashboard approved in the Aug 27 visual reference.
 * Scope: admin dashboard only. No business logic or other workspaces are changed.
 */

html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) {
  --approved-gap: 12px;
  --approved-radius: 9px;
  --approved-border: #e2e8f0;
  --approved-navy: #031b3c;
  --approved-blue: #0866d9;
  background: #f7f9fc;
}

html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-testid="portal-sidebar"] {
  background: linear-gradient(180deg, #031b3c 0%, #002750 100%) !important;
  border-right: 0 !important;
}

html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-testid="portal-sidebar"] a,
html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-testid="portal-sidebar"] button {
  border-radius: 7px !important;
}

html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-scroll-container] {
  background: #f7f9fc !important;
}

.dla-approved-dashboard {
  display: grid;
  gap: var(--approved-gap);
  padding: 12px 14px 10px;
  min-width: 0;
  color: #0f1f3a;
}

.dla-approved-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--approved-gap);
}

.dla-approved-stat {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 108px;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid var(--approved-border);
  border-radius: var(--approved-radius);
  background: #fff;
  box-shadow: 0 2px 7px rgba(15, 31, 58, .08);
  transition: box-shadow .15s ease, transform .15s ease;
}

.dla-approved-stat:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 31, 58, .11);
}

.dla-approved-stat-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  flex: 0 0 70px;
  border-radius: 50%;
}

.dla-approved-stat-icon svg {
  width: 36px;
  height: 36px;
  stroke-width: 1.8;
}

.dla-tone-red .dla-approved-stat-icon { background: #fee8e8; color: #dc2f2f; }
.dla-tone-blue .dla-approved-stat-icon { background: #e5f0ff; color: #0a64cf; }
.dla-tone-green .dla-approved-stat-icon { background: #e5f7e9; color: #129343; }
.dla-tone-purple .dla-approved-stat-icon { background: #eee8ff; color: #7a3ce3; }

.dla-approved-stat-copy { min-width: 0; display: block; }
.dla-approved-stat-line { display: flex; align-items: baseline; gap: 11px; min-width: 0; }
.dla-approved-stat-line strong { font-size: 29px; line-height: 1; font-weight: 800; }
.dla-tone-red .dla-approved-stat-line strong { color: #d82222; }
.dla-tone-blue .dla-approved-stat-line strong { color: #0866d9; }
.dla-tone-green .dla-approved-stat-line strong { color: #11933f; }
.dla-tone-purple .dla-approved-stat-line strong { color: #7134d7; }
.dla-approved-stat-line span { font-size: 16px; line-height: 1.2; font-weight: 700; color: #101d35; }
.dla-approved-stat-copy small { display: block; margin-top: 5px; font-size: 13px; color: #34425c; }

.dla-approved-primary-grid,
.dla-approved-secondary-grid {
  display: grid;
  min-height: 0;
  gap: var(--approved-gap);
}

.dla-approved-primary-grid { grid-template-columns: 1.08fr .90fr 1.02fr; }
.dla-approved-secondary-grid { grid-template-columns: .92fr 1.05fr 1.18fr; }

.dla-approved-panel {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--approved-border);
  border-radius: var(--approved-radius);
  background: #fff;
  box-shadow: 0 2px 7px rgba(15, 31, 58, .07);
}

.dla-approved-panel-header {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 16px;
  border-bottom: 1px solid #e8edf4;
}

.dla-approved-panel-header h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: #101b31;
}

.dla-approved-panel-link,
.dla-approved-panel-footer a {
  color: #0063d9;
  font-size: 12px;
  font-weight: 700;
}

.dla-approved-panel-body {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.dla-approved-panel-footer {
  margin-top: auto;
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  border-top: 1px solid #e8edf4;
  background: #fff;
}

.dla-approved-loading { display: grid; gap: 8px; padding: 14px 16px; }
.dla-approved-empty { display: grid; min-height: 130px; place-items: center; padding: 16px; color: #64748b; font-size: 13px; text-align: center; }

.dla-approved-attention-list,
.dla-approved-task-list,
.dla-approved-activity-list {
  list-style: none;
  margin: 0;
  padding: 5px 0 0;
}

.dla-approved-attention-list li > a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 55px;
  padding: 6px 15px;
}

.dla-approved-row-icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border-radius: 50%;
}

.dla-approved-row-icon svg { width: 16px; height: 16px; stroke-width: 2; }
.dla-approved-row-icon.red { background: #fbe4e4; color: #dc2626; }
.dla-approved-row-icon.orange { background: #fff0dd; color: #ef7a00; }
.dla-approved-row-icon.blue { background: #e7f1ff; color: #0b67d5; }
.dla-approved-row-icon.green { background: #e4f6e8; color: #139447; }
.dla-approved-row-icon.purple { background: #eee7ff; color: #7b3ce3; }

.dla-approved-row-copy { display: block; min-width: 0; }
.dla-approved-row-copy strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12.5px; line-height: 1.25; color: #15213a; }
.dla-approved-row-copy small { display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: #53627a; }
.dla-approved-due { min-width: 64px; text-align: right; font-size: 11px; font-weight: 700; }
.dla-approved-due.red { color: #e02222; }
.dla-approved-due.orange { color: #ef7a00; }
.dla-approved-due.blue { color: #0667d5; }

.dla-approved-schedule { padding: 11px 16px 8px; }
.dla-approved-schedule-section h3 { margin: 0 0 6px; font-size: 12px; color: #14213a; }
.dla-approved-schedule-section h3 span { font-weight: 600; color: #4c5b72; }
.dla-approved-schedule-section.week { margin-top: 13px; padding-top: 11px; border-top: 1px solid #eef2f7; }
.dla-approved-schedule-row {
  display: grid;
  grid-template-columns: 7px 65px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  padding: 5px 0;
}
.dla-approved-schedule-row .dot,
.dla-approved-calendar-agenda .dot {
  width: 6px;
  height: 6px;
  margin-top: 6px;
  border-radius: 50%;
  background: #1477ea;
}
.dot-1 { background: #14a05a !important; }
.dot-2 { background: #7c3fe2 !important; }
.dla-approved-schedule-row .time { font-size: 11.5px; font-weight: 700; color: #18263f; }
.dla-approved-schedule-row .copy { min-width: 0; }
.dla-approved-schedule-row .copy strong { display: block; font-size: 11.5px; color: #14213a; }
.dla-approved-schedule-row .copy small { display: block; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10.5px; color: #5c6980; }

.dla-approved-calendar { padding: 8px 15px 4px; }
.dla-approved-calendar-nav { display: grid; grid-template-columns: 28px 1fr 28px; align-items: center; margin-bottom: 7px; }
.dla-approved-calendar-nav strong { text-align: center; font-size: 12px; }
.dla-approved-calendar-nav button { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; color: #66738a; }
.dla-approved-calendar-nav button:hover { background: #f1f5f9; }
.dla-approved-calendar-nav svg { width: 13px; height: 13px; }
.dla-approved-calendar-weekdays,
.dla-approved-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.dla-approved-calendar-weekdays span { padding: 2px 0 4px; text-align: center; font-size: 9px; font-weight: 700; color: #64748b; }
.dla-approved-calendar-grid a { position: relative; display: grid; place-items: center; height: 27px; border-radius: 50%; font-size: 10.5px; color: #132038; }
.dla-approved-calendar-grid a.is-muted { color: #a6afbd; }
.dla-approved-calendar-grid a.is-today { width: 27px; justify-self: center; background: #096ce0; color: #fff; font-weight: 800; }
.dla-approved-calendar-grid a i { position: absolute; bottom: 1px; width: 3px; height: 3px; border-radius: 50%; background: #16a15c; }
.dla-approved-calendar-agenda { margin-top: 3px; padding: 7px 16px 5px; border-top: 1px solid #eef2f7; }
.dla-approved-calendar-agenda a { display: grid; grid-template-columns: 7px 52px minmax(0,1fr); gap: 7px; align-items: start; padding: 3px 0; font-size: 10.5px; }
.dla-approved-calendar-agenda a span { color: #263650; }
.dla-approved-calendar-agenda a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #132038; }

.dla-approved-task-list li > a {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 8px;
  align-items: center;
  min-height: 44px;
  max-height: 44px;
  padding: 5px 16px;
  overflow: hidden;
}
.dla-approved-task-list li > a > span:last-child { min-width: 0; overflow: hidden; }
.dla-approved-checkbox { width: 16px; height: 16px; margin-top: 0; border: 1.5px solid #bcc6d4; border-radius: 3px; background: #fff; }
.dla-approved-task-list strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; color: #14213a; }
.dla-approved-task-list small { display: block; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10.5px; color: #53627a; }

.dla-approved-activity-list li > a,
.dla-approved-activity-list li > .dla-approved-activity-row { display: block; }
.dla-approved-activity-row { display: grid; grid-template-columns: 29px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 45px; padding: 5px 15px; }
.dla-approved-activity-meta { display: grid; grid-template-columns: auto 18px; align-items: center; gap: 9px; }
.dla-approved-activity-meta small { font-size: 9.5px; color: #64748b; white-space: nowrap; }
.dla-approved-activity-meta b { font-size: 9.5px; color: #0068df; }

.dla-approved-snapshot-list { padding: 5px 14px 0; }
.dla-approved-snapshot-row { display: grid; grid-template-columns: 29px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 45px; padding: 5px 0; }
.dla-approved-snapshot-row > strong { font-size: 11.5px; color: #14213a; }
.dla-approved-snapshot-row > span:last-child { display: block; text-align: right; }
.dla-approved-snapshot-row > span:last-child b { display: block; font-size: 13px; color: #14213a; }
.dla-approved-snapshot-row > span:last-child small { display: block; margin-top: 1px; font-size: 9.5px; color: #55647b; }

.dla-approved-command-center {
  display: grid;
  grid-template-columns: 170px repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 18px;
  min-height: 57px;
  padding: 8px 16px;
  border: 1px solid var(--approved-border);
  border-radius: var(--approved-radius);
  background: #fff;
  box-shadow: 0 2px 7px rgba(15, 31, 58, .07);
}

.dla-approved-command-center > strong { font-size: 16px; color: #14213a; }
.dla-approved-command-center > a,
.dla-approved-command-center > button {
  display: flex;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #dce4ef;
  border-radius: 7px;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: #14213a;
  box-shadow: 0 1px 3px rgba(15,31,58,.04);
}
.dla-approved-command-center > a:hover,
.dla-approved-command-center > button:hover { background: #f8fbff; border-color: #cbd8e8; }
.dla-approved-command-center > a span,
.dla-approved-command-center > button span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; }
.dla-approved-command-center svg { width: 15px; height: 15px; }
.dla-approved-command-center span.blue { background:#e7f1ff; color:#0b67d5; }
.dla-approved-command-center span.green { background:#e4f6e8; color:#139447; }
.dla-approved-command-center span.purple { background:#eee7ff; color:#7b3ce3; }
.dla-approved-command-center span.orange { background:#fff0dd; color:#ef7a00; }

@media (min-width: 1180px) and (min-height: 760px) {
  html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]),
  html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-testid="workflow-shell"] {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  html[data-dla-vs="on"] body:has([data-testid="new-admin-dashboard"]) [data-scroll-container] {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .dla-approved-dashboard {
    height: 100%;
    min-height: 0;
    grid-template-rows: 108px minmax(330px, 1.2fr) minmax(270px, .9fr) 57px;
    overflow: hidden;
  }

  .dla-approved-panel { height: 100%; }
}

@media (min-width: 1180px) and (max-height: 900px) {
  .dla-approved-dashboard {
    padding-top: 8px;
    gap: 10px;
    grid-template-rows: 92px minmax(260px, 1.08fr) minmax(230px, .92fr) 52px;
  }
  .dla-approved-stat { min-height: 92px; padding: 11px 15px; gap: 13px; }
  .dla-approved-stat-icon { width: 58px; height: 58px; flex-basis: 58px; }
  .dla-approved-stat-icon svg { width: 30px; height: 30px; }
  .dla-approved-stat-line strong { font-size: 24px; }
  .dla-approved-stat-line span { font-size: 14px; }
  .dla-approved-stat-copy small { margin-top: 3px; font-size: 11px; }
  .dla-approved-panel-header { min-height: 39px; padding: 0 14px; }
  .dla-approved-attention-list li > a { min-height: 43px; padding: 4px 13px; }
  .dla-approved-schedule { padding-top: 7px; }
  .dla-approved-schedule-section.week { margin-top: 7px; padding-top: 7px; }
  .dla-approved-schedule-row { padding: 3px 0; }
  .dla-approved-calendar { padding-top: 5px; }
  .dla-approved-calendar-grid a { height: 22px; }
  .dla-approved-calendar-grid a.is-today { width: 22px; }
  .dla-approved-calendar-agenda { padding-top: 4px; padding-bottom: 3px; }
  .dla-approved-task-list li > a { padding-top: 5px; padding-bottom: 5px; }
  .dla-approved-activity-row,
  .dla-approved-snapshot-row { min-height: 37px; padding-top: 3px; padding-bottom: 3px; }
  .dla-approved-panel-footer { min-height: 30px; }
  .dla-approved-command-center { min-height: 52px; grid-template-columns: 145px repeat(6,minmax(0,1fr)); gap: 10px; padding: 6px 12px; }
  .dla-approved-command-center > a,
  .dla-approved-command-center > button { min-height: 35px; }
}

@media (max-width: 1179px) {
  .dla-approved-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dla-approved-primary-grid,
  .dla-approved-secondary-grid { grid-template-columns: 1fr; }
  .dla-approved-command-center { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dla-approved-command-center > strong { grid-column: 1 / -1; }
}