.v2-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0;
  color: var(--v2-muted);
  font-size: 10px;
}

.v2-calendar-legend span { display: inline-flex; align-items: center; gap: 4px; }
.v2-calendar-legend i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.v2-month-calendar .has-orders { box-shadow: inset 0 -3px 0 currentColor; }
.status-pending-assign { color: #ff7f82 !important; }
.status-assigned { color: #58a8ff !important; }
.status-processing { color: #f4b85b !important; }
.status-pending-review { color: #c58cff !important; }
.status-pending-acceptance { color: #5ee0d0 !important; }
.status-closed { color: #62d998 !important; }

.v2-project-directory__row > span { min-width: 0; }
.v2-project-directory__row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-iot-interfaces { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 14px; margin: 12px 14px 14px; padding-top: 11px; border-top: 1px solid var(--v2-line); font-size: 10px; }
.v2-iot-interfaces b { color: #c8dcde; }
.v2-iot-interfaces span { color: var(--v2-green); }

/* Keep account actions available on compact screens. */
.v2-tools #v2ChangePassword, .v2-tools #v2Logout { display: inline-flex; align-items: center; white-space: nowrap; }
@media (max-width: 1280px) {
  .v2-tools { flex-wrap: wrap; justify-content: flex-end; gap: 5px; max-width: 230px; }
  .v2-tools #v2Clock { display: none; }
}

#v2OpenLogin[hidden], #v2ChangePassword[hidden], #v2Logout[hidden] { display: none !important; }
#v2ReturnScreen { background: transparent; border: 1px solid #2a6570; color: #b9d4da; }

.v2-filings {
  grid-column: 3;
  grid-row: 1;
  justify-self: start;
  display: grid;
  gap: 3px;
  margin-left: 16px;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
.v2-filings a { color: #b9d4da; text-decoration: none; }
.v2-filings a:hover, .v2-filings a:focus-visible { color: #65dbc9; text-decoration: underline; }
.v2-tools { grid-column: 3; grid-row: 1; }
@media (max-width: 1800px) {
  .v2-filings {
    position: absolute;
    grid-column: 1 / -1;
    top: 56px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    margin-left: 0;
    font-size: 9px;
  }
}
@media (max-width: 800px) {
  .v2-filings { gap: 6px; font-size: 8px; }
}
