/* Keep SimplyValue branding and behavior while matching the ADVANCE PPM shell. */
:root { --sv-header-height: 56px; --sv-nav-width: 248px; }
.app-shell .shell-header {
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 22px !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  background: #354a5f !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / 18%) !important;
}
.app-shell .shell-header .product-mark {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 1px !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}
.app-shell .shell-header .shell-title {
  max-width: min(32vw, 430px) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}
.app-shell .shell-header .shell-spacer { flex: 1; min-width: 0 !important; }
.app-shell .shell-header .project-selector,
.app-shell .shell-header .user-menu {
  width: auto !important;
  min-height: 34px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  gap: 10px !important;
}
.app-shell .shell-header .project-selector { padding-left: 12px !important; border-left: 1px solid rgb(255 255 255 / 24%) !important; }
.app-shell .shell-header .project-selector select,
.app-shell .shell-header .user-menu select {
  min-height: 32px !important;
  border: 1px solid rgb(255 255 255 / 35%) !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #1d2d3e !important;
}
.app-shell .shell-header .user-menu > :is(button, a) {
  min-height: 30px !important;
  padding: 4px 7px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none;
}
.app-shell .shell-header .user-menu > :is(button, a):hover { background: rgb(255 255 255 / 12%) !important; }
.app-shell .shell-header .profile-avatar {
  display: grid !important;
  place-items: center;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #eaf4ff !important;
  color: #0a6ed1 !important;
  font-weight: 700;
}
.app-shell .shell-body { grid-template-columns: 248px minmax(0, 1fr) !important; }
.app-shell .sidebar {
  top: 56px;
  height: calc(100vh - 56px);
  padding: 16px 12px !important;
  border-right: 1px solid #d5dadd !important;
  background: #fff !important;
}
.app-shell .sidebar .nav-group {
  min-height: 32px;
  margin: 14px 0 6px !important;
  padding: 6px 12px !important;
  border-radius: 9px !important;
  color: #5f6b7a !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}
.app-shell .sidebar .nav-group:hover:not(:disabled) { background: #f2f7fc !important; color: #0a6ed1 !important; }
.app-shell .sidebar nav a {
  min-height: 40px !important;
  margin: 0 0 4px !important;
  padding: 9px 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #314256 !important;
  font-weight: 600 !important;
}
.app-shell .sidebar nav a .nav-icon { width: 22px; min-width: 22px; color: #2d3f55 !important; }
.app-shell .sidebar nav a:hover,
.app-shell .sidebar nav a.active { background: #eaf4ff !important; color: #0a6ed1 !important; }
.app-shell .sidebar nav a:hover .nav-icon,
.app-shell .sidebar nav a.active .nav-icon { color: #0a6ed1 !important; }

/* The users table follows the compact overview used in ADVANCE PPM. */
.platform-users-overview .platform-user-overview-table th,
.platform-users-overview .platform-user-overview-table td { text-align: left; padding: 11px 10px; vertical-align: top; }
.platform-users-overview .platform-user-overview-table th {
  background: #f5f7f9;
  color: #5f6b7a;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.platform-users-overview .platform-user-overview-table td { border-bottom: 1px solid #edf0f2; }
.platform-users-overview .platform-user-overview-table tr:hover td { background: #fbfdff; }
.platform-users-overview .platform-user-overview-table td small { color: #5f6b7a; }
.platform-users-overview .platform-user-actions { white-space: nowrap; }
.platform-users-overview .platform-user-actions button { padding: 4px 7px !important; color: #0a6ed1 !important; }

@media (max-width: 1100px) {
  .app-shell .shell-body { display: block !important; }
  .app-shell .sidebar {
    position: fixed !important;
    top: 56px !important;
    bottom: 0;
    left: 0;
    width: min(320px, 86vw) !important;
    height: auto !important;
    transform: translateX(-105%);
  }
  .app-shell .sidebar.is-open { transform: translateX(0); }
}
@media (max-width: 760px) {
  :root { --sv-header-height: 104px; }
  .app-shell .shell-header {
    height: 104px !important;
    min-height: 104px !important;
    padding: 6px 10px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    align-content: center;
  }
  .app-shell .shell-header .shell-title { max-width: 26vw !important; }
  .app-shell .shell-header .project-selector {
    display: flex !important;
    order: 3;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .app-shell .shell-header .project-selector select { min-width: 0 !important; width: 100% !important; }
  .app-shell .shell-header .user-menu { margin-left: auto; }
  .app-shell .shell-header .density-toggle,
  .app-shell .shell-header .profile-link { display: none !important; }
  .app-shell .shell-header .header-action { display: inline-flex !important; }
  .app-shell .sidebar { top: 104px !important; }
}

/* Shared BITCons modes: focused tasks, compact work, parallel desktop views. */
.app-shell {
  --sv-header-height: 56px;
  --sv-nav-width: 224px;
  --bc-shell-height: var(--sv-header-height);
  --bc-nav-width: var(--sv-nav-width);
}
.app-shell .shell-body { grid-template-columns: var(--sv-nav-width) minmax(0, 1fr) !important; }
.app-shell .sidebar { top: var(--sv-header-height); height: calc(100dvh - var(--sv-header-height)); }
.app-shell .navigation-backdrop { top: var(--sv-header-height); }
.app-shell .content { min-width: 0; }
.app-shell .content > *,
.app-shell .workspace-grid > *,
.app-shell .tenant-dashboard-grid > * { min-width: 0; }

@media (min-width: 768px) and (max-width: 1439px) {
  .app-shell .content { padding-inline: 18px !important; }
  .app-shell .sv-dashboard-page .workspace-hero { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .app-shell .sv-dashboard-page .workspace-hero { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 1440px) {
  .app-shell .content { padding-inline: 24px !important; }
  .app-shell .sv-dashboard-page .workspace-hero { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
  .app-shell .shell-menu-toggle { display: inline-grid !important; place-items: center; }
  .app-shell .sidebar { top: var(--sv-header-height) !important; height: auto !important; }
}
@media (max-width: 1000px) {
  .app-shell { --sv-header-height: 104px; --bc-shell-height: var(--sv-header-height); }
  .app-shell .shell-header { height: var(--sv-header-height) !important; min-height: var(--sv-header-height) !important; flex-wrap: wrap !important; align-content: center; gap: 8px !important; }
  .app-shell .shell-header .project-selector { display: flex !important; order: 10; flex: 1 1 100%; width: 100% !important; max-width: none; margin: 0 !important; padding: 0 !important; border: 0 !important; }
  .app-shell .shell-header .project-selector select { flex: 1 1 0; width: 100% !important; max-width: none; min-width: 0 !important; }
  .app-shell .sidebar { top: var(--sv-header-height) !important; }
}
@media (max-width: 767px) {
  .app-shell .content { padding-inline: 12px !important; }
  .app-shell .sv-dashboard-page .workspace-hero { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .app-shell .form-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 479px) {
  .app-shell .content { padding-inline: 8px !important; }
  .app-shell .sv-dashboard-page .workspace-hero { grid-template-columns: minmax(0, 1fr) !important; }
}
