.np-portal-nav a { position: relative; }
.np-portal-badge {
  position: absolute;
  top: 2px;
  left: 2px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: #c24131;
  font: 800 9px/1 Arial, sans-serif;
}
.np-portal-stats--staff { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.np-team-task-list, .np-team-notification-list { display: grid; gap: 14px; }
.np-team-task {
  position: relative;
  padding: 24px;
  overflow: hidden;
  border: 1px solid #dce9e6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(12, 43, 46, .055);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.np-team-task:hover { border-color: rgba(0, 112, 99, .28); box-shadow: 0 18px 44px rgba(12, 43, 46, .09); transform: translateY(-2px); }
.np-team-task.is-unread { border-color: rgba(0, 112, 99, .45); box-shadow: 0 12px 34px rgba(0, 112, 99, .09); }
.np-team-task.is-unread::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: #007063; }
.np-team-task.is-done { background: #f7fbfa; }
.np-team-task.is-cancelled { opacity: .7; }
.np-team-task.is-overdue { border-color: rgba(194, 65, 49, .38); }
.np-team-task header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.np-team-task header > div { display: flex; gap: 6px; flex-wrap: wrap; }
.np-team-task header > b, .np-team-task-priority, .np-team-task-new {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: .72rem;
}
.np-team-task header > b { color: #007063; background: #e8f5f2; }
.np-team-task-priority { color: #53686d; background: #edf2f1; font-weight: 800; }
.np-team-task-priority.is-high { color: #7c5613; background: #fff2d9; }
.np-team-task-priority.is-urgent { color: #a22b20; background: #fff0ee; }
.np-team-task-new { color: #fff; background: #007063; font-weight: 900; }
.np-team-task h3 { margin: 16px 0 7px; color: #101827; font-size: 1.2rem; font-weight: 500; }
.np-team-task > p { margin: 0 0 13px; color: #526970; line-height: 1.9; }
.np-team-task-meta { display: flex; gap: 12px; flex-wrap: wrap; color: #6b7f83; font-size: .78rem; }
.np-team-task-meta span { display: inline-flex; align-items: center; gap: 6px; }
.np-team-task-meta strong { color: #b42318; }
.np-team-task-action { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; margin-top: 17px; padding-top: 15px; border-top: 1px solid #e4edeb; }
.np-team-task-action details { flex: 1; min-width: min(100%, 300px); padding: 0; border: 0; }
.np-team-task-action summary { width: max-content; padding: 10px 16px; border-radius: 999px; color: #fff; background: #007063; font-weight: 900; cursor: pointer; list-style: none; }
.np-team-task-action summary::-webkit-details-marker { display: none; }
.np-team-task-action details[open] { display: grid; gap: 8px; width: 100%; padding: 14px; border-radius: 16px; background: #f2f8f6; }
.np-team-task-action details[open] summary { margin-bottom: 7px; }
.np-team-task-action textarea { width: 100%; padding: 10px 12px; resize: vertical; border: 1px solid #d4e3e0; border-radius: 12px; font: inherit; }
.np-team-task-complete { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 13px; border-radius: 14px; color: #006b58; background: #e8f7f2; }
.np-team-task-complete > i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #007063; }
.np-team-task-complete span { display: grid; gap: 4px; }
.np-team-task-complete small { color: #45635e; line-height: 1.8; }
.np-team-notification {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 5px;
  border: 1px solid #e1ebe9;
  border-width: 1px 0 0;
  border-radius: 0;
  color: #173238;
  background: #fff;
}
.np-team-notification > i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #007063; background: #eaf6f3; }
.np-team-notification > span { display: grid; gap: 3px; }
.np-team-notification small, .np-team-notification time { color: #6b7f83; font-size: .75rem; }
.np-team-notification.is-unread { position: relative; border-color: #dce6e4; background: #f4fbf9; }
.np-team-notification.is-unread::after { content: ""; position: absolute; top: 18px; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: #d2ab67; }
.np-team-notification.is-unread strong::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-start: 7px; border-radius: 50%; background: #007063; }
@media (max-width: 900px) { .np-portal-stats--staff { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .np-portal-badge { top: 0; left: 0; }
  .np-portal-stats--staff { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-team-task { padding: 16px; border-radius: 17px; }
  .np-team-task header { align-items: flex-start; }
  .np-team-task-action { display: grid; }
  .np-team-task-action .btn, .np-team-task-action summary { width: 100%; justify-content: center; text-align: center; }
  .np-team-notification { grid-template-columns: 38px 1fr; }
  .np-team-notification > i { width: 38px; height: 38px; }
  .np-team-notification time { grid-column: 2; }
}
