/* ShiftNevis profile mobile app v4 — canonical desktop flow, native mobile presentation. */
@media (max-width: 760px) {
  body:has(.profile-mobile-canonical) {
    background: #f7f5fb;
  }

  body:has(.profile-mobile-canonical) .content {
    padding: 8px 8px calc(72px + env(safe-area-inset-bottom, 0px) + 12px) !important;
  }

  body:has(.profile-mobile-canonical) .dashboard-footer,
  body:has(.profile-mobile-canonical) .footer,
  body:has(.profile-mobile-canonical) .back-to-top,
  body:has(.profile-mobile-canonical) .mobile-owner-row {
    display: none !important;
  }

  .profile-mobile-canonical {
    width: 100%;
    display: grid;
    gap: 10px;
  }

  /* One top navigation strip; the launcher-style duplicate navigation is retired. */
  .profile-mobile-canonical .profile-section-nav {
    display: none !important;
  }

  .profile-mobile-canonical > .profile-policy-tabs-wrap {
    width: 100%;
    margin: 0 !important;
  }

  .profile-mobile-canonical .profile-policy-tabs {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 5px !important;
    border: 1px solid #e2d8f2 !important;
    border-radius: 17px !important;
    background: #f7f3ff !important;
    box-shadow: 0 6px 18px rgba(48, 35, 72, 0.04) !important;
  }

  .profile-mobile-canonical .profile-policy-tabs__item {
    min-height: 44px !important;
    gap: 6px !important;
    padding: 8px 7px !important;
    border-radius: 12px !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  .profile-mobile-canonical .profile-policy-tabs__item i {
    font-size: 12px !important;
  }

  .profile-mobile-canonical .profile-policy-tabs__item.is-active {
    border-color: #d9c8fa !important;
    background: #fff !important;
    box-shadow: 0 5px 13px rgba(109, 40, 217, 0.075) !important;
  }

  /* Keep the same page hierarchy as desktop, but turn the heading into a compact app section header. */
  .profile-mobile-canonical .profile-page-head {
    box-sizing: border-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 13px !important;
    border: 1px solid #e6deef !important;
    border-radius: 17px !important;
    background: linear-gradient(145deg, #fff, #fbf9ff) !important;
    box-shadow: 0 5px 16px rgba(42, 31, 63, 0.035) !important;
  }

  .profile-mobile-canonical .profile-page-head h2 {
    margin: 0 !important;
    color: #261f30 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 950 !important;
  }

  .profile-mobile-canonical .profile-page-head p {
    margin: 4px 0 0 !important;
    color: #857c8f !important;
    font-size: 9px !important;
    line-height: 1.65 !important;
    font-weight: 750 !important;
  }

  .profile-mobile-canonical .profile-primary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .profile-mobile-canonical #profile-center,
  .profile-mobile-canonical #profile-owner,
  .profile-mobile-canonical #profile-structure,
  .profile-mobile-canonical .profile-policy-inline {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: visible !important;
    border: 1px solid #e3dbea !important;
    border-radius: 19px !important;
    background: #fff !important;
    box-shadow: 0 7px 21px rgba(42, 31, 63, 0.04) !important;
  }

  .profile-mobile-canonical #profile-center > .panel__head,
  .profile-mobile-canonical #profile-owner > .panel__head,
  .profile-mobile-canonical #profile-structure > .panel__head {
    min-height: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 9px !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #eee8f3 !important;
  }

  .profile-mobile-canonical .panel__head h3 {
    margin: 0 !important;
    color: #2b2335 !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    font-weight: 950 !important;
  }

  .profile-mobile-canonical .panel__head h3 i {
    margin-left: 5px !important;
    color: #6d28d9 !important;
  }

  .profile-mobile-canonical .panel__head p {
    margin: 3px 0 0 !important;
    color: #8b8295 !important;
    font-size: 8.5px !important;
    line-height: 1.65 !important;
    font-weight: 730 !important;
  }

  .profile-mobile-canonical .profile-entity-level,
  .profile-mobile-canonical .verified-mobile {
    flex: 0 0 auto !important;
    min-height: 25px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 7.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Center form keeps the desktop information order while fitting the phone. */
  .profile-mobile-canonical #profile-center .profile-entity-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .profile-mobile-canonical #profile-center .profile-entity-form > .field {
    min-width: 0 !important;
    grid-column: auto !important;
    margin: 0 !important;
  }

  .profile-mobile-canonical #profile-center .profile-entity-form > .field:first-child,
  .profile-mobile-canonical #profile-center .profile-entity-form > .field:last-child {
    grid-column: 1 / -1 !important;
  }

  .profile-mobile-canonical #profile-owner .profile-personal-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .profile-mobile-canonical #profile-owner .profile-personal-form > .field {
    min-width: 0 !important;
    grid-column: 1 !important;
    margin: 0 !important;
  }

  .profile-mobile-canonical .field__label {
    min-height: 23px !important;
    display: flex !important;
    align-items: flex-end !important;
    margin: 0 !important;
    padding: 0 1px 5px !important;
    color: #554c60 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
  }

  .profile-mobile-canonical .input,
  .profile-mobile-canonical .select {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #e2d8ef !important;
    border-radius: 14px !important;
    color: #2e2637 !important;
    background-color: #fff !important;
    box-shadow: 0 3px 10px rgba(58, 38, 86, 0.025) !important;
    font-family: var(--font) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .profile-mobile-canonical #profile-center select.select {
    padding-right: 12px !important;
    padding-left: 40px !important;
    background-position: left 12px center !important;
  }

  .profile-mobile-canonical .input:focus,
  .profile-mobile-canonical .select:focus {
    outline: none !important;
    border-color: #bda4ed !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.08) !important;
  }

  .profile-mobile-canonical .field__hint {
    min-height: 18px !important;
    margin: 0 !important;
    padding-top: 5px !important;
    color: #9a90a7 !important;
    font-size: 7.5px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
  }

  .profile-mobile-canonical .profile-file-control {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
    border: 1.5px dashed #cab5f2 !important;
    border-radius: 14px !important;
    color: #6d28d9 !important;
    background: #fcfaff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
  }

  .profile-mobile-canonical .profile-entity-save,
  .profile-mobile-canonical .profile-save-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin: 11px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #eee8f3 !important;
  }

  .profile-mobile-canonical .profile-entity-save > span {
    color: #877d91 !important;
    font-size: 8px !important;
    line-height: 1.5 !important;
  }

  .profile-mobile-canonical .profile-entity-save .btn,
  .profile-mobile-canonical .profile-save-row .btn {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
  }

  .profile-mobile-canonical .profile-autosave-row {
    min-height: 0 !important;
    margin-top: 9px !important;
    padding-top: 8px !important;
  }

  .profile-mobile-canonical .profile-autosave-status {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: 8px !important;
  }

  /* Structure keeps the desktop center → department → group hierarchy. */
  .profile-mobile-canonical #profile-structure .profile-structure-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-structure-head .toolbar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-structure-head .btn {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 7px 8px !important;
    border-radius: 11px !important;
    font-size: 8px !important;
    white-space: normal !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "center" "branches" !important;
    gap: 10px !important;
    direction: rtl !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__center {
    position: static !important;
    padding: 12px !important;
    border-radius: 15px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__department {
    border-radius: 15px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__department-head {
    padding: 11px 12px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__department-title .profile-tree__node-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__department-title b {
    font-size: 13px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__group {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    padding: 11px !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    justify-content: stretch !important;
  }

  .profile-mobile-canonical #profile-structure .profile-tree__actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 6px !important;
    font-size: 8px !important;
  }

  .profile-mobile-canonical .profile-policy-inline {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .profile-mobile-canonical .profile-policy-inline__loading {
    min-height: 150px !important;
    border-radius: 17px !important;
  }
}

@media (max-width: 390px) {
  .profile-mobile-canonical .profile-policy-tabs__item {
    min-height: 42px !important;
    padding: 7px 5px !important;
    font-size: 10px !important;
  }

  .profile-mobile-canonical #profile-center .profile-entity-form {
    gap: 8px !important;
  }

  .profile-mobile-canonical .profile-page-head,
  .profile-mobile-canonical #profile-center,
  .profile-mobile-canonical #profile-owner,
  .profile-mobile-canonical #profile-structure {
    border-radius: 16px !important;
  }
}
